Kubectl on käsurea utiliit Kubernetes vastu käskude käivitamiseks Kubernetes klastrid. Saate seda kasutada mitmesuguste ülesannete täitmiseks, sealhulgas rakenduste/mikroteenuste juurutamiseks, ressursside vaatamiseks ja haldamiseks, logifailide kontrollimine, ja palju muud.
Selles õpetuses tutvustame sageli kasutatavaid funktsioone kubectl käsud a haldamiseks Kubernetes (K8S) klaster.
Me kasutame Minikube peal Ubuntu 22.04 kui meie kohalik Kubernetes klaster.
sisse Kubernetes, on objektid püsivad olemid, mis tagavad, et teie klaster saavutab soovitud oleku. Need on teie töökoormuse ehitusplokid klastris. Objektide hulka kuuluvad replikaadid, juurutused, kaustad, deemonsetid, teenused, nimeruumid, konfiguratsioonikaardid ja saladused ning püsivad mahud.
Kõige tavalisem viis objektide loomiseks on kasutada a YAML manifesti fail tavaliselt koos a .yaml
või .yml
faililaiendit.
Objekti loomiseks a YAML manifesti fail, käivitage:
$ kubectl apply -f ./file1.yaml.
Et luua ressursse mitmest YAML failid, käivitage:
$ kubectl apply -f ./file1.yaml -f ./file2.yaml
Ressursside loomiseks kõigist manifestifailidest kataloogis käitage järgmist.
$ kubectl apply -f ./dir
URL-ist ressursside loomiseks käivitage:
$ kubectl apply -f https://sample-url.io.
A sõlm on füüsiline või virtuaalne masin, millel töötavad kaustad ja muud teie töökoormuse aluseks olevad ressursid. Iga sõlme haldab peasõlm, mida nimetatakse a juhtpaneel mis sisaldab mitmeid kaunade käitamiseks vajalikke teenuseid. Klastris on tavaliselt mitu sõlme.
Klastris olevate sõlmede arvu hankimiseks käivitage:
$ kubectl get nodes.
Podide sõlmes käivitamiseks käivitage:
$ kubectl get pods -o wide | grep
Sõlme planeerimatuks märkimiseks käivitage.
$ kubectl cordon minikubenode/minikube cordoned
Sõlme plaanitavaks märkimiseks käivitage.
$ kubectl uncordon minikubenode/minikube uncordoned
Ressursikasutuse mõõdikute kuvamiseks, nt RAM ja Protsessor jooksma:
$ kubectl top node
Sõlme või mitme sõlme kustutamiseks käivitage käsk:
$ kubectl delete node
A Kubernetese klaster on sõlmede või serverite rühm, mis käitavad konteinerrakendusi. Sõlm võib käitada ühte või mitut kausta, mis sisaldavad ühte või mitut töötavat konteinerit.
Teabe loetlemiseks selle kohta meister.
$ kubectl cluster-info.
Et kontrollida kubectl versioon.
$ kubectl version --short.
Kubernetese klastri konfiguratsiooni kuvamiseks.
$ kubectl config view.
Kontekstide kuvamiseks.
$ kubectl config get-contexts.
Saadaolevate API ressursside loetlemiseks.
$ kubectl api-resources.
Saadaolevate API versioonide loetlemiseks.
$ kubectl api-versions.
sisse Kubernetes, a pod on väikseim juurutatav üksus, mida saate klastris luua ja hallata. Pod sisaldab jagatud mahtude ja võrguressurssidega konteinerite rühma ning juhiseid rakenduse käitamiseks.
Kaunad on lühiajalised ja ühekordselt kasutatavad, mis tähendab, et need on lühiajalised ega kesta seetõttu pikka aega. Sellisena on parim viis kaustade juurutamiseks kasutada deklaratiivset konfiguratsiooni, kasutades YAML-faili.
See on reprodutseeritavam ja mugavam, kuna seda saab uuesti kasutada. Lisaks tagab see, et Kubernetes jälgib pidevalt YAML-failis määratletud ressursse ja töötab määratud viisil.
Klastris töötavate kaustade loendi vaatamiseks käivitage käsk:
$ kubectl get pods.
Kaunade kuvamiseks nende siltide kõrval käivitage:
$ kubectl get pods --show-labels.
Kõigi nimeruumide kõigi kaustade loetlemiseks käivitage:
$ kubectl get pods --all-namespaces.
Podrite loetlemiseks praeguses nimeruumis ja lisateabe saamiseks lisage -o
lai parameeter.
$ kubectl get pods -o wide.
Konkreetse kausta üksikasjaliku oleku kuvamiseks käivitage:
$ kubectl describe pod
Kaubale sildi lisamiseks käivitage käsk:
$ kubectl label pods my-pod new-label=awesome.
Sildi eemaldamiseks käivitage:
$ kubectl label pods my-pod new-label-
Interaktiivse kesta saamiseks konteinerihoidikuga käivitage käsk:
$ kubectl exec -it/bin/sh.
Konkreetse kausta kustutamiseks tehke järgmist.
$ kubectl delete pod
A ReplicaSet (RS) tagab, et igal ajahetkel on alati stabiilne arv jooksvaid kassasid. See tagab teatud arvu kaustade kättesaadavuse, nagu on määratletud YAML-i manifesti failis.
Et saada number ReplicaSets klastris käivitage käsk:
$ kubectl get replicasets.
Konkreetse koopiakomplekti kohta lisateabe saamiseks käivitage käsk:
$ kubectl describe replicasets
Teenus on võrgu abstraktsioon kausta kaudu. Teenused pakuvad avastamist ja marsruutimist kaustade vahel. Näiteks saab teenus ühendada rakenduse esiosa selle tagaosaga, millest igaüks töötab eraldi juurutustena.
Käitatavate teenuste loetlemiseks:
$ kubectl get services.
Teenuse kohta lisateabe saamiseks käivitage käsk:
$ kubectl describe services.
Teenusekonto on objekt, mida klastri pod kasutab Kubernetes API serverile juurdepääsuks.
Teenusekontode loetlemiseks käivitage:
$ kubectl get serviceaccounts.
Teenusekonto kohta üksikasjalikuma teabe saamiseks käivitage:
$ kubectl describe serviceaccounts.
Teenusekonto kustutamiseks kasutage järgmist süntaksit.
$ kubectl delete serviceaccounts
Nimeruumid on üksused, mis pakuvad vahendit, mille abil saab ühe klastri edasi jagada mitmeks alamklastriks, mida saab seejärel eraldi hallata.
Nimeruumide loetlemiseks käivitage:
$ kubectl get namespaces.
Nimeruumi üksikasjaliku teabe kuvamiseks kasutage süntaksit:
$ kubectl describe namespace
Nimeruumi loomiseks käivitage käsk:
$ kubectl create namespace
Nimeruumi redigeerimiseks või muutmiseks käivitage käsk:
$ kubectl edit namespace
Nimeruumi käitamise ressursikasutuse kuvamiseks toimige järgmiselt.
$ kubectl top namespace
Nimeruumi kustutamiseks käivitage käsk:
$ kubectl delete namespace
sisse Kubernetes, saladusi on objekt, mis sisaldab tundlikku ja konfidentsiaalset teavet, nagu kasutajanimed ja paroolid.
Olemasolevate saladuste loetlemiseks käivitage käsk:
$ kubectl get secret.
Olemasolevate saladuste kohta üksikasjaliku teabe kuvamiseks toimige järgmiselt.
$ kubectl describe secrets.
Saladuse loomiseks jookske
$ kubectl create secret [flags] [options]
Saladuse kustutamiseks käivitage:
$ kubectl delete secret
A kasutuselevõtt on objekt, mis võimaldab teil deklareerida oma rakenduse soovitud oleku. Saate määrata koopiate arvu, kaustade kujutise, kaustade arvu ja muid ressursse.
Juurutuste arvu saamiseks käivitage käsk:
$ kubectl get deployment.
Loetlege konkreetse juurutuse üksikasjalik olek.
$ kubectl describe deployment
Juurutuse kustutamiseks käivitage käsk:
$ kubectl delete deployment
Uue juurutuse loomiseks käivitage käsk:
$ kubectl create deployment
sisse Kubernetes, an sündmus on objekt, mis genereeritakse vastusena ressursi, näiteks kausta, konteineri või sõlme oleku muutumisele. Hea näide on podi oleku muutmine ootel olekust töötamiseks või edukaks ebaõnnestumiseks.
Kõigi sündmuste loetlemiseks käivitage:
$ kubectl get events.
Sündmuste loetlemiseks, kuid kausta sündmuste välistamiseks käivitage käsk:
$ kubectl get events --field-selector involvedObject.kind!=Pod.
Sündmuste loetlemiseks koos nende ajatemplitega ja sortimiseks loomisaja järgi käivitage:
$ kubectl get events --sort-by=.metadata.creationTimestamp.
Palgid on kriitilise tähtsusega klastri sündmuste salvestamisel ning vigade silumisel ja tõrkeotsingul abistamisel. Logi verbaalsust saate vaadata või konfigureerida järgmiste käskude abil.
Konkreetse pod-käivituse logide printimiseks tehke järgmist.
$ kubectl logs
Konkreetse podi käivitamise reaalajas logide printimiseks ja jälgimiseks tehke järgmist.
$ kubectl logs -f
Podi logide printimiseks viimase X tunni, näiteks 3 tunni kohta, käivitage:
$ kubectl logs --since=3h
Podi sees oleva kindla konteineri logide printimiseks käivitage
$ kubectl logs -c
Looge viimased 20 logirida
$ kubectl logs --tail=20
Looge podi logid ja salvestage logifaili nimega pod.log
$ kubectl logspod.log.
See oli üldine ülevaade mõnest kõige sagedamini kasutatavast kubectl käsud administreerimiseks a Kubernetes klaster.