Krok 1: Uruchom serwer Kubernetes
W tym kroku uruchamiamy serwer Kubernetes, czyli minikube, który zawiera pody w kontenerze. Możemy uruchomić klaster minikube, uruchamiając następujące polecenie:
~$ uruchom minikubaPo wykonaniu polecenia lokalny klaster minikube uruchamia się w naszej aplikacji.
Minikube wykorzystuje VirtualBox do zbudowania dostępnej lokalnie maszyny wirtualnej. Nasze polecenia lub usługi możemy szybko wdrożyć w klastrach Kubernetes. Następnie testujemy je lokalnie za pomocą klastra minikube Kubernetes.
Krok 2: Wyświetl listę wszystkich podów wraz z obrazami w klastrze
Aby uruchomić wszystkie te polecenia, Kubectl musi być zainstalowany w twoim systemie lokalnym. W tym kroku nauczymy się przeglądać listę obrazów, które są używane przez pody w klastrach i są przechowywane w naszym kontenerze. Możemy uruchomić następujące polecenie w naszym narzędziu wiersza poleceń Kubectl, aby uzyskać listę przechowywanych obrazów.
~$ kubectl pobiera strąki --all-namespaces -O jsonpath = '{range .items[]}{'\n'}{.metadata.name}{':\t'}{range .spec.containers[]}{.image}{', '}{end}{end }' | \> sortować
Po wykonaniu polecenia dane wyjściowe są wyświetlane jak na poniższym zrzucie ekranu:
To polecenie pobiera listę podów obecnych w klastrze, a następnie pobiera wszystkie obrazy znalezione w tej ścieżce. Po znalezieniu obrazów polecenie sortuje również te obrazy w kolejności alfabetycznej. Na koniec zlicza liczbę obrazów obecnych w naszym klastrze. To polecenie zwraca dane wyjściowe w formacie ścieżki JSON. Omówmy poszczególne części polecenia:
– -wszystkie przestrzenie nazw: Możemy łatwo pobrać listę podów we wszystkich przestrzeniach nazw w naszym klastrze Kubernetes. Tutaj zadeklarowane są wszystkie obrazy strąków.
– o jsonpath=’: Ten parametr określa format danych wyjściowych. Format ścieżki JSON jest zgodny z podanym poleceniem i wyświetla nazwę zasobnika oraz obrazy kontenera, a także format wyjściowy. Lista jest rozdzielana tabulatorami, a każdy pod jest oddzielany przez wstawienie nowego wiersza.
|: Jak widać, polecenia wykorzystują „|” postać. Służy do przesyłania danych wyjściowych do polecenia przekazującego.
sortować: Ten parametr sortuje obrazy w określonej kolejności.
To jest pełne wyjaśnienie polecenia. Mamy nadzieję, że rozumiesz cel tego polecenia. Jak widać na zrzucie ekranu, lista podów i obrazów jest wyświetlana i oddzielana przecinkami.
Krok 3: Uzyskaj listę obrazów dla określonego poda
W tym kroku dowiemy się tylko o pobieraniu określonych obrazów strąków. W tym celu ponownie uruchamiamy komendę określającą nazwę poda w ścieżce JSON. Uruchom następujące polecenie, aby pobrać obrazy określonego zasobnika.
~$ kubectl pobiera strąki --all-namespaces -O jsonpath = '{.items[].spec.containers[].image}' -l aplikacja =nginxW tym poleceniu bierzemy kapsułę o nazwie „app=ngnix”.
Po wykonaniu polecenia format wyjściowy ścieżki JSON wyświetla listę wszystkich obrazów kontenerów używanych przez pod o nazwie „app-ngnix”.
W ten sposób możemy uzyskać listę obrazów używanych przez określone pody we wszystkich przestrzeniach nazw w naszej aplikacji Kubernetes.
Krok 4: Uzyskaj listę obrazów w określonej przestrzeni nazw w klastrze
To jest czwarty krok naszego artykułu, w którym dowiemy się, w jaki sposób możemy uzyskać listę obrazów dla określonej przestrzeni nazw w naszym klastrze Kubernetes. Uruchamiamy następujące polecenie w naszym narzędziu wiersza poleceń Kubectl:
~$ kubectl pobiera strąki --przestrzeń nazw być systemem -O jsonpath = '{.items[].spec.containers[].image}'W tym poleceniu chcemy pobrać obrazy przestrzeni nazw o nazwie „kube-system”, która jest używana przez pody w naszym klastrze Kubernetes.
Lista obrazów jest wyświetlana w danych wyjściowych, które są generowane po wykonaniu polecenia. Oto zrzut ekranu:
Format ścieżki JSON danych wyjściowych można łatwo uzyskać, uruchamiając polecenie. Każda linia na wyjściu zbliża się do obrazu kontenera, który jest używany przez kapsułę w przestrzeni nazw „kube-system”. Format danych wyjściowych jest pokazany przez szablon ścieżki JSON używany w poleceniu. W tym przykładzie szablon „.items[].spec.containers [].image” zwraca obraz kontenera, który jest używany przez każdy zasobnik w przestrzeni nazw.
Krok 5: Uzyskaj listę obrazów wszystkich przestrzeni nazw szablonu Go
W tym kroku poznamy proces pobierania listy obrazów wszystkich przestrzeni nazw, które są używane przez pody używające formatu wyjściowego „go template” w klastrze Kubernetes. W tym celu używamy następującego polecenia:
~$ kubectl pobiera strąki --all-namespaces -O przejdź do szablonu --szablon = '{{range .ite ms}}{{range .spec.containers}}{{.image}} {{end}}{{end}}'Zanim przejdziemy do danych wyjściowych, omówmy najpierw parametry polecenia, abyś miał pojęcie, w jaki sposób możemy użyć różnych parametrów w naszym poleceniu. Możemy zacząć od nowych parametrów, które nie były wcześniej omawiane:
-o go-szablon: To pokazuje, że format wyjściowy musi być zgodny z notacją „go-template”.
– -template=”{{zakres. pozycje}} {{zakres. spec.containers}}{{.image}} {{end}}{{end}}”: Zapewnia to szablon, który ma być używany do danych wyjściowych. Ten szablon iteruje po liście zasobników, z których pobiera obraz kontenera dla każdego z nich. Wynikiem jest oddzielona spacjami lista obrazów kontenerów, które są używane przez wszystkie zasobniki we wszystkich przestrzeniach nazw w klastrze.
Po wykonaniu poprzedniego polecenia otrzymasz następujące dane wyjściowe:
To wszystkie kroki, dzięki którym możemy pobrać listę obrazów używanych przez pody w naszym kontenerze Kubernetes.
Wniosek
Dochodzimy do wniosku, że możemy łatwo pobrać listę obrazów przechowywanych w kontenerze w naszej aplikacji Kubernetes za pomocą narzędzia wiersza poleceń kubectl. W Kubernetes listę obrazów możemy uzyskać na różne sposoby. Każda metoda jest jasno wyjaśniona w podanych krokach. Opcja „–all namespace” pobiera obrazy wszystkich przestrzeni nazw używanych przez kapsułę, które są przechowywane w kontenerze i można je łatwo pobrać, uruchamiając polecenia. Możesz wykonać wszystkie kroki dla swojej aplikacji, aby uzyskać listę obrazów, uruchamiając polecenia w narzędziu wiersza poleceń kubectl.