GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Liste der kubectl-Befehle mit Beispielen (+kubectl-Spickzettel)

Einführung

Kubectl ist eine Reihe von Befehlen zur Steuerung von Kubernetes-Clustern. Jeder Kubernetes-Befehl hat einen API-Endpunkt, und der Hauptzweck von kubectl besteht darin, HTTP-Anforderungen an die API auszuführen.

Es ist zwar möglich, selbst HTTP-Anfragen zu stellen (z. B. mit curl), aber kubectl wurde entwickelt, um diesen Prozess bequemer und unkomplizierter zu machen.

Dieses Tutorial behandelt alle gängigen kubectl-Operationen und bietet Beispiele, um sich mit der Syntax vertraut zu machen.

Liste der kubectl-Befehle

Verwenden Sie kubectl Befehle, die unten als Kurzreferenz für die Arbeit mit Kubernetes aufgeführt sind.

Auflisten von Ressourcen

Um einen oder mehrere Pods, Replikationscontroller, Dienste oder Daemon-Sets aufzulisten, verwenden Sie kubectl get Befehl.

Generieren Sie eine Klartextliste aller Namespaces:

kubectl get namespaces

Eine Klartextliste aller Pods anzeigen:

kubectl get pods

Generieren Sie eine detaillierte Klartextliste aller Pods, die Informationen wie den Knotennamen enthält:

kubectl get pods -o wide

Zeigen Sie eine Liste aller Pods an, die auf einem bestimmten Knotenserver ausgeführt werden:

kubectl get pods --field-selector=spec.nodeName=[server-name]

Einen bestimmten Replikationscontroller im Klartext auflisten:

kubectl get replicationcontroller [replication-controller-name]

Generieren Sie eine Klartextliste aller Replikationscontroller und -dienste:

kubectl get replicationcontroller,services

Zeigt eine Klartextliste aller Daemon-Sets:

kubectl get daemonset

Eine Ressource erstellen

Erstellen Sie mithilfe von kubectl create eine Ressource wie einen Dienst, eine Bereitstellung, einen Job oder einen Namespace Befehl.

Um beispielsweise einen neuen Namespace zu erstellen, geben Sie Folgendes ein:

kubectl create namespace [namespace-name]

Erstellen Sie eine Ressource aus einer JSON- oder YAML-Datei:

kubectl create -f [filename]

Anwenden und Aktualisieren einer Ressource

Um eine Ressource anzuwenden oder zu aktualisieren, verwenden Sie kubectl apply Befehl. Die Quelle in diesem Vorgang kann entweder eine Datei oder die Standardeingabe (stdin ).

Erstellen Sie einen neuen Dienst mit der Definition, die in einer [Dienstname].yaml-Datei enthalten ist:

kubectl apply -f [service-name].yaml

Erstellen Sie einen neuen Replikationscontroller mit der Definition, die in einer [Controller-Name].yaml-Datei enthalten ist:

kubectl apply -f [controller-name].yaml

Erstellen Sie die in einer beliebigen .yaml-, .yml- oder .json-Datei definierten Objekte in einem Verzeichnis:

kubectl apply -f [directory-name]

Sie können eine Ressource aktualisieren, indem Sie sie in einem Texteditor mit kubectl edit konfigurieren Befehl. Dieser Befehl ist eine Kombination aus kubectl get und kubectl apply .

Um beispielsweise einen Dienst zu bearbeiten, geben Sie Folgendes ein:

kubectl edit svc/[service-name]

Dieser Befehl öffnet die Datei in Ihrem Standard-Editor. Um einen anderen Editor zu verwenden, geben Sie ihn vor dem Befehl an:

KUBE_EDITOR=”[editor-name]” kubectl edit svc/[service-name]

Status der Ressourcen anzeigen

Um den Status einer beliebigen Anzahl von Ressourcen im Detail anzuzeigen, verwenden Sie kubectl describe Befehl. Standardmäßig listet die Ausgabe auch nicht initialisierte Ressourcen auf.

Details zu einem bestimmten Knoten anzeigen:

kubectl describe nodes [node-name]

Details zu einem bestimmten Pod anzeigen:

kubectl describe pods [pod-name]

Details zu einem Pod anzeigen, dessen Name und Typ in pod.json aufgelistet sind :

kubectl describe -f pod.json

Details zu allen Pods anzeigen, die von einem bestimmten Replikationscontroller verwaltet werden:

kubectl describe pods [replication-controller-name]

Details zu allen Pods anzeigen:

kubectl describe pods

Ressourcen löschen

Um Ressourcen aus einer Datei oder stdin zu entfernen, verwenden Sie kubectl delete Befehl.

Entfernen Sie einen Pod mit dem in pod.yaml aufgelisteten Namen und Typ:

kubectl delete -f pod.yaml

Alle Pods und Dienste mit einem bestimmten Label entfernen:

kubectl delete pods,services -l [label-key]=[label-value]

Alle Pods entfernen (einschließlich nicht initialisierter Pods):

kubectl delete pods --all

Einen Befehl ausführen

Verwenden Sie kubectl exec Befehle in einem Container auszugeben oder eine Shell in einem Container zu öffnen.

Empfangen Sie die Ausgabe eines Befehls, der auf dem ersten Container in einem Pod ausgeführt wird:

kubectl exec [pod-name] -- [command]

Rufen Sie die Ausgabe eines Befehls ab, der für einen bestimmten Container in einem Pod ausgeführt wird:

kubectl exec [pod-name] -c [container-name] -- [command]

Führen Sie /bin/bash aus aus einem bestimmten Pod. Die empfangene Ausgabe kommt aus dem ersten Container:

kubectl exec -ti [pod-name] -- /bin/bash

Ändern von kubeconfig-Dateien

kubectl config können Sie kubeconfig-Dateien anzeigen und ändern. Auf diesen Befehl folgt normalerweise ein weiterer Unterbefehl.

Aktuellen Kontext anzeigen:

kubectl config current-context

Legen Sie einen Cluster-Eintrag in kubeconfig fest:

kubectl config set-cluster [cluster-name] --server=[server-name]

Setzen Sie einen Eintrag in kubeconfig zurück:

kubectl config unset [property-name]

Containerprotokolle drucken

Verwenden Sie zum Drucken von Protokollen aus Containern in einem Pod die kubectl logs Befehl.

Protokolle drucken:

kubectl logs [pod-name]

Um Protokolle von einem Pod zu streamen, verwenden Sie:

kubectl logs -f [pod-name]

Kurznamen für Ressourcentypen

Einige der kubectl Die oben aufgeführten Befehle können aufgrund ihrer Länge unbequem erscheinen. Aus diesem Grund Namen gängiger kubectl-Ressourcentypen haben auch kürzere Versionen.

Betrachten Sie den oben erwähnten Befehl:

kubectl create namespace [namespace-name]

Sie können diesen Befehl auch ausführen als:

kubectl create ns [namespace-name]

Hier ist die vollständige Liste der kubectl-Kurznamen:

Kurzname Langname
csr certificatesigningrequests
cs componentstatuses
cm configmaps
ds daemonsets
deploy deployments
ep endpoints
ev events
hpa horizontalpodautoscalers
ing ingresses
limits limitranges
ns namespaces
no nodes
pvc persistentvolumeclaims
pv persistentvolumes
po pods
pdb poddisruptionbudgets
psp podsecuritypolicies
rs replicasets
rc replicationcontrollers
quota resourcequotas
sa serviceaccounts
svc services

kubectl-Spickzettel

Alle in diesem Artikel aufgeführten Befehle finden Sie im einseitigen Referenzblatt unten. Laden Sie das kubectl-Befehls-PDF herunter und speichern Sie es zur späteren Verwendung.

Spickzettel HERUNTERLADEN


Cent OS
  1. Spickzettel für allgemeine Linux-Befehle

  2. Spickzettel für IPtables-Befehle

  3. Grundlegende vi-Befehle (Spickzettel)

  4. Beispiele für iSCSI-Verbindungsbefehle (Spickzettel)

  5. Cheat Sheet für grundlegende Linux-Befehle

Nmap-Befehle mit Beispielen

RPM-Befehle in Linux mit Beispielen

SS-Befehl in Linux mit nützlichen Beispielen

Der Befehl „kubectl get“ wird anhand von Beispielen erklärt

Grundlegende Nano-Befehle (Spickzettel)

Grundlegende vim-Befehle (Spickzettel)