Kubernetes: Comandi Utili (Cheat Sheet kubectl)
Questa guida mappa i concetti operativi di orchestrazione sul client ufficiale kubectl, standardizzando la gestione delle risorse nel cluster.
Gestione e Info del Cluster
| Comando |
Descrizione |
kubectl cluster-info |
Mostra lo stato e gli indirizzi dei servizi del Control Plane. |
kubectl version --short |
Verifica la versione del client e del server API. |
kubectl api-resources |
Elenca tutte le risorse supportate dal cluster con le relative abbreviazioni. |
kubectl config get-contexts |
Elenca tutti i contesti (cluster e credenziali) disponibili nel kubeconfig. |
kubectl config use-context <nome_contesto> |
Cambia il contesto attivo per puntare a un cluster differente. |
Gestione dei Nodi
| Comando |
Descrizione |
kubectl get nodes |
Elenca tutti i nodi del cluster con il loro stato operativo. |
kubectl describe node <node_name> |
Mostra metriche, eventi e risorse allocate (CPU/RAM) di un nodo specifico. |
kubectl cordon <node_name> |
Contrassegna il nodo come non schedulabile (impedisce nuovi Pod). |
kubectl drain <node_name> --ignore-daemonsets |
Sfratta i Pod attivi dal nodo per manutenzione, replicandoli altrove. |
kubectl uncordon <node_name> |
Riattiva il nodo rendendolo nuovamente disponibile per lo scheduling. |
kubectl delete node <node_name> |
Rimuove logicamente il nodo dal cluster. |
Creazione e Inizializzazione delle Risorse (create & apply)
| Comando |
Descrizione |
kubectl create -f risorsa.yaml |
Crea una risorsa a partire da un file YAML (fallisce se la risorsa esiste già ). |
kubectl apply -f risorsa.yaml |
Crea o aggiorna una risorsa in modo dichiarativo a partire da un file YAML. |
kubectl create deployment <nome_deploy> --image=<immagine> |
Genera imperativamente un nuovo Deployment con l'immagine specificata. |
kubectl create namespace <nome_namespace> |
Crea un nuovo segmento logico (Namespace) isolato all'interno del cluster. |
Gestione dei Deployment (Equivalente degli Stack)
| Comando |
Descrizione |
kubectl get deployments |
Elenca tutti i Deployment attivi nel namespace corrente. |
kubectl describe deployment <deploy_name> |
Mostra i dettagli logici e la cronologia degli eventi del Deployment. |
kubectl scale deployment <deploy_name> --replicas=5 |
Scala dinamicamente il numero di repliche del Deployment a 5. |
kubectl rollout restart deployment <deploy_name> |
Forza un rolling update (riavvio controllato di tutti i task/Pod). |
kubectl rollout status deployment <deploy_name> |
Monitora lo stato di avanzamento del deployment in corso. |
kubectl delete deployment <deploy_name> |
Elimina il deployment e distrugge tutti i Pod correlati. |
Esposizione dei Servizi (expose)
| Comando |
Descrizione |
kubectl expose deployment <nome_deploy> --port=80 --target-port=80 --type=ClusterIP |
Espone il deployment internamente al cluster sulla porta 80. |
kubectl expose deployment <nome_deploy> --port=80 --type=NodePort |
Espone il servizio esternamente aprendo una porta statica su ciascun nodo. |
kubectl expose pod <nome_pod> --port=443 --name=servizio-pod-sicuro |
Espone un singolo Pod specifico assegnando un nome personalizzato al servizio. |
Gestione dei Pod e dei Servizi
| Comando |
Descrizione |
kubectl get pods |
Elenca i Pod attivi, inclusi gli stati di errore o completamento. |
kubectl get pods -o wide |
Mostra i Pod con dettagli avanzati (IP assegnato e nodo ospitante). |
kubectl run <pod_name> --image=<image_name> |
Istanzia un singolo Pod in modalità imperativa (equivalente a un run isolato). |
kubectl get svc |
Elenca tutti i servizi (ClusterIP, NodePort, LoadBalancer) attivi. |
kubectl describe pod <pod_name> |
Diagnostica approfondita del Pod (errori di pull, crash, probe falliti). |
kubectl logs <pod_name> |
Estrae i log dello standard output del container primario nel Pod. |
kubectl logs <pod_name> -c <container_name> |
Estrae i log di uno specifico container in un Pod multi-container. |
kubectl exec -it <pod_name> -- /bin/sh |
Apre una sessione interattiva nel terminale del container all'interno del Pod. |
ConfigMap e Secrets
| Comando |
Descrizione |
kubectl create configmap <nome_config> --from-literal=chiave=valore |
Crea una ConfigMap inserendo una coppia chiave-valore direttamente da CLI. |
kubectl create secret generic <nome_secret> --from-literal=chiave=segreto |
Crea un Secret generico codificando la stringa in Base64. |
kubectl get configmaps |
Elenca tutte le ConfigMap presenti nel namespace. |
kubectl get secrets |
Elenca tutti i Secret presenti nel namespace. |
kubectl get secret <nome_secret> -o yaml |
Estrae i metadati e il payload codificato del Secret in formato YAML. |
kubectl describe configmap <nome_config> |
Mostra le chiavi e i dati non sensibili memorizzati nella ConfigMap. |