kubectl ist die Kommandozeilenschnittstelle (CLI) für
die Interaktion mit einem Kubernetes-Cluster. Mit kubectl
können Benutzer Befehle ausführen, um Kubernetes-Objekte zu erzeugen, zu
modifizieren, anzuzeigen und zu löschen.

kubectl kann
zum Erstellen von Objekten wie Pods, Services und Deployments verwendet
werden.kubectl modifiziert werden, beispielsweise um
die Anzahl der Repliken eines Deployments zu ändern.kubectl
ermöglicht es Benutzern, Objekte im Cluster zu löschen.kubectl verwenden, um Informationen über
den Zustand des Clusters, die vorhandenen Objekte und ihre
Konfigurationen anzuzeigen.kubectl
bietet verschiedene Befehle und Optionen zum Untersuchen und Beheben von
Problemen im Cluster.kubectl apply ermöglicht das Erstellen und Aktualisieren
von Ressourcen in einem Kubernetes-Cluster und nutzt einen
Merge-Algorithmus für idempotente Operationen. Im Gegensatz dazu dient
kubectl create ausschließlich dem Erstellen neuer
Ressourcen und ist nicht idempotent. kubectl delete
entfernt Ressourcen, die entweder in einer Manifest-Datei definiert oder
direkt über die Kommandozeile angegeben sind.
kubectl apply: Dieser Befehl führt einen
dreistufigen Merge durch und berücksichtigt den aktuellen Zustand, die
vorherige Konfiguration und die neue Konfiguration, um den gewünschten
Zustand zu erreichen. apply kann wiederholt mit derselben
Konfigurationsdatei verwendet werden, ohne unerwünschte Effekte zu
erzeugen.
kubectl create: Dieser Befehl erstellt Ressourcen basierend auf einer Manifest-Datei. Wird versucht, eine bereits bestehende Ressource erneut zu erstellen, resultiert dies in einem Fehler.
kubectl delete: Mit diesem Befehl lassen sich Ressourcen anhand ihrer Manifest-Datei oder mittels direkter Angabe entfernen.
Beispiele für die Verwendung dieser Befehle sind:
# Aktualisiert oder erstellt den Service
kubectl apply -f mein-service.yaml
# Erstellt den Pod
kubectl create -f mein-pod.yaml
# Entfernt das Deployment
kubectl delete -f mein-deployment.yamlDiese Befehle nehmen den Pfad zu den Manifest-Dateien an, führen die darin definierten Aktionen aus und ermöglichen eine deklarative Verwaltung der Cluster-Konfiguration.
kubectlDie Verwaltung von Pods in einem Kubernetes-Cluster wird häufig durch
das Kommandozeilen-Tool kubectl durchgeführt. Hier sind
einige häufige kubectl-Befehle für Pod-Management-Aufgaben
zusammen mit Beispielen:
Kommando:
kubectl apply -f pod.yamlBeispiel:
Erstellen Sie eine Datei namens pod.yaml mit dem
folgenden Inhalt:
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: mycontainer
image: nginxFühren Sie den Befehl aus:
kubectl apply -f pod.yamlKommando:
kubectl get podsBeispiel:
Um alle Pods im aktuellen Namespace aufzulisten, führen Sie aus:
kubectl get podsKommando:
kubectl describe pod <pod-name>Beispiel:
Um Details zu einem Pod namens mypod zu
erhalten:
kubectl describe pod mypodKommando:
kubectl delete pod <pod-name>Beispiel:
Um einen Pod namens mypod zu löschen:
kubectl delete pod mypodKommando:
kubectl logs <pod-name>Beispiel:
Um die Logs für einen Pod namens mypod
anzuzeigen:
kubectl logs mypodKommando:
kubectl get pods --namespace=<namespace-name>Beispiel:
Um alle Pods im Namespace development
aufzulisten:
kubectl get pods --namespace=developmentKommando:
kubectl exec -it <pod-name> -- /bin/shBeispiel:
Um eine interaktive Shell-Sitzung in einem Pod namens
mypod zu starten:
kubectl exec -it mypod -- /bin/shKommando:
kubectl label pods <pod-name> key=valueBeispiel:
Um einem Pod namens mypod ein Label
environment=production hinzuzufügen:
kubectl label pods mypod environment=productionDiese Befehle bieten eine Grundlage für das Management von Pods in
einem Kubernetes-Cluster mit kubectl. Die
kubectl-Dokumentation und die Hilfeoption
kubectl --help bieten weitere Informationen und Beispiele
für die Verwendung von kubectl zur Verwaltung von Pods und
anderen Ressourcen in Kubernetes.
Die KUBECONFIG Umgebungsvariable kann den Pfad zu einer
oder mehreren kubeconfig Dateien enthalten. Mehrere Pfade
werden durch Doppelpunkt (:) getrennt. Die Konfigurationen
werden in der angegebenen Reihenfolge gelesen und zusammengeführt.
Der Befehl kubectl config view zeigt die effektive,
zusammengeführte Konfiguration an.
kubectl config viewUm den Context zu wechseln, verwenden Sie den Befehl
kubectl config use-context NAME_DES_CONTEXTDer Befehl kubectl config get-contexts listet alle
verfügbaren Kontexte auf.
kubectl config get-contextsMit kubectl config current-context können Sie den
derzeit aktiven Context anzeigen.
kubectl config current-contextkubectl config set-context NAME_DES_CONTEXT --cluster=CLUSTER_NAME --user=USER_NAME --namespace=NAMESPACE
verwendet werden.kubectl config delete-context NAME_DES_CONTEXT.kubectl config set genutzt werden.Diese Befehle und Optionen bieten eine mächtige Möglichkeit zur
Verwaltung verschiedener Kubernetes Cluster und zur Konfiguration der
kubectl CLI-Werkzeuge.