Что такое событие в Kubernetes?
Событие Kubernetes — это объект, который генерируется автоматически при любых изменениях, происходящих с такими ресурсами, как узлы, контейнеры, кластеры или модули в системе Kubernetes. Он сообщает пользователю, что происходит с ресурсами в системе, т. е. уничтожается контейнер, планируется создание модуля, обновляется развертывание и т. д. Эти события помогают поддерживать систему Kubernetes и выполнять отладку в среде Kubernetes. В этом блоге мы узнаем и обсудим, как получить доступ к событиям в среде Kubernetes.
Предпосылки
Прежде чем вы начнете учиться смотреть события в Kubernetes, убедитесь, что ваша система отвечает всем основным требованиям. У вас должно быть следующее:
- Ubuntu 20.04 или любая другая последняя версия Ubuntu
- Виртуальная машина, установленная в вашей системе Linux/Unix
- Кластер миникуба
- Инструмент командной строки Kubectl
Теперь давайте перейдем к изучению различных методов доступа к событиям Kubernetes.
Запустите среду Minikube
Чтобы использовать среду Kubernetes и получать доступ к созданным в ней событиям, нам нужен доступ к minikube. Поэтому давайте сначала запустим миникуб с помощью следующей команды:
> запустить миникуб
Это начинается с терминала minikube, где вы можете получить доступ к событиям Kubernetes. Теперь мы можем получить доступ или получить события в Kubernetes.
Как следить за событиями в Kubernetes
Есть много разных способов получить доступ или просмотреть события в Kubernetes. Здесь мы опишем эти методы, чтобы помочь вам понять, как они используются для доступа к событиям в Kubernetes. Первый и основной метод — использовать простую команду kubectl get event. Команда «get» в Kubernetes используется для доступа к одному или нескольким ресурсам из системы Kubernetes. За всеми параметрами следует команда «get», чтобы получить события в Kubernetes в соответствии с требованием. Следовательно, мы сначала получаем события с помощью базовой команды, которая приведена ниже:
> kubectl получить события
Вы можете использовать API ресурсов для получения последних событий с помощью этой команды. Он показывает все последние события, произошедшие во всей системе.
Двигаясь вперед, мы покажем вам, как вы можете отобразить результат команды «получить событие» в виде формата JSON. kubectl позволяет распечатать вывод в желаемом формате. Все, что вам нужно сделать, это определить тип вывода. Здесь мы получаем доступ к событию в Kubernetes с помощью команды «get» и отображаем результат в формате JSON с помощью следующей команды:
> kubectl получить события -The json
Как видно из приведенного вывода, события перечислены из среды Kubernetes в формате JSON. Это довольно просто, и вы можете легко использовать его, просто выполнив предыдущую команду в инструменте командной строки kubectl.
Следующий метод, который мы вам покажем, — это получение отфильтрованных событий из Kubernetes. На данный момент мы узнали, как получить все события в Kubernetes с помощью команды kubectl «get events» и как отобразить вывод в формате JSON. Теперь давайте посмотрим, как мы можем фильтровать события в соответствии с нашими потребностями и видеть только нужные события. Фильтровать события очень просто; как обсуждалось ранее, вам нужно использовать параметр в соответствии с вашими потребностями, а затем команду kubectl «получить события». Мы используем следующую команду для фильтрации событий в соответствии с нашими потребностями и отображения только необходимых событий:
> kubectl получить события – селектор полей тип ! = НормальныйКогда вы используете эту команду, вы видите только те события, которые не имеют «нормального» типа. Поскольку события с типом «нормальный» в большинстве своем являются просто шумом и не несут никакой значимой информации, их можно пропустить. Следующий данный вывод показывает события, которые не имеют «нормального» типа:
Как получить события для определенного модуля
Точно так же, как мы можем отфильтровать только необходимые события, мы также можем получить доступ к событиям только для определенного модуля. Для этого давайте сначала перечислим все модули из среды Kubernetes с помощью следующей команды:
> kubectl получить стручкиЭта команда выводит список всех модулей, созданных на данный момент в среде Kubernetes:
Теперь у нас есть список всех стручков. Мы можем получить доступ к событиям для определенного модуля, используя имя модуля. Мы используем команду «описать модуль», за которой следует имя модуля, чтобы получить события, связанные с этим модулем. Пример команды для доступа к событиям для конкретной команды выглядит следующим образом:
> kubeclt описать pod / имя подаЗдесь «имя пода» представляет собой имя пода, для которого вам нужно просмотреть события в Kubernetes.
Вот пример полной команды, которая отображает все события для определенного модуля:
> kubectl описать pod / зависимая-envars-демонстрацияИз данного вывода имя первого модуля — «зависимая-envars-demo», и мы получаем доступ к событиям для этого модуля. Следующий вывод показывает события для модуля depend-envars-demo:
Заключение
В этой статье мы узнали о событиях в Kubernetes. Мы изучили, что такое событие в среде Kubernetes и как к нему можно получить доступ в системе Kubernetes. Мы узнали, что существует множество бесплатных методов с открытым исходным кодом для доступа к событиям в Kubernetes. Мы также узнали, как реализовать эти методы с помощью команд kubectl.