Úvod
Kubectl je sada příkazů pro ovládání clusterů Kubernetes. Každý příkaz Kubernetes má koncový bod API a primárním účelem kubectl je provádět HTTP požadavky na API.
I když je možné zadávat požadavky HTTP sami (např. pomocí curl), kubectl je navržen tak, aby byl tento proces pohodlnější a přímočařejší.
Tento výukový program pokryje všechny běžné operace kubectl a poskytne příklady, abyste se seznámili se syntaxí.

Seznam příkazů kubectl
Použijte kubectl
příkazy uvedené níže jako rychlý odkaz při práci s Kubernetes.
Seznam zdrojů
Chcete-li uvést jeden nebo více modulů, řadičů replikace, služeb nebo sad démonů, použijte kubectl get
příkaz.
Vygenerujte seznam všech jmenných prostorů ve formátu prostého textu:
kubectl get namespaces
Zobrazit seznam všech modulů ve formátu prostého textu:
kubectl get pods
Vygenerujte podrobný seznam všech podů ve formátu prostého textu obsahující informace, jako je název uzlu:
kubectl get pods -o wide
Zobrazit seznam všech modulů spuštěných na konkrétním uzlovém serveru:
kubectl get pods --field-selector=spec.nodeName=[server-name]
Uveďte konkrétní řadič replikace ve formátu prostého textu:
kubectl get replicationcontroller [replication-controller-name]
Vygenerujte seznam všech řadičů a služeb replikace ve formátu prostého textu:
kubectl get replicationcontroller,services
Zobrazit seznam všech sad démonů ve formátu prostého textu:
kubectl get daemonset
Vytvoření zdroje
Vytvořte zdroj, jako je služba, nasazení, úloha nebo jmenný prostor, pomocí kubectl create
příkaz.
Chcete-li například vytvořit nový jmenný prostor, zadejte:
kubectl create namespace [namespace-name]
Vytvořte prostředek ze souboru JSON nebo YAML:
kubectl create -f [filename]
Použití a aktualizace zdroje
Chcete-li použít nebo aktualizovat zdroj, použijte kubectl apply
příkaz. Zdrojem v této operaci může být buď soubor, nebo standardní vstup (stdin ).
Vytvořte novou službu s definicí obsaženou v souboru [název-služby].yaml:
kubectl apply -f [service-name].yaml
Vytvořte nový řadič replikace s definicí obsaženou v souboru [controller-name].yaml:
kubectl apply -f [controller-name].yaml
Vytvořte objekty definované v libovolném souboru .yaml, .yml nebo .json v adresáři:
kubectl apply -f [directory-name]
Zdroj můžete aktualizovat tak, že jej nakonfigurujete v textovém editoru pomocí kubectl edit
příkaz. Tento příkaz je kombinací kubectl get
a kubectl apply
.
Chcete-li například upravit službu, zadejte:
kubectl edit svc/[service-name]
Tento příkaz otevře soubor ve vašem výchozím editoru. Chcete-li použít jiný editor, zadejte jej před příkaz:
KUBE_EDITOR=”[editor-name]” kubectl edit svc/[service-name]
Zobrazení stavu zdrojů
Chcete-li podrobně zobrazit stav libovolného počtu zdrojů, použijte kubectl describe
příkaz. Ve výchozím nastavení jsou ve výstupu uvedeny také neinicializované zdroje.
Zobrazení podrobností o konkrétním uzlu:
kubectl describe nodes [node-name]
Zobrazení podrobností o konkrétním modulu:
kubectl describe pods [pod-name]
Zobrazte podrobnosti o podu, jehož název a typ jsou uvedeny v pod.json :
kubectl describe -f pod.json
Podívejte se na podrobnosti o všech podech spravovaných konkrétním řadičem replikace:
kubectl describe pods [replication-controller-name]
Zobrazit podrobnosti o všech modulech:
kubectl describe pods
Odstranění zdrojů
Chcete-li odebrat prostředky ze souboru nebo standardního nastavení, použijte kubectl delete
příkaz.
Odeberte pod pomocí názvu a typu uvedeného v pod.yaml:
kubectl delete -f pod.yaml
Odeberte všechny pody a služby s konkrétním štítkem:
kubectl delete pods,services -l [label-key]=[label-value]
Odeberte všechny pody (včetně neinicializovaných podů):
kubectl delete pods --all
Provedení příkazu
Použijte kubectl exec
k zadávání příkazů v kontejneru nebo k otevření shellu v kontejneru.
Přijmout výstup z příkazu spuštěného na prvním kontejneru v pod:
kubectl exec [pod-name] -- [command]
Získejte výstup z příkazu spuštěného na konkrétním kontejneru v pod:
kubectl exec [pod-name] -c [container-name] -- [command]
Spusťte /bin/bash z konkrétního pouzdra. Přijatý výstup pochází z prvního kontejneru:
kubectl exec -ti [pod-name] -- /bin/bash
Úprava souborů kubeconfig
kubectl config
umožňuje prohlížet a upravovat soubory kubeconfig. Po tomto příkazu obvykle následuje další dílčí příkaz.
Zobrazit aktuální kontext:
kubectl config current-context
Nastavte položku clusteru v kubeconfig:
kubectl config set-cluster [cluster-name] --server=[server-name]
Zrušte nastavení položky v kubeconfig:
kubectl config unset [property-name]
Tisk protokolů kontejneru
Chcete-li vytisknout protokoly z kontejnerů v podu, použijte kubectl logs
příkaz.
Tisk protokolů:
kubectl logs [pod-name]
Chcete-li streamovat protokoly z podu, použijte:
kubectl logs -f [pod-name]
Krátké názvy pro typy zdrojů
Některé z kubectl
výše uvedené příkazy se mohou zdát nepohodlné kvůli jejich délce. Z tohoto důvodu názvy běžných typů zdrojů kubectl mají také kratší verze.
Zvažte příkaz uvedený výše:
kubectl create namespace [namespace-name]
Tento příkaz můžete také spustit jako:
kubectl create ns [namespace-name]
Zde je úplný seznam krátkých jmen kubectl:
Krátký název | Dlouhý název |
---|---|
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 Cheat Sheet
Všechny příkazy uvedené v tomto článku naleznete v jednostránkovém referenčním listu níže. Stáhněte si příkaz kubectl ve formátu PDF a uložte jej pro budoucí použití.
STÁHNOUT Cheat Sheet
