Skip to content

kubectl-kommandon förklarade

De kubectl-kommandon som används dagligen, grupperade efter arbete: läs av klustret, inspektera workloads, applicera och rulla tillbaka ändringar, exponera tjänster, hantera noder och skapa konfigurationsobjekt. Varje rad parar kommandot med ett realistiskt anrop.

kubectl är ditt grepp om ett Kubernetes-kluster. Modellen är deklarativ: du applicerar oftast ett manifest (apply -f) i stället för att skapa saker imperativt och läser sedan tillbaka resultatet (get, describe, logs). Kommandona nedan täcker det dagliga arbetet; para dem med namespace-flaggan (-n name) när du inte befinner dig i standardnamnrymden.

Referenstabell · 59 poster
59 of 59 rows
Kluster och kontext
Visar var kontrollplanet och kärntjänsterna körs.kubectl cluster-info
Listar klustren och namnrymderna du kan växla mellan.kubectl config get-contexts
Växlar till en annan kluster- eller namnrymdskontext.kubectl config use-context my-prod
Sätter standardnamnrymden för den aktuella kontexten.kubectl config set-context --current --namespace=staging
Byter namn på en sparad kontext i din kubeconfig.kubectl config rename-context old-name prod
Listar alla resurstyper klustret känner till.kubectl api-resources
Skriver ut Kubernetes-versionerna för klient och server.kubectl version
Visar fälten en resurs stöder, lästa från API-schemat.kubectl explain pod.spec.containers
Kontrollerar om den aktuella användaren får utföra en given åtgärd.kubectl auth can-i delete pods
Inspektera workloads
Listar poddar och deras status; lägg till -o wide för nod och IP.kubectl get pods -A
Listar de vanliga resurserna i en namnrymd i ett anrop.kubectl get all
Lägger till kolumner för nod och IP på valfritt get-kommando.kubectl get pods -o wide
Skriver ut en resurs som det fullständiga YAML-manifestet bakom den.kubectl get deploy/web -o yaml
Listar deployments och hur många repliker som är klara.kubectl get deployments
Listar stateful sets och deras klara repliker.kubectl get statefulsets
Listar batchjobb och schemalagda cronjobb.kubectl get jobs,cronjobs
Visar händelser, labels och status för en podd.kubectl describe pod web-abc
Visar en nods kapacitet, villkor och körande poddar.kubectl describe node node-1
Skriver ut en podds stdout; -f för att följa, --previous för senaste kraschen.kubectl logs -f web-abc
Kör ett kommando inuti en körande podd.kubectl exec -it web-abc -- sh
CPU och minne i realtid för poddar eller noder (kräver metrics-server).kubectl top pods
Listar senaste händelser som misslyckade pulls och backoffs.kubectl get events -A --sort-by=.lastTimestamp
Listar ingress-regler och deras load balancer-adresser.kubectl get ingress
Kopierar filer mellan din maskin och en körande podd.kubectl cp web-abc:/var/log/app.log ./app.log
Blockerar tills en resurs uppfyller ett villkor.kubectl wait --for=condition=ready pod -l app=web
Startar en engångspodd från en image, utan manifest.kubectl run debug --rm -it --image=busybox -- sh
Applicera, skala, rulla ut
Visar vad apply skulle ändra, utan att ändra det.kubectl diff -f deploy.yaml
Skapar eller uppdaterar resurser från en manifestfil.kubectl apply -f deploy.yaml
Applicerar manifest och tar bort objekt som lämnat dem.kubectl apply -f dir/ --prune -l app=web
Öppnar en live-resurs i din redigerare och applicerar vid sparning.kubectl edit deploy/web
Ändrar några fält på en live-resurs.kubectl patch deploy/web --patch-file fix.json
Pekar en deployments containere mot en ny image.kubectl set image deploy/web web=nginx:1.27
Ersätter ett objekt, tar bort och återskapar det vid behov.kubectl replace --force -f deploy.yaml
Tar bort resurserna som deklarerats i en manifestfil.kubectl delete -f deploy.yaml
Ändrar antalet repliker i en deployment.kubectl scale deploy/web --replicas=4
Följer en rollout tills den är klar eller misslyckas.kubectl rollout status deploy/web
Listar de revisioner en rollout har gått igenom.kubectl rollout history deploy/web
Startar om varje podd i en deployment, en i taget.kubectl rollout restart deploy/web
Rullar tillbaka en deployment till föregående revision.kubectl rollout undo deploy/web
Tjänster och nätverk
Listar tjänster med typ och kluster-IP.kubectl get svc
Visar vilka podd-IP:er som just nu backar varje tjänst.kubectl get endpoints web
Skapar en tjänst som fronter en uppsättning poddar; --type=NodePort eller LoadBalancer når utanför klustret.kubectl expose deploy/web --port=80
Visar load balancer-adressen bakom varje ingress (alpha).kubectl ingress status -A
Listar de policyer som begränsar poddtrafik.kubectl get networkpolicies
Tunnlar en lokal port till en podd eller tjänst.kubectl port-forward svc/web 8080:80
Noder och underhåll
Listar klusternoder och deras status.kubectl get nodes -o wide
Markerar en nod som oschemaläggningsbar (inga nya poddar).kubectl cordon node-1
Markerar en nod som schemaläggningsbar igen.kubectl uncordon node-1
Stänger av podder från en nod och markerar den som oschemaläggningsbar.kubectl drain node-1 --ignore-daemonsets
Lägger till eller tar bort en taint som stöter bort poddar från en nod.kubectl taint node node-1 key=value:NoSchedule
Tar bort en fastnad podd direkt, utan graceful shutdown.kubectl delete pod web-abc --grace-period=0 --force
Objekt och konfiguration
Skapar en ny namnrymd att omfånga resurser i.kubectl create namespace staging
Listar namnrymder och deras status.kubectl get namespaces
Lagrar konfigurationsnycklar eller -filer som ett klusterobjekt.kubectl create configmap app --from-file=config.yaml
Listar config maps i namnrymden.kubectl get configmaps
Lagrar ett lösenord eller certifikat som en secret.kubectl create secret generic db --from-literal=password=s3cret
Listar secrets i namnrymden.kubectl get secrets
Kopplar på eller tar bort en label på en resurs.kubectl label pod web-abc tier=backend
Kopplar på metadata som selectors inte kan matcha.kubectl annotate deploy/web release=july