Skip to content

Comandi kubectl spiegati

I comandi kubectl usati ogni giorno, raggruppati per attività: leggere il cluster, ispezionare i workload, applicare e annullare modifiche, esporre servizi, gestire i nodi e creare oggetti di configurazione. Ogni riga abbina il comando a un'invocazione realistica.

kubectl è il tuo punto di presa su un cluster Kubernetes. Il modello è dichiarativo: di solito applichi un manifest (apply -f) invece di creare le cose in modo imperativo, poi rileggi il risultato (get, describe, logs). I comandi qui sotto coprono la gestione quotidiana; accompagnali con un flag di namespace (-n nome) quando non sei nel namespace predefinito.

Tabella di riferimento · 59 voci
59 of 59 rows
Cluster e contesto
Mostra dove girano il control plane e i servizi principali.kubectl cluster-info
Elenca i cluster e i namespace tra cui puoi passare.kubectl config get-contexts
Passa a un contesto diverso di cluster o namespace.kubectl config use-context my-prod
Imposta il namespace predefinito del contesto corrente.kubectl config set-context --current --namespace=staging
Rinomina un contesto salvato nel tuo kubeconfig.kubectl config rename-context old-name prod
Elenca ogni tipo di risorsa nota al cluster.kubectl api-resources
Stampa le versioni Kubernetes di client e server.kubectl version
Mostra i campi supportati da una risorsa, letti dallo schema API.kubectl explain pod.spec.containers
Verifica se l'utente corrente può eseguire una data azione.kubectl auth can-i delete pods
Ispezionare i workload
Elenca i pod e il loro stato; aggiungi -o wide per nodo e IP.kubectl get pods -A
Elenca in una sola chiamata le risorse comuni di un namespace.kubectl get all
Aggiunge le colonne nodo e IP a qualsiasi comando get.kubectl get pods -o wide
Stampa una risorsa come manifest YAML completo che la rappresenta.kubectl get deploy/web -o yaml
Elenca i deployment e quante repliche sono pronte.kubectl get deployments
Elenca gli statefulset e le loro repliche pronte.kubectl get statefulsets
Elenca i job batch e i cron job pianificati.kubectl get jobs,cronjobs
Mostra eventi, label e stato di un pod.kubectl describe pod web-abc
Mostra capacità, condizioni e pod in esecuzione di un nodo.kubectl describe node node-1
Stampa lo stdout di un pod; -f per seguirlo, --previous per l'ultimo crash.kubectl logs -f web-abc
Esegue un comando dentro un pod in esecuzione.kubectl exec -it web-abc -- sh
CPU e memoria in tempo reale per pod o nodi (richiede metrics-server).kubectl top pods
Elenca eventi recenti come pull falliti e backoff.kubectl get events -A --sort-by=.lastTimestamp
Elenca le regole ingress e i relativi indirizzi del load balancer.kubectl get ingress
Copia file tra la tua macchina e un pod in esecuzione.kubectl cp web-abc:/var/log/app.log ./app.log
Attende che una risorsa soddisfi una condizione.kubectl wait --for=condition=ready pod -l app=web
Avvia un pod usa-e-getta da un'immagine, senza manifest.kubectl run debug --rm -it --image=busybox -- sh
Apply, scale, rollout
Mostra cosa cambierebbe apply, senza cambiarlo.kubectl diff -f deploy.yaml
Crea o aggiorna risorse da un file manifest.kubectl apply -f deploy.yaml
Applica i manifest ed elimina gli oggetti usciti dai file.kubectl apply -f dir/ --prune -l app=web
Apre una risorsa live nel tuo editor e applica al salvataggio.kubectl edit deploy/web
Modifica alcuni campi di una risorsa live.kubectl patch deploy/web --patch-file fix.json
Punta i container di un deployment a una nuova immagine.kubectl set image deploy/web web=nginx:1.27
Sostituisce un oggetto, eliminandolo e ricreandolo quando serve.kubectl replace --force -f deploy.yaml
Rimuove le risorse dichiarate in un file manifest.kubectl delete -f deploy.yaml
Modifica il numero di repliche di un deployment.kubectl scale deploy/web --replicas=4
Osserva un rollout finire o fallire.kubectl rollout status deploy/web
Elenca le revisioni attraversate da un rollout.kubectl rollout history deploy/web
Riavvia ogni pod di un deployment, uno alla volta.kubectl rollout restart deploy/web
Riporta un deployment alla revisione precedente.kubectl rollout undo deploy/web
Servizi e rete
Elenca i servizi con il loro tipo e cluster IP.kubectl get svc
Mostra quali IP di pod supportano attualmente ciascun servizio.kubectl get endpoints web
Crea un servizio davanti a un insieme di pod; --type=NodePort o LoadBalancer raggiunge l'esterno del cluster.kubectl expose deploy/web --port=80
Mostra l'indirizzo del load balancer dietro ogni ingress (alpha).kubectl ingress status -A
Elenca le policy che limitano il traffico dei pod.kubectl get networkpolicies
Crea un tunnel da una porta locale a un pod o servizio.kubectl port-forward svc/web 8080:80
Nodi e manutenzione
Elenca i nodi del cluster e il loro stato.kubectl get nodes -o wide
Marca un nodo non schedulabile (nessun nuovo pod).kubectl cordon node-1
Marca di nuovo schedulabile un nodo.kubectl uncordon node-1
Sfratta i pod da un nodo e lo marca non schedulabile.kubectl drain node-1 --ignore-daemonsets
Aggiunge o rimuove un taint che respinge i pod da un nodo.kubectl taint node node-1 key=value:NoSchedule
Elimina subito un pod bloccato, saltando lo shutdown graduale.kubectl delete pod web-abc --grace-period=0 --force
Oggetti e configurazione
Crea un nuovo namespace a cui delimitare le risorse.kubectl create namespace staging
Elenca i namespace e il loro stato.kubectl get namespaces
Memorizza chiavi o file di configurazione come oggetto del cluster.kubectl create configmap app --from-file=config.yaml
Elenca i configmap nel namespace.kubectl get configmaps
Memorizza una password o un certificato come secret.kubectl create secret generic db --from-literal=password=s3cret
Elenca i secret nel namespace.kubectl get secrets
Allega o rimuove una label su una risorsa.kubectl label pod web-abc tier=backend
Allega metadati che i selector non possono incrociare.kubectl annotate deploy/web release=july