Skip to content

kubectl-commando's uitgelegd

De kubectl-commando's die je dagelijks gebruikt, gegroepeerd per taak: het cluster uitlezen, workloads inspecteren, wijzigingen toepassen en terugdraaien, services blootstellen, nodes beheren en configuratieobjecten aanmaken. Elke rij koppelt het commando aan een realistische aanroep.

kubectl is je handvat op een Kubernetes-cluster. Het model is declaratief: je past meestal een manifest toe (apply -f) in plaats van dingen imperatief aan te maken, en leest het resultaat daarna terug (get, describe, logs). De onderstaande commando's dekken het dagelijkse werk; combineer ze met een namespace-flag (-n name) wanneer je niet in de standaard namespace zit.

Referentietabel · 59 items
59 of 59 rows
Cluster en context
Laat zien waar het control plane en de kernservices draaien.kubectl cluster-info
Som de clusters en namespaces op waartussen je kunt wisselen.kubectl config get-contexts
Wissel naar een andere cluster- of namespace-context.kubectl config use-context my-prod
Stel de standaard namespace van de huidige context in.kubectl config set-context --current --namespace=staging
Hernoem een opgeslagen context in je kubeconfig.kubectl config rename-context old-name prod
Som elk resourcetype op dat het cluster kent.kubectl api-resources
Print de Kubernetes-versies van client en server.kubectl version
Toon de velden die een resource ondersteunt, gelezen uit het API-schema.kubectl explain pod.spec.containers
Controleer of de huidige gebruiker een bepaalde actie mag uitvoeren.kubectl auth can-i delete pods
Workloads inspecteren
Som pods en hun status op; voeg -o wide toe voor node en IP.kubectl get pods -A
Som de gebruikelijke resources van een namespace in één aanroep op.kubectl get all
Voeg kolommen voor node en IP toe aan elk get-commando.kubectl get pods -o wide
Print een resource als het volledige YAML-manifest erachter.kubectl get deploy/web -o yaml
Som deployments op en hoeveel replicas klaar zijn.kubectl get deployments
Som stateful sets en hun gereedgemaakte replicas op.kubectl get statefulsets
Som batchjobs en geplande cronjobs op.kubectl get jobs,cronjobs
Toon events, labels en status van één pod.kubectl describe pod web-abc
Toon de capaciteit, condities en draaiende pods van een node.kubectl describe node node-1
Print de stdout van een pod; -f om te volgen, --previous voor de laatste crash.kubectl logs -f web-abc
Voer een commando uit binnen een draaiende pod.kubectl exec -it web-abc -- sh
Live CPU en geheugen voor pods of nodes (vereist metrics-server).kubectl top pods
Som recente events op zoals mislukte pulls en backoffs.kubectl get events -A --sort-by=.lastTimestamp
Som ingressregels en hun load balancer-adressen op.kubectl get ingress
Kopieer bestanden tussen je machine en een draaiende pod.kubectl cp web-abc:/var/log/app.log ./app.log
Blokkeer tot een resource aan een voorwaarde voldoet.kubectl wait --for=condition=ready pod -l app=web
Start een weggegooipod vanaf een image, zonder manifest.kubectl run debug --rm -it --image=busybox -- sh
Toepassen, schalen, uitrollen
Laat zien wat apply zou wijzigen, zonder het te wijzigen.kubectl diff -f deploy.yaml
Maak resources aan of werk ze bij vanuit een manifestbestand.kubectl apply -f deploy.yaml
Pas manifests toe en verwijder objecten die ze hebben verlaten.kubectl apply -f dir/ --prune -l app=web
Open een live resource in je editor en pas toe bij het opslaan.kubectl edit deploy/web
Wijzig een paar velden van een live resource.kubectl patch deploy/web --patch-file fix.json
Wijs de containers van een deployment naar een nieuwe image.kubectl set image deploy/web web=nginx:1.27
Vervang een object en verwijder/hercreëer het indien nodig.kubectl replace --force -f deploy.yaml
Verwijder de resources die in een manifestbestand zijn gedeclareerd.kubectl delete -f deploy.yaml
Wijzig het aantal replicas van een deployment.kubectl scale deploy/web --replicas=4
Volg een rollout tot deze klaar is of faalt.kubectl rollout status deploy/web
Som de revisies op die een rollout heeft doorlopen.kubectl rollout history deploy/web
Herstart elke pod van een deployment, één voor één.kubectl rollout restart deploy/web
Draai een deployment terug naar de vorige revisie.kubectl rollout undo deploy/web
Services en netwerk
Som services op met hun type en cluster-IP.kubectl get svc
Laat zien welke pod-IP's momenteel achter elke service staan.kubectl get endpoints web
Maak een service die een set pods front; --type=NodePort of LoadBalancer bereikt buiten het cluster.kubectl expose deploy/web --port=80
Toon het load balancer-adres achter elke ingress (alpha).kubectl ingress status -A
Som de policies op die podverkeer beperken.kubectl get networkpolicies
Tunnel een lokale poort naar een pod of service.kubectl port-forward svc/web 8080:80
Nodes en onderhoud
Som clusternodes en hun status op.kubectl get nodes -o wide
Markeer een node als niet-scheduleerbaar (geen nieuwe pods).kubectl cordon node-1
Markeer een node weer als scheduleerbaar.kubectl uncordon node-1
Verwijder pods van een node en markeer hem als niet-scheduleerbaar.kubectl drain node-1 --ignore-daemonsets
Voeg een taint toe of verwijder er een die pods van een node weert.kubectl taint node node-1 key=value:NoSchedule
Verwijder een vastzittende pod direct, zonder graceful shutdown.kubectl delete pod web-abc --grace-period=0 --force
Objecten en configuratie
Maak een nieuwe namespace aan om resources aan te koppelen.kubectl create namespace staging
Som namespaces en hun status op.kubectl get namespaces
Bewaar configuratiesleutels of -bestanden als een clusterobject.kubectl create configmap app --from-file=config.yaml
Som config maps in de namespace op.kubectl get configmaps
Bewaar een wachtwoord of certificaat als een secret.kubectl create secret generic db --from-literal=password=s3cret
Som secrets in de namespace op.kubectl get secrets
Koppel een label aan een resource of verwijder het.kubectl label pod web-abc tier=backend
Voeg metadata toe waar selectors niet op kunnen matchen.kubectl annotate deploy/web release=july