Работа с мониторингом платформы Kubernetes + наблюдением Full-Stack
На этой странице представлены инструкции по развертыванию Ключ-АСТРОМ Operator для обеспечения мониторинга платформы Kubernetes и возможности Full-Stack наблюдения в вашей среде Kubernetes. Вы получите представление о ресурсах кластера Kubernetes, производительности приложений и работоспособности инфраструктуры.
Варианты использования
- Оценка и устранение неполадок в кластере Kubernetes и работоспособности рабочей нагрузки
- Оптимизация использования ресурсов рабочей нагрузки Kubernetes
- Получение оповещений и событий для обнаружения и реагирования на аномалии кластера
- Просмотр метрик, событий и логов ваших модулей и узлов в едином интерфейсе
- Устранение распространенных проблем с работоспособностью рабочих нагрузок Kubernetes
- Автоматическая распределенная трассировка по контейнерам
- Анализ уровня кода и сервисов в контейнерах приложений
- Профилирование и анализ потоков
- Подробности на уровне хоста и процесса
- Анализ и топология хост-сети
- Анализ диска и оповещения
Прежде чем начать
Перед установкой Ключ-АСТРОМ в кластер Kubernetes убедитесь, что выполнены следующие требования:
- Ваш CLI
kubectlподключен к кластеру Kubernetes, который вы хотите отслеживать. - У вас достаточно прав на контролируемом кластере для запуска
kubectlкомандoc.
Настройка и конфигурирование кластера
- Необходимо разрешить выход для модулей Ключ-АСТРОМ (по умолчанию: пространство имен Ключ-АСТРОМ) на URL-адрес вашей среды Ключ-АСТРОМ.
- Для OpenShift Dedicated вам потребуется роль администратора кластера.
Helm installationИспользуйте Helm версии 3.
Поддерживаемые версии
Ознакомьтесь с поддерживаемыми версиями и дистрибутивами платформы Kubernetes/OpenShift.
Настройка SCC необходима для OpenShift cloudNativeFullStack с applicationMonitoring развертываниями драйверов Ключ-АСТРОМ Operator CSI.
По умолчанию Ключ-АСТРОМ Operator внедряет ЕдиныйАгент во все пространства имён, но вы можете настроить его для мониторинга только определённых пространств имён и исключения остальных. Подробнее см. в разделе Настройка мониторинга пространств имён и модулей.
Helm
Ключ-АСТРОМ Operator версии 0.8.0+
Новые инструкции по установке и обновлению Helm используют нашу таблицу Helm, доступную в реестре OCI. Поэтому, если репозиторий Ключ-АСТРОМ уже добавлен в ваши локальные репозитории Helm, его можно безопасно удалить.
|
Процесс установки не зависит от того, используете ли вы Kubernetes или OpenShift. Платформа определяется автоматически во время установки.
Установка Ключ-АСТРОМ Operator
Следующая команда работает для установок с использованием реестра OCI, что является способом по умолчанию.
| helm install astromkey-operator oci://public.ecr.aws/astromkey/astromkey-operator \
--create-namespace \ --namespace astromkey \ --atomic |
Установка с дополнительной настройкой Helm chart
Отредактируйте пример из 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.6.0/astromkey-operator-crd.yaml |
Создание секрета для токенов доступа
Создайте секрет, с названием astrokube для токена оператора Ключ-АСТРОМ, и токен сбора данных, полученный в разделе Требуемые токены и разрешения.
| kubectl -n astromkey create secret generic astrokube --from-literal="apiToken=<OPERATOR_TOKEN>" --from-literal="dataIngestToken=<DATA_INGEST_TOKEN>" |
Создание своего собственного файла YAML ресурсов AstroKube.
Пример пользовательского ресурса AstroKube для мониторинга полного стека
Вы можете просмотреть доступные параметры или руководства по применению и адаптировать пользовательский ресурс AstroKube в соответствии со своими требованиями.
Для архитектуры PPC64le требуется дополнительная настройка. Подробнее см. в образе контейнера АктивногоШлюза.
| apiVersion: astromkey.com/v1beta3
kind: AstroKube metadata: name: AstroKube namespace: astromkey annotations: feature.astromkey.com/k8s-app-enabled: "true" feature.astromkey.com/injection-readonly-volume: "true" spec: # For detailed instructions on AstroKube parameters in the spec section, visit https://docs.astromkey.com/docs/ingest-from/setup-on-k8s/reference/AstroKube-parameters # astromkey apiUrl including the /api path at the end. # Replace 'ENVIRONMENTID' with your environment ID. # For instructions on how to determine the environment ID and how to configure the apiUrl address, see https://www.astromkey.com/support/help/reference/astromkey-concepts/environment-id/. apiUrl: https://ENVIRONMENTID.live.astromkey.com/api metadataEnrichment: enabled: true oneAgent: cloudNativeFullStack: tolerations: - effect: NoSchedule key: node-role.kubernetes.io/master operator: Exists - effect: NoSchedule key: node-role.kubernetes.io/control-plane operator: Exists activeGate: capabilities: - routing - kubernetes-monitoring resources: requests: cpu: 500m memory: 512Mi limits: cpu: 1000m memory: 1.5Gi |
Применение пользовательского ресурса AstroKube
Выполните команду ниже, чтобы применить пользовательский ресурс AstroKube, заменив его фактическим именем файла вашего пользовательского ресурса AstroKube <your-AstroKube-CR>. Веб-хук проверки предоставит полезные сообщения об ошибках в случае возникновения проблем.
| kubectl apply -f <your-AstroKube-CR>.yaml |
Проверка развертки
Убедитесь, что AstroKube запущен, а все модули в пространстве имен Ключ-АСТРОМ запущены и готовы.
| > kubectl get AstroKube -n astromkey
NAME APIURL STATUS AGE AstroKube https://<ENVIRONMENTID>.live.astromkey.com/api Running 45s |
В конфигурации AstroKube по умолчанию вы должны увидеть следующие модули:
| > kubectl get pods -n astromkey
NAME READY STATUS RESTARTS AGE AstroKube-activegate-0 1/1 Running 0 50s AstroKube-oneagent-b88rn 1/1 Running 0 50s AstroKube-oneagent-m5jm4 1/1 Running 0 50s AstroKube-oneagent-qhd9u 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 развернуты как DaemonSet, на каждом узле должен быть модуль ЕдиногоАгента и драйвера CSI.
Manifest
Kubernetes
Создание пространства имен `astromkey`
Создайте пространство имен astromkey:
| kubectl create namespace astromkey |
Установка Ключ-АСТРОМ Operator
| kubectl apply -f https://github.com/astromkey/astromkey-operator/releases/download/v1.6.0/kubernetes-csi.yaml |
Выполните следующую команду, чтобы увидеть, когда компоненты Ключ-АСТРОМ Operator завершат инициализацию:
| kubectl -n astromkey wait pod --for=condition=ready --selector=app.kubernetes.io/name=astromkey-operator,app.kubernetes.io/component=webhook --timeout=300s |
Создание секрета для токенов доступа
Создайте секрет, названный AstroKube для токена Ключ-АСТРОМ Operator, и токен сбора данных, полученный в разделе Требуемые токены и разрешения.
| kubectl -n astromkey create secret generic AstroKube --from-literal="apiToken=<OPERATOR_TOKEN>" --from-literal="dataIngestToken=<DATA_INGEST_TOKEN>" |
Создание своего собственного файла YAML ресурсов AstroKube
Пример пользовательского ресурса AstroKube для мониторинга полного стека
Вы можете просмотреть доступные параметры или руководства по применению и адаптировать пользовательский ресурс AstroKube в соответствии со своими требованиями.
| apiVersion: astromkey.com/v1beta3
kind: AstroKube metadata: name: AstroKube namespace: astromkey annotations: feature.astromkey.com/k8s-app-enabled: "true" feature.astromkey.com/injection-readonly-volume: "true" spec: # For detailed instructions on AstroKube parameters in the spec section, visit https://docs.astromkey.com/docs/ingest-from/setup-on-k8s/reference/AstroKube-parameters # astromkey apiUrl including the /api path at the end. # Replace 'ENVIRONMENTID' with your environment ID. # For instructions on how to determine the environment ID and how to configure the apiUrl address, see https://www.astromkey.com/support/help/reference/astromkey-concepts/environment-id/. apiUrl: https://ENVIRONMENTID.live.astromkey.com/api metadataEnrichment: enabled: true oneAgent: cloudNativeFullStack: tolerations: - effect: NoSchedule key: node-role.kubernetes.io/master operator: Exists - effect: NoSchedule key: node-role.kubernetes.io/control-plane operator: Exists activeGate: capabilities: - routing - kubernetes-monitoring resources: requests: cpu: 500m memory: 512Mi limits: cpu: 1000m memory: 1.5Gi |
Применить пользовательский ресурс AstroKube
Выполните команду ниже, чтобы применить пользовательский ресурс AstroKube, заменив его фактическим именем файла вашего пользовательского ресурса AstroKube <your-AstroKube-CR>. Веб-хук проверки предоставит полезные сообщения об ошибках в случае возникновения проблем.
| kubectl apply -f <your-AstroKube-CR>.yaml |
Проверка развертки
необязательный
Убедитесь, что AstroKube запущен, а все модули в пространстве имен Ключ-АСТРОМ запущены и готовы.
| > kubectl get AstroKube -n astromkey
NAME APIURL STATUS AGE AstroKube https://<ENVIRONMENTID>.live.astromkey.com/api Running 45s |
В конфигурации AstroKube по умолчанию вы должны увидеть следующие модули:
| > kubectl get pods -n astromkey
NAME READY STATUS RESTARTS AGE AstroKube-activegate-0 1/1 Running 0 50s AstroKube-oneagent-b88rn 1/1 Running 0 50s AstroKube-oneagent-m5jm4 1/1 Running 0 50s AstroKube-oneagent-qhd9u 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 развернуты как DaemonSet, на каждом узле должен быть модуль ЕдиногоАгента и драйвера CSI.
OpenShift
Добавление проекта `astromkey`
Добавить проект astromkey:
| oc adm new-project --node-selector="" astromkey |
Установка Ключ-АСТРОМ Operator
| oc apply -f https://github.com/astromkey/astromkey-operator/releases/download/v1.6.0/openshift-csi.yaml |
Выполните следующую команду, чтобы увидеть, когда компоненты Ключ-АСТРОМ Operator завершат инициализацию:
| oc -n astromkey wait pod --for=condition=ready --selector=app.kubernetes.io/name=astromkey-operator,app.kubernetes.io/component=webhook --timeout=300s |
Создание секрета для токенов доступа
Создайте секрет, названный AstroKubeдля токена Ключ-АСТРОМ Operator, и токен сбора данных, полученный в разделе Требуемые токены и разрешения.
| oc -n astromkey create secret generic AstroKube --from-literal="apiToken=<OPERATOR_TOKEN>" --from-literal="dataIngestToken=<DATA_INGEST_TOKEN>" |
Создание своего собственного файла YAML ресурсов AstroKube
Пример пользовательского ресурса AstroKube для мониторинга полного стека
Вы можете просмотреть доступные параметры или руководства по применению и адаптировать пользовательский ресурс AstroKube в соответствии со своими требованиями.
| apiVersion: astromkey.com/v1beta3
kind: AstroKube metadata: name: AstroKube namespace: astromkey annotations: feature.astromkey.com/k8s-app-enabled: "true" feature.astromkey.com/injection-readonly-volume: "true" spec: # For detailed instructions on AstroKube parameters in the spec section, visit https://docs.astromkey.com/docs/ingest-from/setup-on-k8s/reference/AstroKube-parameters # astromkey apiUrl including the /api path at the end. # Replace 'ENVIRONMENTID' with your environment ID. # For instructions on how to determine the environment ID and how to configure the apiUrl address, see https://www.astromkey.com/support/help/reference/astromkey-concepts/environment-id/. apiUrl: https://ENVIRONMENTID.live.astromkey.com/api metadataEnrichment: enabled: true oneAgent: cloudNativeFullStack: tolerations: - effect: NoSchedule key: node-role.kubernetes.io/master operator: Exists - effect: NoSchedule key: node-role.kubernetes.io/control-plane operator: Exists activeGate: capabilities: - routing - kubernetes-monitoring resources: requests: cpu: 500m memory: 512Mi limits: cpu: 1000m memory: 1.5Gi |
Применение пользовательского ресурса AstroKube
Выполните команду ниже, чтобы применить пользовательский ресурс AstroKube, заменив его фактическим именем файла вашего пользовательского ресурса AstroKube <your-AstroKube-CR>. Веб-хук проверки предоставит полезные сообщения об ошибках в случае возникновения проблем.
| oc apply -f <your-AstroKube-CR>.yaml |
Проверка развертки
необязательный
Убедитесь, что AstroKube запущен, а все модули в пространстве имен Ключ-АСТРОМ запущены и готовы.
| > oc get AstroKube -n astromkey
NAME APIURL STATUS AGE AstroKube https://<ENVIRONMENTID>.live.astromkey.com/api Running 45s |
В конфигурации AstroKube по умолчанию вы должны увидеть следующие модули:
| > oc get pods -n astromkey
NAME READY STATUS RESTARTS AGE AstroKube-activegate-0 1/1 Running 0 50s AstroKube-oneagent-b88rn 1/1 Running 0 50s AstroKube-oneagent-m5jm4 1/1 Running 0 50s AstroKube-oneagent-qhd9u 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 |
Лицензирование
Мониторинг платформы Kubernetes + возможность наблюдения за всем стеком требует подписки на платформу Ключ-АСТРОМ (DPS) и лицензируется по объему памяти хоста (ГБ-часы).