Skip to content

Polecenia kubectl wyjaśnione

Polecenia kubectl używane na co dzień, pogrupowane według zadań: odczyt klastra, inspekcja obciążeń, wprowadzanie i wycofywanie zmian, wystawianie usług, zarządzanie węzłami i tworzenie obiektów konfiguracyjnych. Każdy wiersz łączy polecenie z realistycznym wywołaniem.

kubectl to twój uchwyt na klaster Kubernetes. Model jest deklaratywny: zwykle aplikujesz manifest (apply -f) zamiast tworzyć rzeczy imperatywnie, a potem odczytujesz wynik (get, describe, logs). Poniższe polecenia obejmują codzienną pracę; łącz je z flagą namespace (-n name), gdy nie jesteś w domyślnej przestrzeni nazw.

Tabela referencyjna · 59 wpisy
59 of 59 rows
Klaster i kontekst
Pokazuje, gdzie działają płaszczyzna sterowania i usługi podstawowe.kubectl cluster-info
Wyświetla listę klastrów i przestrzeni nazw, między którymi możesz przełączać.kubectl config get-contexts
Przełącza na inny kontekst klastra lub przestrzeni nazw.kubectl config use-context my-prod
Ustawia domyślną przestrzeń nazw bieżącego kontekstu.kubectl config set-context --current --namespace=staging
Zmienia nazwę zapisanego kontekstu w twoim kubeconfig.kubectl config rename-context old-name prod
Wyświetla wszystkie typy zasobów znane klastrowi.kubectl api-resources
Wypisuje wersje Kubernetes klienta i serwera.kubectl version
Pokazuje pola obsługiwane przez zasób, odczytane ze schematu API.kubectl explain pod.spec.containers
Sprawdza, czy bieżący użytkownik może wykonać daną akcję.kubectl auth can-i delete pods
Inspekcja obciążeń
Wyświetla pody i ich status; dodaj -o wide, aby zobaczyć węzeł i IP.kubectl get pods -A
Wyświetla typowe zasoby przestrzeni nazw w jednym wywołaniu.kubectl get all
Dodaje kolumny węzła i IP do każdego polecenia get.kubectl get pods -o wide
Wypisuje zasób jako pełny manifest YAML, który za nim stoi.kubectl get deploy/web -o yaml
Wyświetla deploymenty i liczbę gotowych replik.kubectl get deployments
Wyświetla zestawy stanowe i ich gotowe repliki.kubectl get statefulsets
Wyświetla zadania batchowe i zaplanowane zadania cron.kubectl get jobs,cronjobs
Pokazuje eventy, labelki i status jednego poda.kubectl describe pod web-abc
Pokazuje pojemność węzła, jego warunki i działające pody.kubectl describe node node-1
Wypisuje stdout poda; -f śledzi na żywo, --previous pokazuje ostatni crash.kubectl logs -f web-abc
Uruchamia polecenie wewnątrz działającego poda.kubectl exec -it web-abc -- sh
CPU i pamięć na żywo dla podów lub węzłów (wymaga metrics-server).kubectl top pods
Wyświetla świeże eventy, np. nieudane pulle i backoffy.kubectl get events -A --sort-by=.lastTimestamp
Wyświetla reguły ingress i ich adresy load balancera.kubectl get ingress
Kopiuje pliki między twoją maszyną a działającym podem.kubectl cp web-abc:/var/log/app.log ./app.log
Blokuje, aż zasób spełni warunek.kubectl wait --for=condition=ready pod -l app=web
Uruchamia jednorazowy pod z obrazu, bez manifestu.kubectl run debug --rm -it --image=busybox -- sh
Aplikowanie, skalowanie, wdrażanie
Pokazuje, co apply zmieniłoby, niczego nie zmieniając.kubectl diff -f deploy.yaml
Tworzy lub aktualizuje zasoby z pliku manifestu.kubectl apply -f deploy.yaml
Aplikuje manifesty i usuwa obiekty, które przestały w nich figurować.kubectl apply -f dir/ --prune -l app=web
Otwiera żywy zasób w edytorze i aplikuje przy zapisie.kubectl edit deploy/web
Zmienia kilka pól żywego zasobu.kubectl patch deploy/web --patch-file fix.json
Kieruje kontenery deploymentu na nowy obraz.kubectl set image deploy/web web=nginx:1.27
Zastępuje obiekt, w razie potrzeby usuwając i tworząc go ponownie.kubectl replace --force -f deploy.yaml
Usuwa zasoby zadeklarowane w pliku manifestu.kubectl delete -f deploy.yaml
Zmienia liczbę replik deploymentu.kubectl scale deploy/web --replicas=4
Śledzi rollout aż do zakończenia lub błędu.kubectl rollout status deploy/web
Wyświetla rewizje, przez które przeszedł rollout.kubectl rollout history deploy/web
Restartuje każdy pod deploymentu, po jednym na raz.kubectl rollout restart deploy/web
Cofa deployment do poprzedniej rewizji.kubectl rollout undo deploy/web
Usługi i sieć
Wyświetla usługi wraz z typem i IP klastra.kubectl get svc
Pokazuje, które IP podów aktualnie wspierają każdą usługę.kubectl get endpoints web
Tworzy usługę frontującą zestaw podów; --type=NodePort lub LoadBalancer sięga poza klaster.kubectl expose deploy/web --port=80
Pokazuje adres load balancera za każdym ingressem (alpha).kubectl ingress status -A
Wyświetla polityki ograniczające ruch podów.kubectl get networkpolicies
Tuneluje lokalny port do poda lub usługi.kubectl port-forward svc/web 8080:80
Węzły i utrzymanie
Wyświetla węzły klastra i ich status.kubectl get nodes -o wide
Oznacza węzeł jako nieplanowalny (bez nowych podów).kubectl cordon node-1
Ponownie oznacza węzeł jako planowalny.kubectl uncordon node-1
Ewakuuje pody z węzła i oznacza go jako nieplanowalny.kubectl drain node-1 --ignore-daemonsets
Dodaje lub usuwa taint odpychający pody od węzła.kubectl taint node node-1 key=value:NoSchedule
Usuwa zablokowany pod natychmiast, bez graceful shutdown.kubectl delete pod web-abc --grace-period=0 --force
Obiekty i konfiguracja
Tworzy nową przestrzeń nazw dla zasobów.kubectl create namespace staging
Wyświetla przestrzenie nazw i ich status.kubectl get namespaces
Przechowuje klucze lub pliki konfiguracyjne jako obiekt klastra.kubectl create configmap app --from-file=config.yaml
Wyświetla config mapy w przestrzeni nazw.kubectl get configmaps
Przechowuje hasło lub certyfikat jako secret.kubectl create secret generic db --from-literal=password=s3cret
Wyświetla secrety w przestrzeni nazw.kubectl get secrets
Dokleja lub usuwa labelkę na zasobie.kubectl label pod web-abc tier=backend
Dodaje metadane, których selectory nie mogą dopasować.kubectl annotate deploy/web release=july