Как получить журналы со всех модулей с помощью Kubectl

Kak Polucit Zurnaly So Vseh Modulej S Pomos U Kubectl



Поды — это более мелкие единицы и основные компоненты кластера Kubernetes. Эти модули инкапсулируют контейнерные приложения вместе с общим томом. Каждый модуль может выполнять и управлять более чем одним контейнером внутри модуля. Модули развертываются внутри рабочих узлов, и каждый рабочий узел может управлять более чем одним модулем.

Иногда пользователь может столкнуться с некоторыми состояниями модуля, такими как ошибка, сбой или неизвестное состояние. Для отладки модуля или мониторинга приложения, работающего внутри модуля, пользователю может потребоваться просмотреть журналы модуля.

Этот пост объяснит:







Как получить журналы одного модуля?

Поды могут выполняться как отдельный компонент в кластере Kubernetes или управляться и эксплуатироваться посредством развертывания Kubernetes. Для модулей, на которых выполняются отдельные контейнерные приложения и которые не являются частью какого-либо развертывания, журналы этих модулей можно проверять только по отдельности. Чтобы проверить журналы одного модуля, выполните следующие действия.



Шаг 1. Получите модули

Чтобы перечислить модули Kubernetes, используйте команду « kubectl получить модули » командует:



kubectl получить модули

Из приведенного ниже вывода вы можете увидеть, что в настоящее время выполняются пять модулей: « демо-под » запущен и имеет только один контейнер. Следующие три модуля являются частью « html-развертывание ', и последнее ' веб-приложение pod выполняет два контейнера:





Шаг 2. Просмотр журналов одного модуля

Чтобы получить журналы одного модуля, используйте команду « kubectl регистрирует <имя-пода> » команда:



kubectl записывает демонстрационный модуль

Как получить журналы Pod из конца?

Обычно длина журналов больше и может содержать сотни строк. Иногда пользователи хотят просматривать модули с определенных точек или до определенного количества журналов. Чтобы просмотреть определенное количество журналов с конца, используйте следующую команду:

kubectl записывает демонстрационный модуль --хвост 2

Здесь « -хвост Опция «используется для просмотра журнала с конца.

Как получить логи определенных контейнеров Pod?

Один модуль Kubernetes может выполнять один или несколько контейнеров. Чтобы получить доступ к журналу контейнера модуля, следуйте инструкциям ниже.

Шаг 1. Получите модули

Чтобы составить список модулей кластера Kubernetes, используйте команду « kubectl получить модули » команда:

kubectl получить модули

Здесь « веб-приложение ” выполняет более одного контейнера:

Примечание: Иногда пользователь может не помнить имена контейнеров, работающих в модуле. Чтобы проверить детали контейнера внутри модуля, осмотрите модуль через « kubectl описать модуль <имя-пода> » команда:

kubectl описывает веб-приложение pod

Шаг 2. Просмотр журналов контейнера

Чтобы получить журналы конкретного контейнера модуля, используйте команду «kubectl logs <имя-пода> -c <имя-контейнера>». Здесь опция «-c» используется для вставки имени контейнера:

kubectl регистрирует веб-приложение продолжение1

Как получить логи всех контейнеров Pod?

Чтобы просмотреть логи всех контейнеров пода Kubernetes, установите параметр « –все контейнеры значение как « истинный ' в ' журналы кубектла » команда:

kubectl регистрирует веб-приложение --all-containers '=' истинный

Как получить журналы развертывания в Kubernetes?

Развертывания — это еще один основной ресурс Kubernetes, который запускает контейнерное приложение внутри модулей. Развертывание управляет и управляет работающими модулями с помощью реплик. Чтобы просмотреть журналы развертывания, выполните следующие действия.

Шаг 1. Получите все ресурсы Kubernetes

Чтобы перечислить все ресурсы Kubernetes, используйте команду «kubectl get all»:

kubectl получить все

Здесь вы можете видеть, что при развертывании «html-deployment» выполняются три модуля:

Шаг 2. Просмотр журналов развертывания

Чтобы получить журналы развертывания Kubernetes, используйте команду « kubectl регистрирует развертывание/<имя-развертывания> » команда:

развертывание журналов kubectl / html-развертывание

Вывод показывает, что три модуля найдены в «html-deployment» и в настоящее время просматриваются журналы только первого модуля:

Как получить журналы всех модулей развертывания Kubernetes?

В приведенном выше случае не отображаются журналы всех модулей развертывания. Чтобы просмотреть журналы всех модулей развертывания Kubernetes, сначала найдите метки модулей. Затем получите доступ к журналам всех модулей, указав метку модуля. Для демонстрации следуйте приведенным ниже инструкциям.

Шаг 1. Получите модули

Получите доступ к подам Kubernetes вместе с их метками, используя опцию «–show-label» в команде «kubectl get pods»:

kubectl получить модули --show-label

Здесь результат ниже показывает модули вместе с метками. Эти модули имеют одинаковую метку, поскольку они выполняются в одном и том же развертывании:

Шаг 2. Просмотр журналов всех модулей развертывания

Теперь просмотрите журналы всех модулей развертывания, используя метку модулей. Для этого используйте команду «kubectl logs -l <метка>».

журналы кубектла приложение = nginx --all-containers

Просмотр журналов модулей в реальном времени

Чтобы просмотреть журналы в реальном времени во время выполнения модулей Kubernetes, используйте параметр «-f» вместе с командой «kubectl logs»:

журналы кубектла приложение = nginx

Здесь опция «-l» используется для указания метки модуля, а опция «-all-containers» отображает логи всех контейнеров, работающих под модулями:

Вот и все, что касается просмотра логов всех подов с помощью kubectl.

Заключение

В Kubernetes пользователь может просматривать журналы всех модулей, запущенных в развертывании. Чтобы получить журналы одного модуля, используйте команду «kubectl logs ». Чтобы получить журналы определенного контейнера модуля, используйте команду «kubectl logs <имя-пода> -c <имя-контейнера>». Чтобы просмотреть журналы всех модулей развертывания Kubernetes, используйте команду «kubectl logs -l <имя-метки>». В этом блоге показаны методы получения журналов всех модулей с помощью kubectl.