Kubernetes Set-Befehl

KubernetesKubernetesBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL kubernetes(("Kubernetes")) -.-> kubernetes/BasicsGroup(["Basics"]) kubernetes(("Kubernetes")) -.-> kubernetes/BasicCommandsGroup(["Basic Commands"]) kubernetes(("Kubernetes")) -.-> kubernetes/ConfigurationandVersioningGroup(["Configuration and Versioning"]) kubernetes(("Kubernetes")) -.-> kubernetes/ClusterInformationGroup(["Cluster Information"]) kubernetes(("Kubernetes")) -.-> kubernetes/TroubleshootingandDebuggingCommandsGroup(["Troubleshooting and Debugging Commands"]) kubernetes/BasicsGroup -.-> kubernetes/initialization("Initialization") kubernetes/BasicCommandsGroup -.-> kubernetes/get("Get") kubernetes/BasicCommandsGroup -.-> kubernetes/create("Create") kubernetes/BasicCommandsGroup -.-> kubernetes/set("Set") kubernetes/BasicCommandsGroup -.-> kubernetes/run("Run") kubernetes/BasicCommandsGroup -.-> kubernetes/annotate("Annotate") kubernetes/ClusterInformationGroup -.-> kubernetes/cluster_info("Cluster Info") kubernetes/TroubleshootingandDebuggingCommandsGroup -.-> kubernetes/describe("Describe") kubernetes/ConfigurationandVersioningGroup -.-> kubernetes/label("Label") subgraph Lab Skills kubernetes/initialization -.-> lab-8424{{"Kubernetes Set-Befehl"}} kubernetes/get -.-> lab-8424{{"Kubernetes Set-Befehl"}} kubernetes/create -.-> lab-8424{{"Kubernetes Set-Befehl"}} kubernetes/set -.-> lab-8424{{"Kubernetes Set-Befehl"}} kubernetes/run -.-> lab-8424{{"Kubernetes Set-Befehl"}} kubernetes/annotate -.-> lab-8424{{"Kubernetes Set-Befehl"}} kubernetes/cluster_info -.-> lab-8424{{"Kubernetes Set-Befehl"}} kubernetes/describe -.-> lab-8424{{"Kubernetes Set-Befehl"}} kubernetes/label -.-> lab-8424{{"Kubernetes Set-Befehl"}} end

Starten eines Kubernetes-Clusters

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.

  1. Öffnen Sie ein Terminal und starten Sie Minikube:

    minikube start

    Dies initialisiert einen lokalen Kubernetes-Cluster. Minikube weist automatisch die entsprechenden Ressourcen zu, aber Sie können diese bei Bedarf mit Flags wie --cpus und --memory anpassen.

  2. Überprüfen Sie, ob Minikube läuft:

    kubectl cluster-info

    Stellen Sie sicher, dass die Ausgabe bestätigt, dass der Cluster betriebsbereit ist.

Erstellen einer Bereitstellung (Deployment)

Sobald der Cluster läuft, erstellen Sie eine einfache Kubernetes-Bereitstellung (deployment) mit dem Namen hello-world mithilfe des nginx-Images.

  1. Führen Sie den folgenden Befehl aus, um die Bereitstellung zu erstellen:

    kubectl create deployment hello-world --image=nginx

    Dieser Befehl erstellt eine Bereitstellung namens hello-world mit einer Replik (replica) des nginx-Containers.

  2. Überprüfen Sie, ob die Bereitstellung erfolgreich erstellt wurde:

    kubectl get deployments

    Prüfen Sie die Ausgabe, um sicherzustellen, dass hello-world in der Liste der Bereitstellungen erscheint.

Entdecken des kubectl set-Befehls

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.

  1. Führen Sie den folgenden Befehl aus, um die verfügbaren kubectl set-Unterbefehle anzuzeigen:

    kubectl set -h

    Sie 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 set verwendet werden kann.

  2. Verwenden Sie kubectl set --help, um bei Bedarf weitere Details zu jedem Unterbefehl zu erkunden.

Aktualisieren des Container-Images

Als Nächstes aktualisieren Sie das Container-Image in der hello-world-Bereitstellung (deployment) auf eine bestimmte Version.

  1. Verwenden Sie den kubectl set-Befehl, um das Container-Image auf nginx:1.19.10 zu aktualisieren:

    kubectl set image deployment/hello-world nginx=nginx:1.19.10

    Dieser Befehl aktualisiert den nginx-Container in der hello-world-Bereitstellung.

  2. Ü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.10 anzeigt.

Konfigurieren von 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.

  1. Konfigurieren Sie CPU- und Speicheranforderungen sowie -limits:

    kubectl set resources deployment/hello-world --limits=cpu=1,memory=512Mi --requests=cpu=500m,memory=256Mi

    Dieser Befehl setzt die Ressourcenanforderungen auf 500m CPU und 256Mi Speicher und die Limits auf 1 CPU und 512Mi Speicher.

  2. Überprüfen Sie die Ressourceneinstellungen, indem Sie die Bereitstellung beschreiben:

    kubectl describe deployment hello-world

    Prüfen Sie die Abschnitte Limits und Requests in der Ausgabe, um die Konfiguration zu bestätigen.

Ändern von Labels auf 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.

  1. Fügen Sie der hello-world-Bereitstellung ein Label environment=development hinzu:

    kubectl label deployment hello-world environment=development

    Dieser Befehl fügt der Bereitstellung ein neues Label hinzu.

  2. Überprüfen Sie, ob das Label angewendet wurde:

    kubectl get deployment hello-world --show-labels

    Prüfen Sie die Spalte LABELS auf das Label environment=development.

Aktualisieren von Anmerkungen (Annotations) auf 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.

  1. Fügen Sie der hello-world-Bereitstellung eine Anmerkung owner=team-alpha hinzu:

    kubectl annotate deployment hello-world owner=team-alpha

    Dieser Befehl fügt der Bereitstellung eine Anmerkung hinzu.

  2. Überprüfen Sie, ob die Anmerkung angewendet wurde:

    kubectl describe deployment hello-world

    Prüfen Sie den Abschnitt Annotations auf owner=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.