Hakbang 1: Simulan ang Kubernetes Server
Sa hakbang na ito, pinapatakbo namin ang server ng Kubernetes na minikube na naglalaman ng mga pod sa isang lalagyan. Maaari naming patakbuhin ang minikube cluste sa pamamagitan ng pagpapatakbo ng sumusunod na command:
~$ simulan ang minikubeKapag ang command ay naisakatuparan, ang minikube local cluster ay tumatakbo sa aming application.
Gumagamit ang Minikube ng isang VirtualBox upang bumuo ng isang virtual na makina na naa-access sa lokal. Mabilis naming mai-deploy ang aming mga command o serbisyo sa mga cluster ng Kubernetes. Pagkatapos nito, sinubukan namin sila nang lokal gamit ang minikube Kubernetes cluster.
Hakbang 2: Tingnan ang Listahan ng Lahat ng Pod kasama ng Mga Larawan sa Cluster
Upang patakbuhin ang lahat ng mga utos na ito, dapat na naka-install ang Kubectl sa iyong lokal na system. Sa hakbang na ito, matututunan namin kung paano tingnan ang isang listahan ng mga larawan na ginagamit ng mga pod sa mga cluster at naka-store sa aming container. Maaari naming patakbuhin ang sumusunod na command sa aming Kubectl command-line tool upang makakuha ng listahan ng mga nakaimbak na larawan.
~$ kubectl makakuha ng mga pod --all-namespaces -O jsonpath = '{range .items[]}{'\n'}{.metadata.name}{':\t'}{range .spec.containers[]}{.image}{', '}{end}{end }' | \> uri
Kapag ang command ay naisakatuparan, ang output ay lilitaw tulad ng sa sumusunod na screenshot:
Kinukuha ng command na ito ang listahan ng mga pod na naroroon sa cluster at pagkatapos ay kinukuha ang lahat ng larawang makikita sa path na ito. Matapos mahanap ang mga larawan, pinag-uuri-uriin din ng command ang mga larawang ito sa pagkakasunud-sunod, ayon sa alpabeto. Panghuli, binibilang nito ang bilang ng mga larawang naroroon sa aming cluster. Ibinabalik ng command na ito ang output sa JSON path na format. Isa-isa nating talakayin ang mga bahagi ng utos:
– -all-namespaces: Madali naming makukuha ang listahan ng mga pod sa lahat ng namespaces sa aming Kubernetes cluster. Dito, idineklara ang lahat ng larawan ng mga pod.
– o jsonpath=': Ang parameter na ito ay nagbibigay ng format ng output. Ang format ng JSON path ay ayon sa ibinigay na utos at ipinapakita ang pangalan ng pod at mga imahe ng lalagyan pati na rin ang format ng output. Ang listahan ay pinaghihiwalay ng tab, at ang bawat pod ay pinaghihiwalay sa pamamagitan ng paglalagay ng bagong linya.
|: Tulad ng nakikita mo, ginagamit ng mga utos ang '|' karakter. Ito ay ginagamit upang ilipat ang output sa passing command.
uri: Ang parameter na ito ay nag-uuri ng mga imahe sa isang partikular na pagkakasunud-sunod.
Ito ang kumpletong paliwanag ng utos. Sana, naiintindihan mo ang layunin ng utos na ito. Tulad ng nakikita natin sa screenshot, ang listahan ng mga pod at mga imahe ay ipinapakita at pinaghihiwalay ng mga kuwit.
Hakbang 3: Kunin ang Listahan ng Mga Larawan para sa isang Tukoy na Pod
Sa hakbang na ito, malalaman lang natin ang tungkol sa pagkuha ng mga partikular na larawan ng pod. Para sa layuning ito, pinapatakbo namin muli ang command na tumutukoy sa pangalan ng pod sa JSON path. Patakbuhin ang sumusunod na command upang kunin ang mga larawan ng isang partikular na pod.
~$ kubectl makakuha ng mga pod --all-namespaces -O jsonpath = '{.items[].spec.containers[].image}' -l app =nginxSa command na ito, kumuha kami ng pod na pinangalanang 'app=ngnix'.
Kapag naisakatuparan ang command, ipinapakita ng JSON path na format ng output ang listahan ng lahat ng mga imahe ng container na ginagamit ng pod na pinangalanang 'app-ngnix'.
Sa ganitong paraan, makakakuha tayo ng listahan ng mga larawang ginagamit ng mga partikular na pod sa lahat ng namespace sa aming Kubernetes application.
Hakbang 4: Kumuha ng Listahan ng Mga Larawan sa isang Tukoy na Namespace sa Cluster
Ito ang ikaapat na hakbang ng aming artikulo kung saan nalaman namin ang tungkol sa kung paano namin makukuha ang listahan ng mga larawan laban sa isang partikular na namespace sa aming Kubernetes cluster. Pinapatakbo namin ang sumusunod na command sa aming Kubectl command-line tool:
~$ kubectl makakuha ng mga pod --namespace maging isang sistema -O jsonpath = '{.items[].spec.containers[].image}'Sa command na ito, gusto naming kunin ang mga larawan ng namespace na ang pangalan ay 'kube-system' na ginagamit ng mga pod sa aming Kubernetes cluster.
Ang isang listahan ng mga imahe ay ipinapakita sa output na ginawa kapag ang command ay naisakatuparan. Narito ang screenshot:
Ang format ng JSON path ng output ay madaling makuha sa pamamagitan ng pagpapatakbo ng command. Ang bawat linya sa output ay lumalapit sa isang container na imahe na ginagamit ng isang pod sa 'kube-system' namespace. Ang format ng output ay ipinapakita ng JSON path template na ginagamit sa command. Sa halimbawang ito, ibinabalik ng template na '.items[].spec.containers [].image' ang container image na ginagamit ng bawat pod sa namespace.
Hakbang 5: Kunin ang Listahan ng Mga Larawan ng Lahat ng Namespace ng Go Template
Sa hakbang na ito, malalaman natin ang proseso ng pagkuha ng listahan ng mga larawan ng lahat ng namespace na ginagamit ng mga pod na gumagamit ng 'go template' na format ng output sa Kubernetes cluster. Para dito, ginagamit namin ang sumusunod na command:
~$ kubectl makakuha ng mga pod --all-namespaces -O go-template --template = '{{range .ite ms}}{{range .spec.containers}}{{.image}} {{end}}{{end}}'Bago pumunta sa output, talakayin muna natin ang mga parameter ng command para magkaroon ka ng ideya kung paano natin magagamit ang iba't ibang parameter sa ating command. Maaari tayong magsimula sa mga bagong parameter na hindi napag-usapan dati:
-o go-template: Ipinapakita nito na ang format ng output ay dapat ayon sa notasyong 'go-template'.
– -template='{{range. aytem}} {{saklaw. spec.containers}}{{.image}} {{end}}{{end}}”: Nagbibigay ito ng template na gagamitin para sa output. Ang template na ito ay umuulit sa listahan ng mga pod na kumukuha ng imahe ng lalagyan para sa bawat isa. Ang resulta ay isang listahan ng mga container na imahe na pinaghihiwalay ng espasyo na ginagamit ng lahat ng pod sa lahat ng namespace sa cluster.
Sa pagpapatupad ng nakaraang utos, makukuha mo ang sumusunod na output:
Ito ang lahat ng mga hakbang kung saan maaari naming makuha ang listahan ng mga larawan na ginagamit ng mga pod sa aming container ng Kubernetes.
Konklusyon
Napagpasyahan namin na madali naming makuha ang listahan ng mga nakaimbak na larawan sa container sa aming Kubernetes application sa tulong ng kubectl command line tool. Sa Kubernetes, makukuha natin ang listahan ng mga larawan sa iba't ibang pamamaraan. Ang bawat pamamaraan ay malinaw na ipinaliwanag sa ibinigay na mga hakbang. Nakukuha ng opsyong “–all namespace” ang mga larawan ng lahat ng namespace na ginagamit ng pod na nakaimbak sa container at madaling makuha sa pamamagitan ng pagpapatakbo ng mga command. Maaari mong sundin ang lahat ng mga hakbang para sa iyong aplikasyon upang makuha ang listahan ng mga larawan sa pamamagitan ng pagpapatakbo ng mga command sa kubectl command line tool.