1. Adım: Kubernetes Sunucusunu Başlatın
Bu adımda, bir kapta pod'ları içeren minikube olan Kubernetes sunucusunu çalıştırıyoruz. Aşağıdaki komutu çalıştırarak minikube kümesini çalıştırabiliriz:
~$ minikube'u başlatKomut çalıştırıldığında, uygulamamızda minikube yerel kümesi çalışır.
Minikube, yerel olarak erişilebilen bir sanal makine oluşturmak için bir VirtualBox kullanır. Komutlarımızı veya hizmetlerimizi Kubernetes kümelerinde hızla devreye alabiliriz. Ardından minikube Kubernetes kümesini kullanarak bunları yerel olarak test ediyoruz.
2. Adım: Kümedeki Görüntülerle birlikte Tüm Bölmelerin Listesini Görüntüleyin
Tüm bu komutları çalıştırmak için yerel sisteminizde Kubectl kurulu olmalıdır. Bu adımda, bölmeler tarafından kümelerde kullanılan ve kapsayıcımızda depolanan görüntülerin bir listesini nasıl görüntüleyeceğimizi öğreneceğiz. Depolanan görüntülerin bir listesini almak için Kubectl komut satırı aracımızda aşağıdaki komutu çalıştırabiliriz.
~$ kubectl bölmeleri al --all-ad alanları -Ö jsonpath = '{range .items[]}{'\n'}{.metadata.name}{':\t'}{range .spec.containers[]}{.image}{', '}{end}{end }' | \> düzenlemek
Komut yürütüldüğünde, çıktı aşağıdaki ekran görüntüsündeki gibi görünür:
Bu komut, kümede bulunan bölmelerin listesini getirir ve ardından bu yolda bulunan tüm görüntüleri getirir. Görüntüler bulunduktan sonra, komut bu görüntüleri de sırayla, alfabetik olarak sıralar. Son olarak, kümemizde bulunan görüntülerin sayısını sayar. Bu komut, çıktıyı JSON yolu biçiminde döndürür. Komutun bölümlerini tek tek ele alalım:
– -tüm-ad alanları: Kubernetes kümemizdeki tüm ad alanlarındaki bölmelerin listesini kolayca getirebiliriz. Burada, bölmelerin tüm görüntüleri bildirilir.
– jsonpath=': Bu parametre çıktının formatını verir. JSON yolu formatı, verilen komuta göredir ve pod adını ve kapsayıcı görüntülerinin yanı sıra çıktı formatını da görüntüler. Liste sekmeyle ayrılmıştır ve her bölme yeni bir satır eklenerek ayrılır.
|: Gördüğünüz gibi, komutlar “|” kullanıyor. karakter. Çıktıyı geçen komuta aktarmak için kullanılır.
düzenlemek: Bu parametre, görüntüleri belirli bir sırada sıralar.
Bu, komutun tam açıklamasıdır. Umarım, bu komutun amacını anlamışsınızdır. Ekran görüntüsünde görebileceğimiz gibi, bölmeler ve resimler listesi görüntülenir ve virgüllerle ayrılır.
3. Adım: Belirli Bir Bölme İçin Görüntülerin Listesini Alın
Bu adımda, yalnızca belirli bölme görüntülerinin alınması hakkında bilgi edineceğiz. Bu amaçla JSON yolundaki pod adını belirten komutu tekrar çalıştırıyoruz. Belirli bir bölmenin görüntülerini almak için aşağıdaki komutu çalıştırın.
~$ kubectl bölmeleri al --all-ad alanları -Ö jsonpath = '{.items[].spec.containers[].image}' -l uygulama =nginxBu komutta “app=ngnix” isimli bir pod alıyoruz.
Komut yürütüldüğünde, JSON yol çıktı biçimi, 'app-ngnix' adlı bölme tarafından kullanılan tüm kapsayıcı görüntülerin listesini görüntüler.
Bu şekilde, Kubernetes uygulamamızdaki tüm ad alanlarındaki belirli bölmeler tarafından kullanılan görüntülerin bir listesini alabiliriz.
4. Adım: Kümedeki Belirli Bir Ad Alanındaki Görüntülerin Listesini Alın
Bu, Kubernetes kümemizde belirli bir ad alanına karşı görüntülerin listesini nasıl elde edebileceğimizi öğrendiğimiz makalemizin dördüncü adımıdır. Kubectl komut satırı aracımızda aşağıdaki komutu çalıştırıyoruz:
~$ kubectl bölmeleri al --ad alanı bir sistem olmak -Ö jsonpath = '{.items[].spec.containers[].image}'Bu komutta Kubernetes clusterımızda yer alan podların kullandığı “kube-system” isimli namespace'in resimlerini almak istiyoruz.
Komut yürütüldüğünde üretilen çıktıda bir resim listesi görüntülenir. İşte ekran görüntüsü:
Çıktının JSON yolu formatı, komutu çalıştırarak kolayca elde edilir. Çıktıdaki her satır, 'kube-system' ad alanındaki bir bölme tarafından kullanılan bir kapsayıcı görüntüye yaklaşır. Çıktının biçimi, komutta kullanılan JSON yol şablonu tarafından gösterilir. Bu örnekte, “.items[].spec.containers [].image” şablonu, ad alanındaki her bölme tarafından kullanılan kapsayıcı görüntüsünü döndürür.
Adım 5: Go Şablonunun Tüm Ad Alanlarının Görüntülerinin Listesini Alın
Bu adımda, Kubernetes kümesinde bir 'go template' çıktı biçimi kullanan pod'lar tarafından kullanılan tüm ad alanlarının görüntü listesini getirme sürecini öğreneceğiz. Bunun için aşağıdaki komutu kullanıyoruz:
~$ kubectl bölmeleri al --all-ad alanları -Ö go-şablon --şablon = '{{aralık .ite ms}}{{aralık .spec.containers}}{{.image}} {{end}}{{end}}'Çıktıya geçmeden önce, komutumuzun parametrelerini tartışalım, böylece farklı parametreleri komutumuzda nasıl kullanabileceğimiz hakkında bir fikriniz olur. Daha önce tartışılmayan yeni parametrelerle başlayabiliriz:
-o şablona git: Bu, çıktı formatının “go-template” notasyonuna göre olması gerektiğini gösterir.
– -template=”{{aralık. öğeler}} {{aralık. spec.containers}}{{.image}} {{end}}{{end}}”: Bu, çıktı için kullanılacak şablonu sağlar. Bu şablon, her biri için kapsayıcı görüntüsünü alan bölmeler listesinde yinelenir. Sonuç, kümedeki tüm ad alanlarındaki tüm bölmeler tarafından kullanılan kapsayıcı görüntülerin boşlukla ayrılmış bir listesidir.
Önceki komutun yürütülmesi üzerine aşağıdaki çıktıyı alırsınız:
Bunlar, Kubernetes kapsayıcımızdaki bölmeler tarafından kullanılan görüntülerin listesini getirebileceğimiz tüm adımlardır.
Çözüm
Kubernetes uygulamamızda container'da saklanan görüntülerin listesini kubectl komut satırı aracı yardımıyla kolayca alabileceğimiz sonucuna vardık. Kubernetes'te farklı yöntemlerle görsellerin listesini alabiliyoruz. Her yöntem verilen adımlarda açık bir şekilde açıklanmıştır. “–all namespace” seçeneği, kapsayıcıda depolanan ve komutları çalıştırarak kolayca getirilebilen, bölme tarafından kullanılan tüm ad alanlarının görüntülerini alır. Kubectl komut satırı aracında komutları çalıştırarak uygulamanızın görsel listesini alması için tüm adımları takip edebilirsiniz.