Sobes.tech
Middle
819

Was ist eine Replikat-Set und ein Deployment?

Antwort von AI

sobes.tech KI

Ein ReplicaSet stellt eine bestimmte Anzahl identischer Pods im Cluster bereit. Es überwacht den Zustand der Pods und ersetzt automatisch diejenigen, die ausgefallen sind oder nicht mehr funktionieren.

Das Deployment wird über dem ReplicaSet bereitgestellt. Es verwaltet Updates und Rollbacks von Anwendungen und führt eine Versionshistorie des Deployments. Es ermöglicht Updates nach der Strategie des Rolling Update oder recreate.

# Beispiel für ein Deployment-Manifest
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 3 # Legt die gewünschte Anzahl der Pods fest (über ReplicaSet)
  selector:
    matchLabels:
      app: nginx
  strategy:
    type: RollingUpdate # Update-Strategie
    rollingUpdate:
      maxUnavailable: 1
      maxSurge: 1
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2 # Version des Images, die aktualisiert wird
        ports:
        - containerPort: 80

In diesem Beispiel erstellt das Deployment ein ReplicaSet, das 3 Pods mit dem Image nginx:1.14.2 verwaltet. Wenn die Version des Images im Deployment-Manifest geändert wird, erstellt es ein neues ReplicaSet für die neue Version und leitet den Traffic schrittweise darauf um, wobei alte Pods gemäß der RollingUpdate-Strategie entfernt werden.

Vergleichstabelle:

Möglichkeit ReplicaSet Deployment
Garantie der Anzahl der Pods
Anwendung-Updates
Version-Rückrollbacks
Versionshistorie verwalten