GNU/Linux >> Linux Esercitazione >  >> Cent OS

Elenco dei comandi kubectl con esempi (+ cheat sheet kubectl)

Introduzione

Kubectl è un insieme di comandi per il controllo dei cluster Kubernetes. Ogni comando Kubernetes ha un endpoint API e lo scopo principale di kubectl è eseguire richieste HTTP all'API.

Sebbene sia possibile inviare richieste HTTP da soli (ad es. utilizzando curl), kubectl è progettato per rendere questo processo più semplice e comodo.

Questo tutorial tratterà tutte le operazioni comuni di kubectl e fornirà esempi per familiarizzare con la sintassi.

Elenco dei comandi kubectl

Usa il kubectl comandi elencati di seguito come riferimento rapido quando si lavora con Kubernetes.

Elenco risorse

Per elencare uno o più pod, controller di replica, servizi o set di daemon, utilizza kubectl get comando.

Genera un elenco di testo normale di tutti gli spazi dei nomi:

kubectl get namespaces

Mostra un elenco in testo normale di tutti i pod:

kubectl get pods

Genera un elenco dettagliato in testo normale di tutti i pod, contenente informazioni come il nome del nodo:

kubectl get pods -o wide

Visualizza un elenco di tutti i pod in esecuzione su un particolare server del nodo:

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

Elenca un controller di replica specifico in testo normale:

kubectl get replicationcontroller [replication-controller-name]

Genera un elenco in testo normale di tutti i controller di replica e i servizi:

kubectl get replicationcontroller,services

Mostra un elenco in testo normale di tutti i set di daemon:

kubectl get daemonset

Creazione di una risorsa

Crea una risorsa come un servizio, una distribuzione, un lavoro o uno spazio dei nomi utilizzando kubectl create comando.

Ad esempio, per creare un nuovo spazio dei nomi, digita:

kubectl create namespace [namespace-name]

Crea una risorsa da un file JSON o YAML:

kubectl create -f [filename]

Applicazione e aggiornamento di una risorsa

Per applicare o aggiornare una risorsa usa il kubectl apply comando. L'origine di questa operazione può essere un file o lo standard input (stdin ).

Crea un nuovo servizio con la definizione contenuta in un file [nome-servizio].yaml:

kubectl apply -f [service-name].yaml

Crea un nuovo controller di replica con la definizione contenuta in un file [nome controller].yaml:

kubectl apply -f [controller-name].yaml

Crea gli oggetti definiti in qualsiasi file .yaml, .yml o .json in una directory:

kubectl apply -f [directory-name]

Puoi aggiornare una risorsa configurandola in un editor di testo, utilizzando il kubectl edit comando. Questo comando è una combinazione di kubectl get e kubectl apply .

Ad esempio, per modificare un servizio, digita:

kubectl edit svc/[service-name]

Questo comando apre il file nell'editor predefinito. Per utilizzare un editor diverso, specificalo davanti al comando:

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

Visualizzare lo stato delle risorse

Per visualizzare in dettaglio lo stato di un numero qualsiasi di risorse, utilizza il kubectl describe comando. Per impostazione predefinita, l'output elenca anche le risorse non inizializzate.

Visualizza i dettagli su un particolare nodo:

kubectl describe nodes [node-name]

Visualizza i dettagli su un particolare pod:

kubectl describe pods [pod-name]

Visualizza i dettagli su un pod il cui nome e tipo sono elencati in pod.json :

kubectl describe -f pod.json

Visualizza i dettagli su tutti i pod gestiti da un controller di replica specifico:

kubectl describe pods [replication-controller-name]

Mostra i dettagli su tutti i pod:

kubectl describe pods

Eliminazione di risorse

Per rimuovere risorse da un file o stdin, usa kubectl delete comando.

Rimuovere un pod utilizzando il nome e il tipo elencati in pod.yaml:

kubectl delete -f pod.yaml

Rimuovi tutti i pod e i servizi con un'etichetta specifica:

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

Rimuovi tutti i pod (inclusi i pod non inizializzati):

kubectl delete pods --all

Esecuzione di un comando

Usa kubectl exec per emettere comandi in un container o per aprire una shell in un container.

Ricevi l'output da un comando eseguito sul primo contenitore in un pod:

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

Ottieni l'output da un comando eseguito su un contenitore specifico in un pod:

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

Esegui /bin/bash da un baccello specifico. L'output ricevuto proviene dal primo contenitore:

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

Modifica dei file kubeconfig

kubectl config ti consente di visualizzare e modificare i file kubeconfig. Questo comando è solitamente seguito da un altro sottocomando.

Visualizza il contesto corrente:

kubectl config current-context

Imposta una voce del cluster in kubeconfig:

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

Annulla l'impostazione di una voce in kubeconfig:

kubectl config unset [property-name]

Stampa dei registri dei contenitori

Per stampare i log dai contenitori in un pod, utilizza i kubectl logs comando.

Stampa registri:

kubectl logs [pod-name]

Per eseguire lo streaming dei log da un pod, utilizza:

kubectl logs -f [pod-name]

Nomi brevi per i tipi di risorse

Alcuni dei kubectl i comandi sopra elencati possono sembrare scomodi a causa della loro lunghezza. Per questo motivo nomi di tipi di risorse kubectl comuni hanno anche versioni più brevi.

Considera il comando sopra menzionato:

kubectl create namespace [namespace-name]

Puoi anche eseguire questo comando come:

kubectl create ns [namespace-name]

Ecco l'elenco completo dei nomi brevi kubectl:

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

cheat sheet di kubectl

Puoi trovare tutti i comandi elencati in questo articolo nel foglio di riferimento di una pagina di seguito. Scarica il kubectl Command PDF e salvalo per un uso futuro.

SCARICA Cheat Sheet


Cent OS
  1. Cheat sheet per i comandi Linux comuni

  2. Cheat sheet dei comandi di IPtables

  3. Foglio informativo sui comandi di Linux

  4. Comandi di base vi (cheat sheet)

  5. Esempi di comandi di connessione iSCSI (cheat sheet)

Comandi Nmap con esempi

Comandi RPM in Linux con esempi

Comando SS in Linux con esempi utili

Comando 'kubectl get' spiegato con esempi

Comandi di base nano (cheat sheet)

Comandi di base di vim (cheat sheet)