Einführung
Der Befehl set in Kubernetes ist ein vielseitiges Werkzeug, das es Ihnen ermöglicht, die Konfiguration bestehender Kubernetes-Ressourcen zu ändern. Mit diesem Befehl können Sie Anpassungen wie das Aktualisieren von Container-Images und die Konfiguration von Ressourcenanforderungen und -limits vornehmen, ohne direkt in YAML-Dateien zu bearbeiten. Dies vereinfacht die Ressourcenverwaltung und erhöht die Betriebseffizienz.
Am Ende dieses Labs werden Sie verstehen, wie Sie:
- Einen Kubernetes-Cluster starten.
- Das Container-Image einer Bereitstellung (deployment) aktualisieren.
- Ressourcenanforderungen und -limits für eine Bereitstellung (deployment) konfigurieren.
- Mit relevanten Befehlen Labels und Anmerkungen (annotations) für eine Bereitstellung (deployment) ändern.
Dieses Lab ist für Anfänger konzipiert und geht davon aus, dass Sie auf einem Ubuntu Linux-System arbeiten, auf dem die Kubernetes-Tools installiert sind. Keine vorherige Erfahrung mit Kubernetes ist erforderlich.
Starte einen Kubernetes-Cluster
Bevor Sie mit Kubernetes-Ressourcen interagieren, stellen Sie sicher, dass ein Kubernetes-Cluster läuft. Für dieses Lab werden wir Minikube verwenden, um einen Ein-Knoten-Kubernetes-Cluster einzurichten.
Öffnen Sie ein Terminal und starten Sie Minikube:
minikube startDies initialisiert einen lokalen Kubernetes-Cluster. Minikube weist automatisch die entsprechenden Ressourcen zu, aber Sie können diese bei Bedarf mit Flags wie
--cpusund--memoryanpassen.Überprüfen Sie, ob Minikube läuft:
kubectl cluster-infoStellen Sie sicher, dass die Ausgabe bestätigt, dass der Cluster betriebsbereit ist.
Erstelle eine Bereitstellung (Deployment)
Sobald der Cluster läuft, erstellen Sie eine einfache Kubernetes-Bereitstellung (deployment) mit dem Namen hello-world mithilfe des nginx-Images.
Führen Sie den folgenden Befehl aus, um die Bereitstellung zu erstellen:
kubectl create deployment hello-world --image=nginxDieser Befehl erstellt eine Bereitstellung namens
hello-worldmit einer Replik (replica) desnginx-Containers.Überprüfen Sie, ob die Bereitstellung erfolgreich erstellt wurde:
kubectl get deploymentsPrüfen Sie die Ausgabe, um sicherzustellen, dass
hello-worldin der Liste der Bereitstellungen erscheint.
Entdecken Sie den kubectl set-Befehl
Der kubectl set-Befehl bietet mehrere Unterbefehle (subcommands), um Anwendungsressourcen zu konfigurieren und zu ändern. Er hilft bei der Verwaltung spezifischer Aspekte wie Umgebungsvariablen, Container-Images und Ressourceneinstellungen.
Führen Sie den folgenden Befehl aus, um die verfügbaren
kubectl set-Unterbefehle anzuzeigen:kubectl set -hSie werden die folgende Ausgabe sehen:
Configure application resources. These commands help you make changes to existing application resources. Available Commands: env Update environment variables on a pod template image Update the image of a pod template resources Update resource requests/limits on objects with pod templates selector Set the selector on a resource serviceaccount Update the service account of a resource subject Update the user, group, or service account in a role binding or cluster role binding Usage: kubectl set SUBCOMMAND [options] Use "kubectl --help" for more information about a given command. Use "kubectl options" for a list of global command-line options (applies to all commands).Überprüfen Sie die verfügbaren Unterbefehle und ihre Beschreibungen, um zu verstehen, wie
kubectl setverwendet werden kann.Verwenden Sie
kubectl set --help, um bei Bedarf weitere Details zu jedem Unterbefehl zu erkunden.
Aktualisiere das Container-Image
Als Nächstes aktualisieren Sie das Container-Image in der hello-world-Bereitstellung (deployment) auf eine bestimmte Version.
Verwenden Sie den
kubectl set-Befehl, um das Container-Image aufnginx:1.19.10zu aktualisieren:kubectl set image deployment/hello-world nginx=nginx:1.19.10Dieser Befehl aktualisiert den
nginx-Container in derhello-world-Bereitstellung.Überprüfen Sie die Image-Aktualisierung, indem Sie das Container-Image abfragen:
kubectl get deployment hello-world -o jsonpath='{.spec.template.spec.containers[0].image}'Stellen Sie sicher, dass die Ausgabe
nginx:1.19.10anzeigt.
Konfigurieren Sie Ressourcenanforderungen und -limits
Die Ressourcenverwaltung ist für Kubernetes-Bereitstellungen (deployments) von entscheidender Bedeutung. Legen Sie Ressourcenanforderungen und -limits für die hello-world-Bereitstellung fest.
Konfigurieren Sie CPU- und Speicheranforderungen sowie -limits:
kubectl set resources deployment/hello-world --limits=cpu=1,memory=512Mi --requests=cpu=500m,memory=256MiDieser Befehl setzt die Ressourcenanforderungen auf
500mCPU und256MiSpeicher und die Limits auf1CPU und512MiSpeicher.Überprüfen Sie die Ressourceneinstellungen, indem Sie die Bereitstellung beschreiben:
kubectl describe deployment hello-worldPrüfen Sie die Abschnitte
LimitsundRequestsin der Ausgabe, um die Konfiguration zu bestätigen.
Ändern Sie die Labels der Bereitstellung (Deployment)
Labels helfen bei der Kategorisierung und Organisation von Kubernetes-Ressourcen. Verwenden Sie den kubectl label-Befehl, um Labels auf der Bereitstellung hinzuzufügen oder zu ändern.
Fügen Sie der
hello-world-Bereitstellung ein Labelenvironment=developmenthinzu:kubectl label deployment hello-world environment=developmentDieser Befehl fügt der Bereitstellung ein neues Label hinzu.
Überprüfen Sie, ob das Label angewendet wurde:
kubectl get deployment hello-world --show-labelsPrüfen Sie die Spalte
LABELSauf das Labelenvironment=development.
Aktualisieren Sie die Anmerkungen (Annotations) der Bereitstellung (Deployment)
Anmerkungen (Annotations) bieten Metadaten für Kubernetes-Ressourcen. Verwenden Sie den kubectl annotate-Befehl, um Anmerkungen auf der Bereitstellung hinzuzufügen oder zu aktualisieren.
Fügen Sie der
hello-world-Bereitstellung eine Anmerkungowner=team-alphahinzu:kubectl annotate deployment hello-world owner=team-alphaDieser Befehl fügt der Bereitstellung eine Anmerkung hinzu.
Überprüfen Sie, ob die Anmerkung angewendet wurde:
kubectl describe deployment hello-worldPrüfen Sie den Abschnitt
Annotationsaufowner=team-alpha.
Zusammenfassung
In diesem Lab haben Sie gelernt, wie Sie den Kubernetes-set-Befehl verwenden können, um Bereitstellungen (deployments) effektiv zu verwalten. Sie haben:
- Einen Kubernetes-Cluster gestartet.
- Eine Bereitstellung erstellt.
- Das Container-Image aktualisiert.
- Ressourcenanforderungen und -limits konfiguriert.
- Labels und Anmerkungen (Annotations) mit den entsprechenden Befehlen geändert.
Diese Fähigkeiten sind für die effiziente Verwaltung von Kubernetes-Anwendungen unerlässlich.


