Skip to content

kubectl-komennot selitettynä

Arkipäivän kubectl-komennot ryhmiteltynä tehtävän mukaan: lue klusteria, tutki työkuormia, ota muutoksia käyttöön ja peruuta niitä, paljasta palveluita, hallitse solmuja ja luo konfiguraatio-objekteja. Jokainen rivi parittaa komennon realistiseen kutsuun.

kubectl on työkalusi Kubernetes-klusterin hallintaan. Malli on deklaratiivinen: yleensä otat manifestin käyttöön (apply -f) sen sijaan että loisit asioita imperatiivisesti, ja luet sitten tuloksen takaisin (get, describe, logs). Alla olevat komennot kattavat päivittäisen käytön; lisää namespace-lippu (-n name), kun et ole oletusnamespacessa.

Viitetaulukko · 59 merkintää
59 of 59 rows
Klusteri ja konteksti
Näyttää, missä control plane ja ydinpalvelut pyörivät.kubectl cluster-info
Listaa klusterit ja namespacet, joiden välillä voit vaihtaa.kubectl config get-contexts
Vaihtaa toiseen klusterin tai namespacen kontekstiin.kubectl config use-context my-prod
Asettaa nykyisen kontekstin oletusnamespacen.kubectl config set-context --current --namespace=staging
Nimeää kubeconfigiin tallennetun kontekstin uudelleen.kubectl config rename-context old-name prod
Listaa kaikki resurssityypit, jotka klusteri tuntee.kubectl api-resources
Tulostaa Kubernetes-versiot asiakkaalta ja palvelimelta.kubectl version
Näyttää resurssin tukemat kentät API:n skeemasta luettuina.kubectl explain pod.spec.containers
Tarkistaa, saako nykyinen käyttäjä suorittaa annetun toiminnon.kubectl auth can-i delete pods
Työkuormien tutkiminen
Listaa podit ja niiden tilan; lisää -o wide saadaksesi solmun ja IP-osoitteen.kubectl get pods -A
Listaa namespacen yleiset resurssit yhdellä kutsulla.kubectl get all
Lisää solmu- ja IP-sarakkeet mihin tahansa get-komentoon.kubectl get pods -o wide
Tulostaa resurssin sen taustalla olevana täydellisenä YAML-manifestina.kubectl get deploy/web -o yaml
Listaa deploymentit ja valmiiden replikoiden määrän.kubectl get deployments
Listaa stateful setit ja niiden valmiit replikat.kubectl get statefulsets
Listaa erätyöt ja ajastetut cron-työt.kubectl get jobs,cronjobs
Näyttää yhden podin tapahtumat, labelit ja tilan.kubectl describe pod web-abc
Näyttää solmun kapasiteetin, tilat ja sillä pyörivät podit.kubectl describe node node-1
Tulostaa podin stdout-virran; -f seurantaan, --previous viimeisimpään kaatumiseen.kubectl logs -f web-abc
Suorittaa komennon pyörivän podin sisällä.kubectl exec -it web-abc -- sh
Live-CPU ja -muisti podeille tai solmuille (vaatii metrics-serverin).kubectl top pods
Listaa tuoreet tapahtumat kuten image-pullien epäonnistumiset ja backoffit.kubectl get events -A --sort-by=.lastTimestamp
Listaa ingress-säännöt ja niiden load balancer -osoitteet.kubectl get ingress
Kopioi tiedostoja koneesi ja pyörivän podin välillä.kubectl cp web-abc:/var/log/app.log ./app.log
Estää, kunnes resurssi täyttää ehdon.kubectl wait --for=condition=ready pod -l app=web
Käynnistää kertakäyttöisen podin imagesta ilman manifestia.kubectl run debug --rm -it --image=busybox -- sh
Käyttöönotto, skaalaus, julkaisu
Näyttää, mitä apply muuttaisi, muuttamatta mitään.kubectl diff -f deploy.yaml
Luo tai päivittää resursseja manifestitiedostosta.kubectl apply -f deploy.yaml
Ottaa manifestit käyttöön ja poistaa objektit, jotka poistuivat niistä.kubectl apply -f dir/ --prune -l app=web
Avaa elävän resurssin editoriisi ja ottaa muutokset käyttöön tallennettaessa.kubectl edit deploy/web
Muuttaa muutamaa kenttää elävästä resurssista.kubectl patch deploy/web --patch-file fix.json
Ohjaa deploymentin kontit uuteen imageen.kubectl set image deploy/web web=nginx:1.27
Korvaa objektin poistaen ja luoden sen uudelleen tarvittaessa.kubectl replace --force -f deploy.yaml
Poistaa manifestitiedostossa ilmoitetut resurssit.kubectl delete -f deploy.yaml
Muuttaa deploymentin replikoiden määrää.kubectl scale deploy/web --replicas=4
Seuraa rolloutin valmistumista tai epäonnistumista.kubectl rollout status deploy/web
Listaa revisiot, joiden läpi rollout on kulkenut.kubectl rollout history deploy/web
Käynnistää deploymentin jokaisen podin uudelleen yksi kerrallaan.kubectl rollout restart deploy/web
Palauttaa deploymentin takaisin edelliseen revisioon.kubectl rollout undo deploy/web
Palvelut ja verkko
Listaa palvelut niiden tyypin ja klusteri-IP:n kera.kubectl get svc
Näyttää, mitkä pod-IP:t tällä hetkellä palvelevat kutakin palvelua.kubectl get endpoints web
Luo palvelun, joka välittää joukon podeja; --type=NodePort tai LoadBalancer ulottuu klusterin ulkopuolelle.kubectl expose deploy/web --port=80
Näyttää kunkin ingressin takana olevan load balancer -osoitteen (alpha).kubectl ingress status -A
Listaa politiikat, jotka rajoittavat pod-liikennettä.kubectl get networkpolicies
Tunneloi paikallisen portin podiin tai palveluun.kubectl port-forward svc/web 8080:80
Solmut ja ylläpito
Listaa klusterin solmut ja niiden tilan.kubectl get nodes -o wide
Merkitsee solmun ei-skeduloituvaksi (ei uusia podeja).kubectl cordon node-1
Merkitsee solmun taas skeduloituvaksi.kubectl uncordon node-1
Häätää podit solmusta ja merkitsee sen ei-skeduloituvaksi.kubectl drain node-1 --ignore-daemonsets
Lisää tai poistaa taintin, joka karkottaa podit solmusta.kubectl taint node node-1 key=value:NoSchedule
Poistaa juuttuneen podin heti ohittaen hallitun sammutuksen.kubectl delete pod web-abc --grace-period=0 --force
Objektit ja konfiguraatio
Luo uuden namespacen resurssien rajaukseen.kubectl create namespace staging
Listaa namespacet ja niiden tilan.kubectl get namespaces
Tallentaa konfiguraatioavaimet tai -tiedostot klusteriobjektiksi.kubectl create configmap app --from-file=config.yaml
Listaa namespacen config mapit.kubectl get configmaps
Tallentaa salasanan tai sertifikaatin secretinä.kubectl create secret generic db --from-literal=password=s3cret
Listaa namespacen secretit.kubectl get secrets
Liittää tai poistaa labelin resurssista.kubectl label pod web-abc tier=backend
Liittää metatietoja, joita selektorit eivät voi täsmätä.kubectl annotate deploy/web release=july