1. korak: Zaženite strežnik Kubernetes
V tem koraku zaženemo strežnik Kubernetes, ki je minikuba, ki vsebuje pode v vsebniku. Minikube cluste lahko zaženemo tako, da zaženemo naslednji ukaz:
~$ zaženi minikubeKo se ukaz izvede, se v naši aplikaciji zažene lokalna gruča minikube.
Minikube uporablja VirtualBox za izdelavo lokalno dostopnega virtualnega stroja. Naše ukaze ali storitve lahko hitro razmestimo v gručah Kubernetes. Nato jih testiramo lokalno z uporabo gruče minikube Kubernetes.
2. korak: Oglejte si seznam vseh podov skupaj s slikami v gruči
Za izvajanje vseh teh ukazov mora biti Kubectl nameščen v vašem lokalnem sistemu. V tem koraku se bomo naučili, kako si ogledati seznam slik, ki ga uporabljajo podi v gručah in je shranjen v našem vsebniku. V orodju ukazne vrstice Kubectl lahko zaženemo naslednji ukaz, da dobimo seznam shranjenih slik.
~$ kubectl pridobi pods --vsi-imenski prostori -O jsonpath = '{range .items[]}{'\n'}{.metadata.name}{':\t'}{range .spec.containers[]}{.image}{', '}{end}{end }' | \> vrsta
Ko se ukaz izvede, se izhod prikaže kot na naslednjem posnetku zaslona:
Ta ukaz pridobi seznam podov, ki so prisotni v gruči, in nato pridobi vse slike, ki so najdene na tej poti. Ko so slike najdene, jih ukaz tudi razvrsti po zaporedju, po abecedi. Nazadnje prešteje število slik, ki so prisotne v naši gruči. Ta ukaz vrne izhod v obliki poti JSON. Razpravljajmo o delih ukaza enega za drugim:
– -vsi-imenski prostori: Z lahkoto lahko pridobimo seznam podov v vseh imenskih prostorih v naši gruči Kubernetes. Tukaj so deklarirane vse slike strokov.
– o jsonpath=': Ta parameter podaja format izhoda. Format poti JSON je v skladu z danim ukazom in prikazuje ime sklopa in slike vsebnika ter izhodni format. Seznam je ločen z zavihki in vsak pod je ločen z vstavljanjem nove vrstice.
|: Kot lahko vidite, ukazi uporabljajo »|« značaj. Uporablja se za prenos izhoda v podajanje ukaza.
razvrsti: Ta parameter razvrsti slike v določenem vrstnem redu.
To je popolna razlaga ukaza. Upajmo, da razumete namen tega ukaza. Kot lahko vidimo na posnetku zaslona, je seznam podov in slik prikazan in ločen z vejicami.
3. korak: pridobite seznam slik za določen pod
V tem koraku se bomo naučili samo o pridobivanju določenih slik pod. V ta namen znova zaženemo ukaz, ki podaja ime sklopa v poti JSON. Zaženite naslednji ukaz, da pridobite slike določenega sklopa.
~$ kubectl dobiti pods --vsi-imenski prostori -O jsonpath = '{.items[].spec.containers[].image}' -l aplikacija =nginxV tem ukazu vzamemo pod z imenom »app=ngnix«.
Ko se ukaz izvede, izhodni format poti JSON prikaže seznam vseh slik vsebnika, ki jih uporablja pod z imenom »app-ngnix«.
Na ta način lahko dobimo seznam slik, ki jih uporabljajo določeni sklopi v vseh imenskih prostorih v naši aplikaciji Kubernetes.
4. korak: pridobite seznam slik v določenem imenskem prostoru v gruči
To je četrti korak našega članka, kjer izvemo, kako lahko pridobimo seznam slik glede na določen imenski prostor v naši gruči Kubernetes. V orodju ukazne vrstice Kubectl zaženemo naslednji ukaz:
~$ kubectl dobiti pods --imenski prostor biti sistem -O jsonpath = '{.items[].spec.containers[].image}'V tem ukazu želimo pridobiti slike imenskega prostora, katerega ime je 'kube-system', ki ga uporabljajo pods v naši gruči Kubernetes.
Seznam slik je prikazan v izhodu, ki se ustvari ob izvedbi ukaza. Tukaj je posnetek zaslona:
Format poti JSON izhoda je enostavno pridobiti z izvajanjem ukaza. Vsaka vrstica v izhodu se približa sliki vsebnika, ki jo uporablja pod v imenskem prostoru »kube-system«. Format izhoda je prikazan s predlogo poti JSON, ki je uporabljena v ukazu. V tem primeru predloga ».items[].spec.containers [].image« vrne sliko vsebnika, ki jo uporablja vsak pod v imenskem prostoru.
5. korak: pridobite seznam slik vseh imenskih prostorov predloge Go
V tem koraku se bomo naučili postopka pridobivanja seznama slik vseh imenskih prostorov, ki ga uporabljajo podi, ki uporabljajo izhodni format »go template« v gruči Kubernetes. Za to uporabimo naslednji ukaz:
~$ kubectl dobiti pods --vsi-imenski prostori -O go-template --šablona = '{{range .ite ms}}{{range .spec.containers}}{{.image}} {{end}}{{end}}'Preden preidemo na izhod, se najprej pogovorimo o parametrih ukaza, da boste imeli predstavo o tem, kako lahko uporabimo različne parametre v našem ukazu. Začnemo lahko z novimi parametri, o katerih prej nismo razpravljali:
-o go-template: To kaže, da mora biti izhodni format v skladu z zapisom »go-template«.
– -template=”{{razpon. predmeti}} {{razpon. spec.containers}}{{.image}} {{end}}{{end}}”: To zagotavlja predlogo, ki bo uporabljena za izhod. Ta predloga ponavlja seznam podov, ki za vsakega pridobi sliko vsebnika. Rezultat je s presledki ločen seznam slik vsebnika, ki ga uporabljajo vsi podi v vseh imenskih prostorih v gruči.
Po izvedbi prejšnjega ukaza dobite naslednji izpis:
To so vsi koraki, skozi katere lahko pridobimo seznam slik, ki jih uporabljajo podi v našem vsebniku Kubernetes.
Zaključek
Sklepamo, da lahko enostavno pridobimo seznam shranjenih slik v vsebniku v naši aplikaciji Kubernetes s pomočjo orodja ukazne vrstice kubectl. V Kubernetesu lahko seznam slik pridobimo na različne načine. Vsaka metoda je jasno razložena v danih korakih. Možnost »–all namespace« pridobi slike vseh imenskih prostorov, ki jih uporablja pod, ki so shranjeni v vsebniku in jih je enostavno pridobiti z izvajanjem ukazov. Sledite vsem korakom za svojo aplikacijo, da dobite seznam slik, tako da zaženete ukaze v orodju ukazne vrstice kubectl.