Skip to content

Příkazy kubectl vysvětleny

Příkazy kubectl pro každodenní práci, seskupené podle úkolu: čtení clusteru, kontrola workloadů, aplikování a vracení změn, vystavení služeb, správa uzlů a vytváření konfiguračních objektů. Každý řádek spojuje příkaz s reálným voláním.

kubectl je tvůj přístup ke Kubernetes clusteru. Model je deklarativní: obvykle aplikuješ manifest (apply -f) místo imperativního vytváření věcí a pak si výsledek přečteš (get, describe, logs). Níže uvedené příkazy pokrývají každodenní provoz; doplň je flagem namespace (-n name), když nejsi ve výchozím namespace.

Referenční tabulka · 59 položek
59 of 59 rows
Cluster a kontext
Zobrazí, kde běží control plane a základní služby.kubectl cluster-info
Vypíše clustery a namespace, mezi kterými můžeš přepínat.kubectl config get-contexts
Přepne do jiného kontextu clusteru nebo namespace.kubectl config use-context my-prod
Nastaví výchozí namespace aktuálního kontextu.kubectl config set-context --current --namespace=staging
Přejmenuje uložený kontext v kubeconfigu.kubectl config rename-context old-name prod
Vypíše všechny typy prostředků, které cluster zná.kubectl api-resources
Vytiskne verze Kubernetes klienta a serveru.kubectl version
Zobrazí pole, která prostředek podporuje, načtená ze schématu API.kubectl explain pod.spec.containers
Ověří, zda smí aktuální uživatel provést danou akci.kubectl auth can-i delete pods
Kontrola workloadů
Vypíše pody a jejich stav; -o wide přidá node a IP.kubectl get pods -A
Vypíše běžné prostředky jednoho namespace jedním voláním.kubectl get all
Přidá sloupce node a IP k libovolnému příkazu get.kubectl get pods -o wide
Vytiskne prostředek jako kompletní YAML manifest, který za ním stojí.kubectl get deploy/web -o yaml
Vypíše deploymenty a kolik replik je připravených.kubectl get deployments
Vypíše statefulsety a jejich připravené repliky.kubectl get statefulsets
Vypíše dávkové joby a naplánované cron joby.kubectl get jobs,cronjobs
Zobrazí eventy, labely a stav jednoho podu.kubectl describe pod web-abc
Zobrazí kapacitu, podmínky a běžící pody node.kubectl describe node node-1
Vytiskne standardní výstup podu; -f pro sledování, --previous pro poslední pád.kubectl logs -f web-abc
Spustí příkaz uvnitř běžícího podu.kubectl exec -it web-abc -- sh
Živá CPU a paměť pro pody nebo nody (vyžaduje metrics-server).kubectl top pods
Vypíše nedávné události jako neúspěšné pull obrázků a backoffy.kubectl get events -A --sort-by=.lastTimestamp
Vypíše ingress pravidla a jejich adresy load balanceru.kubectl get ingress
Kopíruje soubory mezi tvým počítačem a běžícím podem.kubectl cp web-abc:/var/log/app.log ./app.log
Zablokuje se, dokud prostředek nesplní podmínku.kubectl wait --for=condition=ready pod -l app=web
Spustí jednorázový pod z image, bez manifestu.kubectl run debug --rm -it --image=busybox -- sh
Aplikování, škálování, rollouty
Zobrazí, co by apply změnilo, nic nezmění.kubectl diff -f deploy.yaml
Vytvoří nebo aktualizuje prostředky ze souboru manifestu.kubectl apply -f deploy.yaml
Aplikuje manifesty a smaže objekty, které z nich vypadly.kubectl apply -f dir/ --prune -l app=web
Otevře živý prostředek v editoru a po uložení aplikuje změny.kubectl edit deploy/web
Změní pár polí živého prostředku.kubectl patch deploy/web --patch-file fix.json
Nasměruje kontejnery deploymentu na nový image.kubectl set image deploy/web web=nginx:1.27
Nahradí objekt; podle potřeby ho smaže a znovu vytvoří.kubectl replace --force -f deploy.yaml
Odstraní prostředky deklarované v souboru manifestu.kubectl delete -f deploy.yaml
Změní počet replik deploymentu.kubectl scale deploy/web --replicas=4
Sleduje rollout až do konce nebo neúspěchu.kubectl rollout status deploy/web
Vypíše revize, kterými rollout prošel.kubectl rollout history deploy/web
Restartuje všechny pody deploymentu, jeden po druhém.kubectl rollout restart deploy/web
Vrátí deployment zpět na předchozí revizi.kubectl rollout undo deploy/web
Služby a síť
Vypíše služby, jejich typ a clusterovou IP.kubectl get svc
Zobrazí, které IP podů aktuálně podporují jednotlivé služby.kubectl get endpoints web
Vytvoří službu před sadou podů; --type=NodePort nebo LoadBalancer dosáhne mimo cluster.kubectl expose deploy/web --port=80
Zobrazí adresu load balanceru za každým ingressem (alfa).kubectl ingress status -A
Vypíše politiky, které omezují provoz podů.kubectl get networkpolicies
Vytvoří tunel z lokálního portu na pod nebo službu.kubectl port-forward svc/web 8080:80
Uzly a údržba
Vypíše nody clusteru a jejich stav.kubectl get nodes -o wide
Označí node jako neplánovatelný (žádné nové pody).kubectl cordon node-1
Označí node znovu jako plánovatelný.kubectl uncordon node-1
Vyklidí pody z node a označí ho jako neplánovatelný.kubectl drain node-1 --ignore-daemonsets
Přidá nebo odebere taint, který odhání pody od node.kubectl taint node node-1 key=value:NoSchedule
Smaže zaseknutý pod okamžitě, bez korektního vypnutí.kubectl delete pod web-abc --grace-period=0 --force
Objekty a konfigurace
Vytvoří nový namespace, do kterého prostředky zařadíš.kubectl create namespace staging
Vypíše namespace a jejich stav.kubectl get namespaces
Uloží konfigurační klíče nebo soubory jako objekt clusteru.kubectl create configmap app --from-file=config.yaml
Vypíše configmapy v namespace.kubectl get configmaps
Uloží heslo nebo certifikát jako secret.kubectl create secret generic db --from-literal=password=s3cret
Vypíše secrety v namespace.kubectl get secrets
Přidá nebo odebere label na prostředku.kubectl label pod web-abc tier=backend
Připojí metadata, se kterými selektory nelze porovnávat.kubectl annotate deploy/web release=july