Einführung
In diesem Lab erfahren Sie, wie Sie Pods in Kubernetes mithilfe von Deployments skalieren und verwalten können. Deployments sind eine höherwertige Abstraktion, die es Ihnen ermöglicht, Replikate von Pods deklarativ zu verwalten und zu skalieren. Mit Deployments können Sie Ihre Anwendung problemlos auf eine neue Version aktualisieren, auf eine frühere Version zurücksetzen und Ihre Anwendung je nach Bedarf hoch- oder herunterskalieren.
Starten Sie das Minikube-Cluster
Bevor Sie Ressourcen erstellen können, benötigen Sie einen laufenden Kubernetes-Cluster. Minikube ist eine leichte Kubernetes-Umgebung, die auf Ihrem lokalen Rechner läuft.
Navigieren Sie in Ihr Arbeitsverzeichnis:
Öffnen Sie das Terminal und navigieren Sie in den Standardprojektordner:
cd /home/labex/projectStarten Sie Minikube:
Starten Sie Minikube, um einen Kubernetes-Cluster zu initialisieren:
minikube start- Dieser Befehl richtet einen Ein-Knoten-Kubernetes-Cluster auf Ihrem lokalen Rechner ein.
- Je nach Leistung Ihres Systems kann es einige Minuten dauern, bis Minikube gestartet ist.
Vergewissern Sie sich, dass Minikube läuft:
Überprüfen Sie den Status des Minikube-Clusters:
minikube status- Achten Sie darauf, dass Komponenten wie
kubeletundapiserveralsRunningaufgeführt sind. - Wenn der Cluster nicht läuft, führen Sie
minikube starterneut aus.
- Achten Sie darauf, dass Komponenten wie
Falls Sie Probleme beim Starten von Minikube haben, können Sie minikube delete verwenden, um die Umgebung bei Bedarf zurückzusetzen.
Erstellen Sie ein Deployment
- Erstellen Sie eine Datei namens
my-deployment.yamlin/home/labex/project/mit folgendem Inhalt:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: nginx:latest
ports:
- containerPort: 80
Diese YAML-Datei definiert ein Deployment mit 3 Replikaten, das einen Nginx-Container ausführt. Das Feld selector wählt die von dem Deployment kontrollierten Pods anhand der app-Bezeichnung (Label) aus.
- Stellen Sie das
my-deploymentDeployment bereit:
kubectl apply -f my-deployment.yaml
Dadurch wird das my-deployment Deployment sowie die zugehörigen ReplicaSets und Pods erstellt.
- Vergewissern Sie sich, dass das Deployment erstellt wurde:
kubectl get deployments
Dadurch werden Ihnen die Deployments in Ihrem Cluster angezeigt, einschließlich des my-deployment Deployments.
Skalieren Sie das Deployment
- Skalieren Sie das
my-deploymentDeployment auf 5 Replikate hoch:
kubectl scale deployment my-deployment --replicas=5
Dadurch wird die Anzahl der Replikate im my-deployment Deployment auf 5 erhöht.
- Vergewissern Sie sich, dass das Deployment skaliert wurde:
kubectl get deployments
Dadurch werden Ihnen die Deployments in Ihrem Cluster angezeigt, einschließlich des my-deployment Deployments mit 5 Replikaten.
Aktualisieren Sie das Deployment
- Bearbeiten Sie das
my-deploymentDeployment, um dasnginx:1.19-Image zu verwenden:
kubectl edit deployment my-deployment
Dadurch wird das Deployment in Ihrem Standardtexteditor geöffnet. Ändern Sie das image-Feld in nginx:1.19 und speichern Sie die Datei.
- Vergewissern Sie sich, dass das Deployment aktualisiert wurde:
kubectl rollout status deployment/my-deployment
Dadurch wird Ihnen der Status des neuesten Rollouts des my-deployment Deployments angezeigt.
Das Deployment zurückrollen
- Setzen Sie das
my-deploymentDeployment auf die vorherige Version zurück:
kubectl rollout undo deployment/my-deployment
Dadurch wird das my-deployment Deployment auf die vorherige Version zurückgesetzt.
- Vergewissern Sie sich, dass das Deployment rückgängig gemacht wurde:
kubectl rollout status deployment/my-deployment
Dadurch wird Ihnen der Status des neuesten Rollouts des my-deployment Deployments angezeigt.
Aufräumen
- Löschen Sie das
my-deploymentDeployment:
kubectl delete deployment my-deployment
Dadurch wird das my-deployment Deployment sowie die zugehörigen ReplicaSets und Pods gelöscht.
Zusammenfassung
In diesem Lab haben Sie gelernt, wie Sie Deployments in Kubernetes erstellen und verwalten. Sie haben ein Deployment mit 3 Replikaten erstellt, das Deployment auf 5 Replikate skaliert, das Deployment aktualisiert, um ein anderes Image zu verwenden, und das Deployment auf die vorherige Version zurückgesetzt.


