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 | ❌ | ✅ |