kubectl get to twoja podstawowa komenda do zaglądania, co się dzieje w klastrze Kubernetes. Wyświetla listę zasobów wybranego typu — podów, deploymentów, serwisów, nodeów, configmapów i wszystkiego innego, co API serwer potrafi pokazać. To pierwsze polecenie, które wpiszesz po połączeniu z klastrem, i prawdopodobnie najczęściej używane. Działa tak samo wszędzie (Linux, macOS, Windows), bo to ten sam klient gadający z API przez kubeconfig.
Składnia i najważniejsze opcje
Podstawowa forma to kubectl get TYPE [NAME] [flagi], gdzie TYPE to np. pods, deployments, svc, a opcjonalny NAME zawęża wynik do jednego zasobu.
-o, --output— format wyjścia:wide(więcej kolumn),yaml,json,namealbojsonpath=...-n, --namespace— wskazuje przestrzeń nazw; bez tego dostajesz tylkodefault-A, --all-namespaces— pokazuje zasoby ze wszystkich przestrzeni nazw naraz-l, --selector— filtruje po etykietach, np.-l app=nginx-w, --watch— śledzi zmiany na żywo, zamiast jednorazowego strzału--field-selector— filtruje po polach, np.status.phase=Running--show-labels— dokleja kolumnę ze wszystkimi etykietami--sort-by— sortuje po wskazanym polu jsonpath, np.--sort-by=.metadata.name
Przykłady użycia
kubectl get pods — pokazuje pody w bieżącej przestrzeni nazw razem ze statusem, liczbą restartów i wiekiem.
kubectl get pods -o wide — to samo, ale z dodatkowymi kolumnami: IP poda i node, na którym leci. Bezcenne przy debugowaniu sieci.
kubectl get pods -A — wszystkie pody w całym klastrze, ze wszystkich namespace’ów. Dobre na szybki przegląd, kto co odpalił.
kubectl get svc -n kube-system — listuje serwisy w przestrzeni kube-system, czyli komponentach systemowych klastra.
kubectl get pods -l app=nginx --field-selector status.phase=Running — tylko działające pody z etykietą app=nginx. Łączysz filtry, gdy lista robi się długa.
Częste błędy i pułapki
Najczęstsza wpadka: brak zasobów, bo zapomniałeś o przestrzeni nazw. kubectl get domyślnie patrzy tylko na default (albo namespace ustawiony w kontekście), więc jeśli twój pod siedzi w app-prod, dodaj -n app-prod albo -A. Druga rzecz: skróty typów. po to pods, deploy to deployments, svc to services — wygodne, ale nie wszystkie pamięta się z głowy, sprawdzisz je przez kubectl api-resources. Uważaj też na -w: komenda nie kończy się sama, wisi i czeka na zmiany, więc przerywasz ją Ctrl+C. I pamiętaj, że get pokazuje skrócony widok — pełne detale, eventy i przyczyny błędów znajdziesz dopiero przez describe.
Powiązane komendy: kubectl describe (szczegóły i eventy zasobu), kubectl logs (logi z poda), kubectl api-resources (lista typów i ich skrótów), kubectl explain (opis pól zasobu).