Начните работу с мониторингом платформы Kubernetes и мониторингом приложений
Начните работу с мониторингом платформы Kubernetes и мониторингом приложений
Разверните Оператор Ключ-АСТРОМ для мониторинга вашего кластера Kubernetes и получите подробную информацию о ваших контейнеризированных приложениях.
Изучите варианты использования. При использовании платформы Kubernetes с функциями мониторинга и наблюдения за приложениями вы можете применять Kubernetes для:
- Оценка и устранение неполадок в работе кластера и рабочих нагрузок Kubernetes.
- Оптимизация использования ресурсов рабочей нагрузки Kubernetes
- Получайте оповещения и события для обнаружения аномалий кластера и реагирования на них.
- Просматривайте метрики, события и логи ваших Под-ов и узлов в едином интерфейсе.
- Устранение распространенных проблем со здоровьем рабочих нагрузок Kubernetes.
- Автоматическая распределенная трассировка между контейнерами
- Анализ кода и сервисов в контейнерах приложений.
- Профилирование и анализ резьбы
Если вы хотите получить полное представление о вашей среде Kubernetes, ознакомьтесь с обзором развертывания, чтобы узнать о мониторинге всего стека. Вы можете дополнительно расширить мониторинг Kubernetes, включив в него аналитику логов, цифровой опыт и безопасность приложений.
Для кого это предназначено?
Данное руководство предназначено для инженеров платформы, инженеров по обеспечению надежности сайтов (SRE) и администраторов Kubernetes.
Чему вы научитесь?
К концу этого руководства вы сможете настроить Ключ-АСТРОМ для мониторинга как вашего кластера Kubernetes, так и работающих на нем приложений. В процессе работы вы:
- Установите Оператор Ключ-АСТРОМ через Helm или манифест.
- Настройте пользовательский ресурс DynaKube.
- Проверьте развертывание.
Прежде чем начать
Перед установкой Ключ-АСТРОМ в кластер Kubernetes убедитесь, что выполняются следующие требования:
- Ваш интерфейс командной строки
kubectlподключен к кластеру Kubernetes, который вы хотите отслеживать. - У вас достаточно прав доступа к отслеживаемому кластеру для выполнения команд
kubectlилиoc. Если вы не используете роль кластераcluster-admin, см. раздел «Разрешения развертывания» для получения информации о необходимых правах.
Настройка и конфигурация кластера
Необходимо разрешить исходящий трафик для модулей Ключ-АСТРОМ (по умолчанию: пространство имен astromkey) по URL-адресу вашей среды Ключ-АСТРОМ.
Для OpenShift Dedicated вам потребуется роль cluster-admin.
Установка с помощью HelmИспользуйте Helm версии 3.
Поддерживаемые версии
См. поддерживаемые версии и дистрибутивы платформы Kubernetes/OpenShift.
Если вы развертываете приложение в OpenShift, перед продолжением настройте SCC — это необходимо для развертывания applicationMonitoring с использованием драйвера CSI.
Обратите внимание, что объединение hostMonitoring и applicationMonitoring в одном кластере Kubernetes и среде не поддерживается.
Лицензирование
Для мониторинга платформы Kubernetes и мониторинга приложений требуется Подписка на платформу Ключ-АСТРОМ (DPS). Лицензирование мониторинга платформы Kubernetes осуществляется по количеству подов в час (под-часов), а мониторинг приложений — по сумме памяти контейнеров (гиба-часов).
Начните работу с мониторингом приложений
Выберите наиболее удобный для вас способ установки: Helm или манифест.
Установка с помощью Helm
Оператор Ключ-АСТРОМ версии 0.8.0+
В этих инструкциях используется Helm-диаграмма Ключ-АСТРОМ из реестра OCI. Если репозиторий Ключ-АСТРОМ находится в ваших локальных Helm-репозиториях, вы можете удалить его перед продолжением:
helm repo remove astromkey
Установите Оператор Ключ-АСТРОМ
Если вы используете Helm 4.0+, замените --atomic на --rollback-on-failure в приведенных ниже командах.
У вас есть два варианта:
Стандартная установка / установка реестра OCI Следующая команда работает как для стандартных установок, так и для установок с использованием реестра OCI.
helm install astromkey-operator oci://public.ecr.aws/astromkey/astromkey-operator \ --create-namespace \ --namespace astromkey \ --atomic |
Установка с дополнительной настройкой карты рулевого управления Отредактируйте пример из GitHub, а затем выполните команду установки, передав YAML-файл в качестве аргумента values.yaml:
helm install astromkey-operator oci://public.ecr.aws/astromkey/astromkey-operator \ --create-namespace \ --namespace astromkey \ --atomic \ -f values.yaml |
Если installCRD установлено значение false, вам необходимо вручную создать определение пользовательского ресурса перед началом установки Helm:
kubectl apply -f https://github.com/Astromkey/astromkey-operator/releases/download/v1.10.0/astromkey-operator-crd.yaml |
Для VMware Tanzu Kubernetes (TKGI) и IBM Kubernetes Service (IKS) требуется дополнительная настройка.
Создайте секрет
Создайте секрет, названный dynakube в честь токена оператора Ключ-АСТРОМ и токена приема данных, полученных в разделе «Токены и необходимые разрешения».
kubectl -n astromkey create secret generic dynakube --from-literal="apiToken=<OPERATOR_TOKEN>" --from-literal="dataIngestToken=<DATA_INGEST_TOKEN>" |
Создайте YAML-файл с пользовательскими ресурсами для DynaKube
Пример пользовательского ресурса DynaKube для мониторинга приложений. Вы можете ознакомиться с доступными параметрами или руководствами по использованию и адаптировать пользовательский ресурс DynaKube в соответствии со своими требованиями.
apiVersion: astromkey.com/v1beta5
kind: DynaKube
metadata:
name: dynakube
namespace: astromkey
annotations:
feature.astromkey.com/injection-readonly-volume: "true"
spec:
apiUrl: https://ENVIRONMENTID.live.astromkey.com/api
metadataEnrichment:
enabled: true
oneAgent:
applicationMonitoring: {}
activeGate:
capabilities:
- routing
- kubernetes-monitoring
resources:
requests:
cpu: 500m
memory: 512Mi
limits:
cpu: 1000m
memory: 1.5Gi
|
Необязательно: Отслеживайте потенциально конфиденциальные данные
Для мониторинга потенциально конфиденциальных данных, таких как секреты (значения маскируются перед загрузкой) и ConfigMaps, необходимо создать роль кластера (ClusterRole), которая разрешает доступ к этим ресурсам. Добавьте следующий фрагмент кода в конец файла YAML с пользовательскими ресурсами DynaKube.
Установка с мониторингом конфиденциальных данных.
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
rbac.astromkey.com/aggregate-to-monitoring: "true"
name: astromkey-kubernetes-monitoring-sensitive
rules:
- apiGroups:
- ""
resources:
- configmaps
- secrets
verbs:
- list
- watch
- get
|
В Операторе Ключ-АСТРОМ версии 1.8.x роль автоматически привязывается к astromkey-kubernetes-monitoring ClusterRole с помощью правил агрегации. Для получения дополнительной информации см. документацию по агрегации ClusterRole. Начиная с Оператора Ключ-АСТРОМ версии 1.9.0, агрегированные ClusterRoles больше не используются. Создайте ClusterRoleBinding, чтобы astromkey-activegate напрямую привязать эту ClusterRole к учетной записи службы.
Примените пользовательский ресурс DynaKube
Выполните команду ниже, чтобы применить пользовательский ресурс DynaKube, обязательно заменив <your-DynaKube-CR> на фактическое имя файла вашего пользовательского ресурса DynaKube. Веб-перехватчик проверки предоставит полезные сообщения об ошибках в случае возникновения проблемы.
kubectl apply -f <your-DynaKube-CR>.yaml |
Необязательно: Проверка развертывания
Убедитесь, что ваш DynaKube запущен и все Под-ы в вашем пространстве имен astromkey запущены и готовы к работе.
> kubectl get dynakube -n astromkey NAME APIURL STATUS AGE dynakube https://<ENVIRONMENTID>.live.astromkey.com/api Running 45s
В конфигурации DynaKube по умолчанию с драйвером CSI вы должны увидеть следующие поды:
> kubectl get pods -n astromkey NAME READY STATUS RESTARTS AGE dynakube-activegate-0 1/1 Running 0 50s astromkey-oneagent-csi-driver-qxfwx 4/4 Running 0 2m49s astromkey-oneagent-csi-driver-xk5c4 4/4 Running 0 2m49s astromkey-oneagent-csi-driver-mz6ch 4/4 Running 0 2m49s astromkey-operator-7dc8dc7d8c-wmh4z 1/1 Running 0 2m59s astromkey-webhook-7bb6957fb5-l8fsq 1/1 Running 0 2m59s astromkey-webhook-7bb6957fb5-rqnqk 1/1 Running 0 2m59s
Драйвер CSI является необязательным (см. Шаг 2). Если он включен, он развертывается как DaemonSet и приводит к созданию Pod-объекта драйвера CSI на каждом узле.
Установка с помощью манифеста
Kubernetes
Создайте пространство имен astromkey
kubectl create namespace astromkey
Установите Оператор Ключ-АСТРОМ
kubectl apply -f https://github.com/Astromkey/astromkey-operator/releases/download/v1.10.0/kubernetes-csi.yaml
Без драйвера CSI:
kubectl apply -f https://github.com/Astromkey/astromkey-operator/releases/download/v1.10.0/kubernetes.yaml
Для VMware Tanzu Kubernetes (TKGI) и IBM Kubernetes Service (IKS) требуется дополнительная настройка. Выполните следующую команду, чтобы узнать, когда компоненты Оператора Ключ-АСТРОМ завершат инициализацию:
kubectl -n astromkey wait pod --for=condition=ready --selector=app.kubernetes.io/name=astromkey-operator,app.kubernetes.io/component=webhook --timeout=300s
Создайте секрет
kubectl -n astromkey create secret generic dynakube --from-literal="apiToken=<OPERATOR_TOKEN>" --from-literal="dataIngestToken=<DATA_INGEST_TOKEN>"
Создайте YAML-файл с пользовательскими ресурсами для DynaKube (аналогично примеру выше, с заменой apiVersion: astromkey.com/v1beta5 и т.д.)
Примените пользовательский ресурс DynaKube
kubectl apply -f <your-DynaKube-CR>.yaml
Проверка развертывания (аналогично)
OpenShift
Добавить проект astromkey
oc adm new-project --node-selector="" astromkey
Установите Оператор Ключ-АСТРОМ
oc apply -f https://github.com/Astromkey/astromkey-operator/releases/download/v1.10.0/openshift-csi.yaml
Без драйвера CSI:
oc apply -f https://github.com/Astromkey/astromkey-operator/releases/download/v1.10.0/openshift.yaml
Выполните следующую команду, чтобы узнать, когда компоненты Оператора Ключ-АСТРОМ завершат инициализацию:
oc -n astromkey wait pod --for=condition=ready --selector=app.kubernetes.io/name=astromkey-operator,app.kubernetes.io/component=webhook --timeout=300s
Создайте секрет
oc -n astromkey create secret generic dynakube --from-literal="apiToken=<OPERATOR_TOKEN>" --from-literal="dataIngestToken=<DATA_INGEST_TOKEN>"
Создайте YAML-файл с пользовательскими ресурсами для DynaKube (аналогично) Примените пользовательский ресурс DynaKube
oc apply -f <your-DynaKube-CR>.yaml
Проверка развертывания
> oc get dynakube -n astromkey NAME APIURL STATUS AGE dynakube https://<ENVIRONMENTID>.live.astromkey.com/api Running 45s
> oc get pods -n astromkey NAME READY STATUS RESTARTS AGE dynakube-activegate-0 1/1 Running 0 50s astromkey-oneagent-csi-driver-xxxxx 4/4 Running 0 2m49s ...
Поздравляем!
Вы успешно настроили мониторинг платформы Kubernetes и мониторинг приложений! В этом руководстве вы:
- Установили Оператор Ключ-АСТРОМ (с дополнительным драйвером CSI) на свой кластер.
- Настроили и применили пользовательский ресурс DynaKube.
Следующие шаги
- Kubernetes — отслеживайте и оптимизируйте Kubernetes с помощью Ключ-АСТРОМ. Получайте информацию о состоянии кластеров и рабочих нагрузок в режиме реального времени.
- Гиды — подробное описание вариантов установки и настройки для конкретных сценариев использования.
- Поиск неисправностей — эта страница поможет вам справиться с любыми трудностями, которые могут возникнуть при работе с Оператором Ключ-АСТРОМ и его различными компонентами.
- Как это работает — подробное описание принципа развертывания в Kubernetes.
- Ссылка — содержит справочную страницу с параметрами конфигурации для каждого компонента Ключ-АСТРОМ.
- Примечания к выпуску Оператора Ключ-АСТРОМ — примечания к выпуску Оператора Ключ-АСТРОМ.
- Обновите или удалите Оператор Ключ-АСТРОМ — пути обновления, процедуры обновления и руководство по удалению Оператора Ключ-АСТРОМ.
- Руководство по выбору оптимального размера АктивныхШлюзов Ключ-АСТРОМ для мониторинга в Kubernetes — установите ограничения на использование ресурсов для АктивныхШлюзов Ключ-АСТРОМ.