Организуйте развертывание Kubernetes по тегам

Материал из Документация Ключ-АСТРОМ

Ключ-АСТРОМ автоматически извлекает теги из ваших ярлыков Kubernetes / OpenShift. Это позволяет автоматически организовывать и фильтровать все отслеживаемые компоненты приложения Kubernetes / OpenShift.

Рекомендация

Рекомендуется определить дополнительные метаданные в развернутой системе. Для приложений на основе Kubernetes вы можете просто использовать аннотации Kubernetes . Ключ-АСТРОМ автоматически обнаруживает и извлекает все аннотации Kubernetes и OpenShift для модулей, которые отслеживаются с помощью модуля кода ЕдиныйАгент. Это позволяет использовать правила автоматической пометки на основе существующих или настраиваемых метаданных для определения наборов фильтров для диаграмм, предупреждений и т. Д. Эти теги и правила можно изменить и адаптировать в любое время, и они будут применяться практически сразу, без каких-либо изменений в контролируемой среде или приложениях.

Автоматическое определение свойств и аннотаций Kubernetes

Ключ-АСТРОМ обнаруживает свойства и аннотации Kubernetes. Такие свойства и аннотации можно использовать при указании автоматических тегов на основе правил .

Кроме того Ключ-АСТРОМ обнаруживает следующие свойства , которые могут быть использованы для автоматизированных правил на основе тегов и правил обнаружения процесса группы на основе свойств .

  • Имя базового модуля Kubernetes: предоставленное пользователем имя модуля, которому принадлежит контейнер.
  • Контейнер Kubernetes: имя контейнера, в котором выполняется процесс.
  • Полное имя модуля Kubernetes: полное имя модуля, которому принадлежит контейнер.
  • Kubernetes namespace: пространство имен, которому назначен контейнерный процесс.
  • UID модуля Kubernetes: уникальный идентификатор соответствующего модуля.

Используйте ярлыки Kubernetes в Ключ-АСТРОМ

Теги на основе Kubernetes доступны для поиска через поиск Ключ-АСТРОМ. Это позволяет вам легко находить и проверять результаты мониторинга связанных процессов, запущенных в вашей среде Kubernetes или OpenShift. Вы также можете использовать теги Kubernetes для настройки детализированных профилей предупреждений . Теги Kubernetes также отлично интегрируются с фильтрами Ключ-АСТРОМ .

Импортируйте свои ярлыки и аннотации

Вы можете указать метки Kubernetes в определении развертывания вашего приложения или обновить метки своих ресурсов Kubernetes с помощью команды kubectl label.

Ключ-АСТРОМ автоматически обнаруживает все ярлыки, прикрепленные к модулям, во время развертывания приложения. Все, что вам нужно сделать, это предоставить подам достаточные привилегии, позволяющие читать метаданные из конечной точки Kubernetes REST API. Таким образом, модули кода ЕдиныйАгент могут считывать эти метки прямо из модуля.

Примечание. ЕдиныйАгент будет собирать аннотации и метки только из модулей, которые отслеживаются с помощью модуля кода.

Предоставить роль наблюдателя сервисным учетным записям

В Kubernetes каждый модуль связан с учетной записью службы, которая используется для аутентификации запросов модуля к Kubernetes API. Если не указано иное, модуль использует defaultслужебную учетную запись своего пространства имен.

Каждое пространство имен имеет свой собственный набор учетных записей служб и, следовательно, также свою собственную defaultучетную запись службы в области имен . Ярлыки каждого модуля, для которого служебная учетная запись имеет разрешения на просмотр, будут автоматически импортированы в Ключ-АСТРОМ.

Следующие шаги показывают, как добавить права просмотра defaultучетной записи службы в namespace1пространстве имен. Вам необходимо повторить эти шаги для всех сервисных учетных записей и пространств имен, которые вы хотите включить для Ключ-АСТРОМ.

Создайте следующие Roleи RoleBindingони позволяют defaultучетной записи службы просматривать необходимые метаданные о вашем пространстве имен namespace1через Kubernetes REST API:

# <name>-oneagent-metadata-viewer.yaml
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  namespace: namespace1
  name: <name>-oneagent-metadata-viewer
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["get"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: <name>-oneagent-metadata-viewer-binding
  namespace: namespace1
subjects:
- kind: ServiceAccount
  name: default
  apiGroup: ""
roleRef:
  kind: Role
  name: <name>-oneagent-metadata-viewer
  apiGroup: ""
kubectl -n namespace1 create -f <name>-oneagent-metadata-viewer.yaml

Ваши ярлыки Kubernetes будут автоматически прикреплены как теги Kubernetes ко всем отслеживаемым процессам Kubernetes в вашей среде Ключ-Астром.