Pod

Le pod est l’unité la plus petite que l’on peut déployer dans un cluster Kubernetes.
C’est une collection de containers qui sont groupés.

Manifest

apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  containers:
  - name: nginx
    image: nginx

ReplicaSet

Permet d’avoir plusieurs instances d’un pod dans un cluster pour absorber la charge et avoir de la résilience.

Manifest

apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: nginx
  namespace: ns-replicaset
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx

Kubernetes ReplicaSet

Deployment

Un deployment crait un replicaSet qui va créer un ou plusieurs pods en fonction du nombre de réplica souhaité.

Manifest

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  namespace: ns-replicaset
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx

Kubernetes Deployment