Skip to content

kubectl-kommandoer forklart

kubectl-kommandoene du bruker til hverdags, gruppert etter jobb: les av clusteret, inspiser workloads, applicer og rull tilbake endringer, eksponer tjenester, håndter noder og opprett konfigurasjonsobjekter. Hver rad kobler kommandoen med et realistisk kall.

kubectl er håndtaket ditt på et Kubernetes-cluster. Modellen er deklarativ: du applicerer som regel et manifest (apply -f) i stedet for å opprette ting imperativt, og leser deretter resultatet tilbake (get, describe, logs). Kommandoene nedenfor dekker daglig drift; kombiner dem med namespace-flagget (-n name) når du ikke er i standardnavnerommet.

Referansetabell · 59 oppføringer
59 of 59 rows
Cluster og kontekst
Vis hvor kontrollplanet og kjernetjenestene kjører.kubectl cluster-info
List opp clusterne og navnerommene du kan bytte mellom.kubectl config get-contexts
Bytt til en annen cluster- eller namespace-kontekst.kubectl config use-context my-prod
Sett standardnavnerommet for gjeldende kontekst.kubectl config set-context --current --namespace=staging
Gi nytt navn til en lagret kontekst i kubeconfig-en din.kubectl config rename-context old-name prod
List opp alle ressurstypene clusteret kjenner.kubectl api-resources
Skriv ut Kubernetes-versjonene til klient og server.kubectl version
Vis feltene en ressurs støtter, lest fra API-skjemaet.kubectl explain pod.spec.containers
Sjekk om gjeldende bruker kan utføre en gitt handling.kubectl auth can-i delete pods
Inspisere workloads
List opp podder og statusen deres; legg til -o wide for node og IP.kubectl get pods -A
List opp de vanlige ressursene i et navnerom i ett kall.kubectl get all
Legg til kolonner for node og IP på ethvert get-kall.kubectl get pods -o wide
Skriv ut en ressurs som det fullstendige YAML-manifestet bak den.kubectl get deploy/web -o yaml
List opp deployments og hvor mange repliker som er klare.kubectl get deployments
List opp stateful sets og deres klare repliker.kubectl get statefulsets
List opp batchjobber og planlagte cronjobber.kubectl get jobs,cronjobs
Vis hendelser, labels og status for én pod.kubectl describe pod web-abc
Vis en nodes kapasitet, tilstander og kjørende podder.kubectl describe node node-1
Skriv ut en pods stdout; -f for å følge med, --previous for siste krasj.kubectl logs -f web-abc
Kjør en kommando inne i en kjørende pod.kubectl exec -it web-abc -- sh
CPU og minne i sanntid for podder eller noder (krever metrics-server).kubectl top pods
List opp nylige hendelser som feilede pulls og backoffs.kubectl get events -A --sort-by=.lastTimestamp
List opp ingress-regler og load balancer-adressene deres.kubectl get ingress
Kopier filer mellom maskinen din og en kjørende pod.kubectl cp web-abc:/var/log/app.log ./app.log
Blokker til en ressurs oppfyller en betingelse.kubectl wait --for=condition=ready pod -l app=web
Start en engangspod fra et image, uten manifest.kubectl run debug --rm -it --image=busybox -- sh
Applicere, skalere, rulle ut
Vis hva apply ville endret, uten å endre det.kubectl diff -f deploy.yaml
Opprett eller oppdater ressurser fra en manifestfil.kubectl apply -f deploy.yaml
Applicer manifestene og slett objekter som har forlatt dem.kubectl apply -f dir/ --prune -l app=web
Åpne en live-ressurs i redigeringsprogrammet ditt og applicer ved lagring.kubectl edit deploy/web
Endre noen felt på en live-ressurs.kubectl patch deploy/web --patch-file fix.json
Pek en deployments containere mot et nytt image.kubectl set image deploy/web web=nginx:1.27
Erstatt et objekt, slett og opprett det på nytt ved behov.kubectl replace --force -f deploy.yaml
Fjern ressursene som er deklarert i en manifestfil.kubectl delete -f deploy.yaml
Endre antall repliker i en deployment.kubectl scale deploy/web --replicas=4
Følg med til en rollout fullføres eller feiler.kubectl rollout status deploy/web
List opp revisjonene en rollout har gått gjennom.kubectl rollout history deploy/web
Start alle poddene i en deployment på nytt, én om gangen.kubectl rollout restart deploy/web
Rull en deployment tilbake til forrige revisjon.kubectl rollout undo deploy/web
Tjenester og nettverk
List opp tjenester og typen og cluster-IP-en deres.kubectl get svc
Vis hvilke pod-IP-er som nå backer hver tjeneste.kubectl get endpoints web
Opprett en tjeneste som fronter et sett med podder; --type=NodePort eller LoadBalancer når ut av clusteret.kubectl expose deploy/web --port=80
Vis load balancer-adressen bak hver ingress (alpha).kubectl ingress status -A
List opp policyene som begrenser pod-trafikk.kubectl get networkpolicies
Tunneler en lokal port til en pod eller tjeneste.kubectl port-forward svc/web 8080:80
Noder og vedlikehold
List opp clusternoder og statusen deres.kubectl get nodes -o wide
Marker en node som ikke kan schedules (ingen nye podder).kubectl cordon node-1
Marker en node som schedulerbar igjen.kubectl uncordon node-1
Kast poddene ut av en node og marker den som ikke schedulerbar.kubectl drain node-1 --ignore-daemonsets
Legg til eller fjern en taint som holder podder unna en node.kubectl taint node node-1 key=value:NoSchedule
Slett en fastlåst pod umiddelbart, uten grasiøs nedstenging.kubectl delete pod web-abc --grace-period=0 --force
Objekter og konfigurasjon
Opprett et nytt navnerom å avgrense ressurser til.kubectl create namespace staging
List opp navnerommene og statusen deres.kubectl get namespaces
Lagre konfigurasjonsnøkler eller -filer som et cluster-objekt.kubectl create configmap app --from-file=config.yaml
List opp config maps i navnerommet.kubectl get configmaps
Lagre et passord eller sertifikat som en secret.kubectl create secret generic db --from-literal=password=s3cret
List opp secrets i navnerommet.kubectl get secrets
Legg til eller fjern en label på en ressurs.kubectl label pod web-abc tier=backend
Legg til metadata som selectors ikke kan matche.kubectl annotate deploy/web release=july