Kubernetes - Kubectl-Befehle

Kubectlsteuert den Kubernetes-Cluster. Es ist eine der Schlüsselkomponenten von Kubernetes, die nach Abschluss des Setups auf jedem Computer auf der Workstation ausgeführt wird. Es kann die Knoten im Cluster verwalten.

KubectlBefehle werden verwendet, um Kubernetes-Objekte und den Cluster zu interagieren und zu verwalten. In diesem Kapitel werden einige Befehle erläutert, die in Kubernetes über kubectl verwendet werden.

kubectl annotate - Es aktualisiert die Anmerkung zu einer Ressource.

$kubectl annotate [--overwrite] (-f FILENAME | TYPE NAME) KEY_1=VAL_1 ...
KEY_N = VAL_N [--resource-version = version]

Zum Beispiel,

kubectl annotate pods tomcat description = 'my frontend'

kubectl api-versions - Es werden die unterstützten API-Versionen im Cluster gedruckt.

$ kubectl api-version;

kubectl apply - Es kann eine Ressource per Datei oder Standard konfigurieren.

$ kubectl apply –f <filename>

kubectl attach - Dadurch werden Dinge an den laufenden Container angehängt.

$ kubectl attach <pod> –c <container>
$ kubectl attach 123456-7890 -c tomcat-conatiner

kubectl autoscale - Dies wird verwendet, um Pods automatisch zu skalieren, die wie Bereitstellung, Replikatsatz, Replikationscontroller definiert sind.

$ kubectl autoscale (-f FILENAME | TYPE NAME | TYPE/NAME) [--min = MINPODS] --
max = MAXPODS [--cpu-percent = CPU] [flags]
$ kubectl autoscale deployment foo --min = 2 --max = 10

kubectl cluster-info - Es zeigt die Cluster-Informationen an.

$ kubectl cluster-info

kubectl cluster-info dump - Es werden relevante Informationen zum Cluster für das Debuggen und die Diagnose ausgegeben.

$ kubectl cluster-info dump
$ kubectl cluster-info dump --output-directory = /path/to/cluster-state

kubectl config - Ändert die kubeconfig-Datei.

$ kubectl config <SUBCOMMAD>
$ kubectl config –-kubeconfig <String of File name>

kubectl config current-context - Es zeigt den aktuellen Kontext an.

$ kubectl config current-context
#deploys the current context

kubectl config delete-cluster - Löscht den angegebenen Cluster aus kubeconfig.

$ kubectl config delete-cluster <Cluster Name>

kubectl config delete-context - Löscht einen angegebenen Kontext aus kubeconfig.

$ kubectl config delete-context <Context Name>

kubectl config get-clusters - Zeigt den in der Kubeconfig definierten Cluster an.

$ kubectl config get-cluster
$ kubectl config get-cluster <Cluser Name>

kubectl config get-contexts - Beschreibt einen oder mehrere Kontexte.

$ kubectl config get-context <Context Name>

kubectl config set-cluster - Legt den Clustereintrag in Kubernetes fest.

$ kubectl config set-cluster NAME [--server = server] [--certificateauthority =
path/to/certificate/authority] [--insecure-skip-tls-verify = true]

kubectl config set-context - Legt einen Kontexteintrag im kubernetes-Einstiegspunkt fest.

$ kubectl config set-context NAME [--cluster = cluster_nickname] [--
user = user_nickname] [--namespace = namespace]
$ kubectl config set-context prod –user = vipin-mishra

kubectl config set-credentials - Legt einen Benutzereintrag in kubeconfig fest.

$ kubectl config set-credentials cluster-admin --username = vipin --
password = uXFGweU9l35qcif

kubectl config set - Legt einen individuellen Wert in der kubeconfig-Datei fest.

$ kubectl config set PROPERTY_NAME PROPERTY_VALUE

kubectl config unset - Es setzt eine bestimmte Komponente in kubectl.

$ kubectl config unset PROPERTY_NAME PROPERTY_VALUE

kubectl config use-context - Legt den aktuellen Kontext in der Kubectl-Datei fest.

$ kubectl config use-context <Context Name>

kubectl config view

$ kubectl config view
$ kubectl config view –o jsonpath='{.users[?(@.name == "e2e")].user.password}'

kubectl cp - Kopieren Sie Dateien und Verzeichnisse in und aus Containern.

$ kubectl cp <Files from source> <Files to Destinatiion>
$ kubectl cp /tmp/foo <some-pod>:/tmp/bar -c <specific-container>

kubectl create- Zum Erstellen einer Ressource nach Dateiname oder Standard. Dazu werden JSON- oder YAML-Formate akzeptiert.

$ kubectl create –f <File Name>
$ cat <file name> | kubectl create –f -

Auf die gleiche Weise können wir mehrere Dinge erstellen, die mit dem aufgelistet sind create Befehl zusammen mit kubectl.

  • deployment
  • namespace
  • quota
  • geheime Docker-Registrierung
  • secret
  • geheimes Generikum
  • geheime tls
  • serviceaccount
  • Service-Clusterip
  • Service Loadbalancer
  • Service Nodeport

kubectl delete - Löscht Ressourcen nach Dateiname, Standard, Ressource und Namen.

$ kubectl delete –f ([-f FILENAME] | TYPE [(NAME | -l label | --all)])

kubectl describe- Beschreibt eine bestimmte Ressource in Kubernetes. Zeigt Details der Ressource oder einer Gruppe von Ressourcen an.

$ kubectl describe <type> <type name>
$ kubectl describe pod tomcat

kubectl drain- Dies wird verwendet, um einen Knoten zu Wartungszwecken zu entleeren. Es bereitet den Knoten für die Wartung vor. Dadurch wird der Knoten als nicht verfügbar markiert, sodass ihm kein neuer Container zugewiesen werden sollte, der erstellt wird.

$ kubectl drain tomcat –force

kubectl edit- Es wird verwendet, um die Ressourcen auf dem Server zu beenden. Dies ermöglicht das direkte Bearbeiten einer Ressource, die über das Befehlszeilentool empfangen werden kann.

$ kubectl edit <Resource/Name | File Name)
Ex.
$ kubectl edit rc/tomcat

kubectl exec - Dies hilft, einen Befehl im Container auszuführen.

$ kubectl exec POD <-c CONTAINER > -- COMMAND < args...>
$ kubectl exec tomcat 123-5-456 date

kubectl expose- Hiermit werden die Kubernetes-Objekte wie Pod, Replikationscontroller und Dienst als neuer Kubernetes-Dienst verfügbar gemacht. Dies hat die Fähigkeit, es über einen laufenden Container oder von einem aus freizulegenyaml Datei.

$ kubectl expose (-f FILENAME | TYPE NAME) [--port=port] [--protocol = TCP|UDP]
[--target-port = number-or-name] [--name = name] [--external-ip = external-ip-ofservice]
[--type = type]
$ kubectl expose rc tomcat –-port=80 –target-port = 30000
$ kubectl expose –f tomcat.yaml –port = 80 –target-port =

kubectl get - Dieser Befehl kann Daten über die Kubernetes-Ressourcen im Cluster abrufen.

$ kubectl get [(-o|--output=)json|yaml|wide|custom-columns=...|custom-columnsfile=...|
go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=...]
(TYPE [NAME | -l label] | TYPE/NAME ...) [flags]

Zum Beispiel,

$ kubectl get pod <pod name>
$ kubectl get service <Service name>

kubectl logs- Sie werden verwendet, um die Protokolle des Containers in eine Kapsel zu bekommen. Durch das Drucken der Protokolle kann der Containername im Pod definiert werden. Wenn der POD nur einen Container hat, muss sein Name nicht definiert werden.

$ kubectl logs [-f] [-p] POD [-c CONTAINER]
Example
$ kubectl logs tomcat.
$ kubectl logs –p –c tomcat.8

kubectl port-forward - Sie werden verwendet, um einen oder mehrere lokale Ports an Pods weiterzuleiten.

$ kubectl port-forward POD [LOCAL_PORT:]REMOTE_PORT
[...[LOCAL_PORT_N:]REMOTE_PORT_N]
$ kubectl port-forward tomcat 3000 4000
$ kubectl port-forward tomcat 3000:5000

kubectl replace - Kann eine Ressource durch den Dateinamen oder ersetzen stdin.

$ kubectl replace -f FILENAME
$ kubectl replace –f tomcat.yml
$ cat tomcat.yml | kubectl replace –f -

kubectl rolling-update- Führt ein fortlaufendes Update auf einem Replikationscontroller durch. Ersetzt den angegebenen Replikationscontroller durch einen neuen Replikationscontroller, indem jeweils ein POD aktualisiert wird.

$ kubectl rolling-update OLD_CONTROLLER_NAME ([NEW_CONTROLLER_NAME] --
image = NEW_CONTAINER_IMAGE | -f NEW_CONTROLLER_SPEC)
$ kubectl rolling-update frontend-v1 –f freontend-v2.yaml

kubectl rollout - Es ist in der Lage, den Rollout der Bereitstellung zu verwalten.

$ Kubectl rollout <Sub Command>
$ kubectl rollout undo deployment/tomcat

Abgesehen von den oben genannten Funktionen können wir mithilfe des Rollouts mehrere Aufgaben ausführen, z.

  • Rollout-Verlauf
  • Rollout-Pause
  • Rollout-Lebenslauf
  • Rollout-Status
  • Rollout rückgängig machen

kubectl run - Der Befehl Ausführen kann ein Image auf dem Kubernetes-Cluster ausführen.

$ kubectl run NAME --image = image [--env = "key = value"] [--port = port] [--
replicas = replicas] [--dry-run = bool] [--overrides = inline-json] [--command] --
[COMMAND] [args...]
$ kubectl run tomcat --image = tomcat:7.0
$ kubectl run tomcat –-image = tomcat:7.0 –port = 5000

kubectl scale - Die Größe von Kubernetes-Bereitstellungen, ReplicaSet, Replication Controller oder Job wird skaliert.

$ kubectl scale [--resource-version = version] [--current-replicas = count] --
replicas = COUNT (-f FILENAME | TYPE NAME )
$ kubectl scale –-replica = 3 rs/tomcat
$ kubectl scale –replica = 3 tomcat.yaml

kubectl set image - Es aktualisiert das Bild einer Pod-Vorlage.

$ kubectl set image (-f FILENAME | TYPE NAME)
CONTAINER_NAME_1 = CONTAINER_IMAGE_1 ... CONTAINER_NAME_N = CONTAINER_IMAGE_N
$ kubectl set image deployment/tomcat busybox = busybox ngnix = ngnix:1.9.1
$ kubectl set image deployments, rc tomcat = tomcat6.0 --all

kubectl set resources- Hiermit wird der Inhalt der Ressource festgelegt. Es aktualisiert die Ressourcen / Grenzen des Objekts mit der Pod-Vorlage.

$ kubectl set resources (-f FILENAME | TYPE NAME) ([--limits = LIMITS & --
requests = REQUESTS]
$ kubectl set resources deployment tomcat -c = tomcat --
limits = cpu = 200m,memory = 512Mi

kubectl top node- Es zeigt die CPU- / Speicher- / Speichernutzung an. Mit dem Befehl top können Sie den Ressourcenverbrauch für Knoten anzeigen.

$ kubectl top node [node Name]

Der gleiche Befehl kann auch mit einem Pod verwendet werden.