Шаг 1: Запустите сервер Kubernetes
На этом этапе мы запускаем сервер Kubernetes, который представляет собой мини-куб, содержащий модули в контейнере. Мы можем запустить кластер minikube, выполнив следующую команду:
~$ запустить миникубПри выполнении команды в нашем приложении запускается локальный кластер minikube.
Minikube использует VirtualBox для создания локально доступной виртуальной машины. Мы можем быстро развернуть наши команды или сервисы в кластерах Kubernetes. После этого тестируем их локально с помощью кластера minikube Kubernetes.
Шаг 2. Просмотрите список всех модулей вместе с изображениями в кластере.
Для запуска всех этих команд в вашей локальной системе должен быть установлен Kubectl. На этом шаге мы узнаем, как просмотреть список изображений, которые используются модулями в кластерах и хранятся в нашем контейнере. Мы можем запустить следующую команду в нашем инструменте командной строки Kubectl, чтобы получить список сохраненных изображений.
~$ kubectl получить модули --все пространства имен -О jsonpath '=' '{range .items[]}{'\n'}{.metadata.name}{':\t'}{range .spec.containers[]}{.image}{', '}{end}{end }' | \> Сортировать
Когда команда выполняется, вывод выглядит так, как показано на следующем снимке экрана:
Эта команда извлекает список модулей, присутствующих в кластере, а затем извлекает все изображения, найденные по этому пути. После того, как изображения найдены, команда также сортирует эти изображения по порядку, в алфавитном порядке. Наконец, он подсчитывает количество изображений, присутствующих в нашем кластере. Эта команда возвращает выходные данные в формате пути JSON. Давайте обсудим части команды одну за другой:
– -все пространства имен: Мы можем легко получить список модулей во всех пространствах имен в нашем кластере Kubernetes. Здесь объявлены все образы подов.
– о jsonpath=’: Этот параметр задает формат вывода. Формат пути JSON соответствует заданной команде и отображает имя модуля и изображения контейнера, а также выходной формат. Список разделен табуляцией, и каждый модуль отделяется новой строкой.
|: Как видите, в командах используется символ «|». характер. Он используется для передачи вывода в команду передачи.
Сортировать: Этот параметр сортирует изображения в определенном порядке.
Это полное объяснение команды. Надеюсь, вы понимаете цель этой команды. Как мы видим на скриншоте, список модулей и изображений отображается через запятую.
Шаг 3: Получите список изображений для определенного модуля
На этом шаге мы узнаем только о получении определенных изображений модуля. Для этого мы снова запускаем команду, указывающую имя пода в пути JSON. Выполните следующую команду, чтобы получить изображения определенного модуля.
~$ kubectl получить стручки --все пространства имен -О jsonpath '=' '{.items[].spec.containers[].image}' -л приложение =nginxВ этой команде мы берем модуль с именем «app=ngnix».
Когда команда выполняется, выходной формат пути JSON отображает список всех образов контейнеров, которые используются модулем с именем «app-ngnix».
Таким образом, мы можем получить список образов, которые используются конкретными модулями во всех пространствах имен в нашем приложении Kubernetes.
Шаг 4: Получите список изображений в определенном пространстве имен в кластере
Это четвертый шаг нашей статьи, где мы узнаем, как получить список изображений для определенного пространства имен в нашем кластере Kubernetes. Мы запускаем следующую команду в нашем инструменте командной строки Kubectl:
~$ kubectl получить стручки --namespace быть системой -О jsonpath '=' '{.items[].spec.containers[].image}'В этой команде мы хотим получить образы пространства имен с именем «kube-system», которое используется модулями в нашем кластере Kubernetes.
Список изображений отображается в выходных данных, которые создаются при выполнении команды. Вот скриншот:
Выходной формат пути JSON легко получить, выполнив команду. Каждая строка в выходных данных приближается к образу контейнера, который используется модулем в пространстве имен «kube-system». Формат вывода показан шаблоном пути JSON, который используется в команде. В этом примере шаблон «.items[].spec.containers [].image» возвращает образ контейнера, который используется каждым модулем в пространстве имен.
Шаг 5: Получите список изображений всех пространств имен шаблона Go
На этом этапе мы изучим процесс получения списка изображений всех пространств имен, которые используются модулями, использующими выходной формат «шаблон перехода» в кластере Kubernetes. Для этого воспользуемся следующей командой:
~$ kubectl получить стручки --все пространства имен -О go-шаблон --шаблон '=' '{{range .ite ms}}{{range .spec.containers}}{{.image}} {{end}}{{end}}'Прежде чем перейти к выводу, давайте сначала обсудим параметры команды, чтобы у вас было представление о том, как мы можем использовать различные параметры в нашей команде. Мы можем начать с новых параметров, которые ранее не обсуждались:
-o go-шаблон: Это показывает, что выходной формат должен соответствовать нотации «go-template».
– -template='{{диапазон. элементы}} {{диапазон. spec.containers}}{{.image}} {{end}}{{end}}”: Это обеспечивает шаблон, который будет использоваться для вывода. Этот шаблон выполняет итерацию по списку модулей, извлекая образ контейнера для каждого из них. Результатом является разделенный пробелами список образов контейнеров, который используется всеми модулями во всех пространствах имен в кластере.
После выполнения предыдущей команды вы получите следующий вывод:
Это все шаги, с помощью которых мы можем получить список изображений, используемых модулями в нашем контейнере Kubernetes.
Заключение
Мы пришли к выводу, что мы можем легко получить список сохраненных изображений в контейнере в нашем приложении Kubernetes с помощью инструмента командной строки kubectl. В Kubernetes мы можем получить список изображений разными способами. Каждый метод четко объясняется в данных шагах. Параметр «–all namespace» получает изображения всех пространств имен, которые используются подом, которые хранятся в контейнере и могут быть легко получены с помощью запуска команд. Вы можете выполнить все шаги, чтобы ваше приложение получило список изображений, выполнив команды в инструменте командной строки kubectl.