Skip to content

kubectl-kommandoer forklarede

De kubectl-kommandoer, man bruger hver dag, grupperet efter opgave: læs clustret, inspicér workloads, anvend og rul ændringer tilbage, eksponér services, administrér noder og opret konfigurationsobjekter. Hver række parer kommandoen med et realistisk kald.

kubectl er dit greb i et Kubernetes-cluster. Modellen er deklarativ: Du anvender typisk et manifest (apply -f) i stedet for at oprette ting imperativt og læser derefter resultatet tilbage (get, describe, logs). Kommandoerne nedenfor dækker den daglige drift; kombiner dem med et namespace-flag (-n name), når du ikke er i standard-namespacet.

Referencetabel · 59 poster
59 of 59 rows
Cluster og kontekst
Viser, hvor control plane og kerneydelserne kører.kubectl cluster-info
Lister de clusters og namespaces, du kan skifte mellem.kubectl config get-contexts
Skifter til en anden cluster- eller namespace-kontekst.kubectl config use-context my-prod
Sætter standard-namespacet for den aktuelle kontekst.kubectl config set-context --current --namespace=staging
Omdøber en gemt kontekst i din kubeconfig.kubectl config rename-context old-name prod
Lister alle resourcetyper, som clusteret kender.kubectl api-resources
Udskriver Kubernetes-versionerne for klient og server.kubectl version
Viser de felter, en resource understøtter, læst fra API-skemaet.kubectl explain pod.spec.containers
Tjekker, om den aktuelle bruger må udføre en given handling.kubectl auth can-i delete pods
Inspektion af workloads
Lister pods og deres status; tilføj -o wide for node og IP.kubectl get pods -A
Lister de almindelige resources i et namespace med ét kald.kubectl get all
Tilføjer node- og IP-kolonner til enhver get-kommando.kubectl get pods -o wide
Udskriver en resource som det fulde YAML-manifest, der ligger bag den.kubectl get deploy/web -o yaml
Lister deployments og hvor mange replikaer, der er klar.kubectl get deployments
Lister statefulsets og de replikaer, der er klar.kubectl get statefulsets
Lister batch-jobs og planlagte cron jobs.kubectl get jobs,cronjobs
Viser events, labels og status for én pod.kubectl describe pod web-abc
Viser en nodes kapacitet, tilstande og kørende pods.kubectl describe node node-1
Udskriver en pods stdout; -f for at følge med, --previous for det sidste nedbrud.kubectl logs -f web-abc
Kører en kommando inde i en kørende pod.kubectl exec -it web-abc -- sh
Live-CPU og -hukommelse for pods eller noder (kræver metrics-server).kubectl top pods
Lister seneste events som mislykkede pulls og backoffs.kubectl get events -A --sort-by=.lastTimestamp
Lister ingress-regler og deres load balancer-adresser.kubectl get ingress
Kopierer filer mellem din maskine og en kørende pod.kubectl cp web-abc:/var/log/app.log ./app.log
Blokérer, indtil en resource opfylder en betingelse.kubectl wait --for=condition=ready pod -l app=web
Starter en engangspod fra et image, uden manifest.kubectl run debug --rm -it --image=busybox -- sh
Anvend, skalér, udrul
Viser, hvad apply ville ændre, uden at ændre noget.kubectl diff -f deploy.yaml
Opretter eller opdaterer resources fra en manifestfil.kubectl apply -f deploy.yaml
Anvender manifests og sletter objekter, der har forladt dem.kubectl apply -f dir/ --prune -l app=web
Åbner en live resource i din editor og anvender ved gem.kubectl edit deploy/web
Ændrer et par felter på en live resource.kubectl patch deploy/web --patch-file fix.json
Peger en deployments containere på et nyt image.kubectl set image deploy/web web=nginx:1.27
Erstatter et objekt og sletter/genopretter det efter behov.kubectl replace --force -f deploy.yaml
Fjerner de resources, der er deklareret i en manifestfil.kubectl delete -f deploy.yaml
Ændrer antallet af replikaer i en deployment.kubectl scale deploy/web --replicas=4
Følger et rollout, indtil det lykkes eller fejler.kubectl rollout status deploy/web
Lister de revisioner, et rollout har været igennem.kubectl rollout history deploy/web
Genstarter alle pods i en deployment, én ad gangen.kubectl rollout restart deploy/web
Ruller en deployment tilbage til sin forrige revision.kubectl rollout undo deploy/web
Services og netværk
Lister services samt deres type og cluster-IP.kubectl get svc
Viser, hvilke pod-IP'er der i øjeblikket ligger bag hver service.kubectl get endpoints web
Opretter en service foran et sæt pods; --type=NodePort eller LoadBalancer når uden for clusteret.kubectl expose deploy/web --port=80
Viser load balancer-adressen bag hvert ingress (alpha).kubectl ingress status -A
Lister de policies, der begrænser pod-trafik.kubectl get networkpolicies
Tunneler en lokal port til en pod eller service.kubectl port-forward svc/web 8080:80
Noder og vedligeholdelse
Lister noderne i clusteret og deres status.kubectl get nodes -o wide
Markerer en node som ikke-planlæggbar (ingen nye pods).kubectl cordon node-1
Markerer en node som planlæggbar igen.kubectl uncordon node-1
Tømmer pods fra en node og markerer den som ikke-planlæggbar.kubectl drain node-1 --ignore-daemonsets
Tilføjer eller fjerner en taint, der frastøder pods fra en node.kubectl taint node node-1 key=value:NoSchedule
Sletter en fastlåst pod med det samme og springer graceful shutdown over.kubectl delete pod web-abc --grace-period=0 --force
Objekter og konfiguration
Opretter et nyt namespace til at afgrænse resources.kubectl create namespace staging
Lister namespaces og deres status.kubectl get namespaces
Gemmer konfigurationsnøgler eller -filer som et cluster-objekt.kubectl create configmap app --from-file=config.yaml
Lister configmaps i namespacet.kubectl get configmaps
Gemmer en adgangskode eller et certifikat som en secret.kubectl create secret generic db --from-literal=password=s3cret
Lister secrets i namespacet.kubectl get secrets
Tilføjer eller fjerner en label på en resource.kubectl label pod web-abc tier=backend
Tilføjer metadata, som selectors ikke kan matche.kubectl annotate deploy/web release=july