So verwalten Sie Kubernetes-Cluster mit kubectl
Mit dem Befehl kubectl interagieren Administratoren mit einem Kubernetes-Cluster auf einem Linux-System und verwalten diesen. Es ist ein unverzichtbares Befehlszeilentool, das mit allen Kubernetes-Cluster-Umgebungen wie Amazon Web Services, Google Cloud Platform oder einem Cluster auf Ihrer eigenen Hardware (z. B. kubeadm) funktioniert. Die Verwaltung von Kubernetes-Clustern in großem Maßstab kann anfangs eine Herausforderung sein, aber die Beherrschung des kubectl-Befehls wird es viel einfacher machen.
In diesem Tutorial lernen wir, wie man Kubernetes-Cluster mit dem kubectl-Befehl verwaltet. Wir werden verschiedene Befehlsoptionen untersuchen und sehen, wie Sie kubectl effektiv verwenden können, sowie einige Tipps und Tricks, um die Verwendung von kubectl zu vereinfachen.
In diesem Tutorial lernen Sie:
- Verwenden von
kubectl-Befehlenfür einen Kubernetes-Cluster
Verwalten von Kubernetes-Clustern mit kubectl
Die folgenden Beispiele zeigen einige der gängigsten und wichtigsten kubectl-Befehle, die für einen Kubernetes-Cluster unter Linux verwendet werden können.
Falls Sie es noch nicht haben, müssen Sie kubectl separat von Kubernetes installieren. Der Befehl
kubectl funktioniert dann mit jeder Art von Kubernetes, die Sie ausführen, z. B. kubeadm oder minikube usw. -
Um eine Manifestdatei anzuwenden, die auch eine Anwendung in Kubernetes bereitstellen kann, können wir die folgende Syntax verwenden:
kubectl apply -f ./application.yamlAuf diese Weise kann unsere benutzerdefinierte containerisierte Docker-Anwendung oder eine Anwendung bereitgestellt werden, die wir aus einem zentralen Repository wie Docker Hub abrufen.
Wir können eine Bereitstellung auch
mit demdelete-Parameter löschen. Hier sind einige Beispiele:kubectl delete deployment my-applicationOder geben Sie die Datei an:
kubectl delete -f application.yamlRufen Sie Informationen zu allen Kubernetes-Pods in Ihrem Netzwerk ab mit:
kubectl get podsOder die ausführlichere Version, die Pods in allen Namensräumen anzeigt:
kubectl get pods --all-namespacesBeachten Sie, dass die Befehlsoption
--all-namespacesauch auf-Agekürzt werden kann:kubectl get pods -AHier finden Sie Informationen zu allen konfigurierten Knoten in Ihrem Kubernetes-Cluster:
kubectl get nodesMit dem folgenden Befehl, der vom Kubernetes-Maser-Knoten ausgegeben wird, sehen Sie eine laufende Liste aller verfügbaren Dienste, die in Ihrem Cluster ausgeführt werden:
kubectl get svc-
Rufen Sie Details zu einem bestimmten Pod ab, der bereitgestellt wurde (in diesem Beispiel ein Pod mit dem Namen "apache"):
kubectl get pods/apacheUnd detailliertere Informationen mit dem Argument
beschreiben:kubectl describe pods/apache Sehen Sie sich die Protokolle für einen bestimmten Pod an:
kubectl logs my-podWir
können denrun-Parameter verwenden, um mit dem Ausführen eines Bildes zu beginnen. Nehmen wir zum Beispiel Nginx:kubectl run --image=nginx nginx-server --port=80 --env="DOMAIN=cluster"Wir können dann Port 80 verfügbar machen:
kubectl expose deployment nginx-deployment --port=80 --name=nginx-httpDer Befehl
kubectlist auch beim Skalieren von Ressourcen unerlässlich. So skalieren Sie die Bereitstellung von 'mysql' auf 5 Replikate:kubectl scale --replicas=5 deployment/mysqlOder um Ressourcen wie in einer YAML-Datei angegeben zu skalieren:
kubectl scale --replicas=5 -f mysql.yamlUm alle Pods von einem Knoten zu leeren (z. B. um Wartungsarbeiten am Knoten durchzuführen, ohne dass dies zu Unterbrechungen des Kubernetes-Clusters führt):
kubectl drain worker-nodeSo zeigen Sie alle Informationen zu Ihrem Kubernetes-Cluster an:
kubectl cluster-info
Abschließende Gedanken
In diesem Tutorial haben wir gesehen, wie Sie den Befehl kubectl verwenden, um einen Kubernetes-Cluster auf einem Linux-System zu verwalten. Das Erlernen der Verwendung von kubectl ist für Administratoren unerlässlich, um neue Bereitstellungen und Pods zu erstellen und Knoten über die Befehlszeile zu verwalten. Es ermöglicht uns auch, Protokolle zu überprüfen und jederzeit einen aktuellen Status der Funktionsweise des Clusters und seiner einzelnen Komponenten anzuzeigen.

