Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Каждый кластер Nexus Kubernetes состоит из нескольких слоев:
- Виртуальные машины (ВМ)
- Слой Kubernetes
- Модули pod приложений
Рис. Пример кластера Nexus Kubernetes
В экземпляре кластеры Nexus Kubernetes доставляются с необязательным решением для наблюдения Container Insights. Container Insights записывает журналы и метрики из кластеров и рабочих нагрузок Nexus Kubernetes. Это исключительно ваше усмотрение, следует ли включить это средство или развернуть собственный стек телеметрии.
Кластер Nexus Kubernetes со средством мониторинга Azure выглядит следующим образом:
Рис. Кластер Nexus Kubernetes с инструментами мониторинга
Подключение расширений с помощью интерфейса командной строки с помощью проверки подлинности управляемого удостоверения
Документация по началу с Azure CLI, установка ее в нескольких операционных системах и установка расширений CLI.
Установите последнюю версию необходимых расширений CLI.
Мониторинг кластера Nexus Kubernetes
В этом руководстве приведены инструкции по включению агентов мониторинга для сбора журналов системы из этих виртуальных машин с помощью агента мониторинга Azure. Дополнительные инструкции содержат сведения о настройке сбора данных журнала в пространстве Log Analytics.
Предпосылки
Доступ администратора кластера к кластеру Nexus Kubernetes.
Чтобы использовать серверы с поддержкой Azure Arc, зарегистрируйте в подписке следующие поставщики ресурсов Azure:
- Microsoft.HybridCompute
- Microsoft.GuestConfiguration
- Microsoft.HybridConnectivity
Зарегистрируйте этих поставщиков ресурсов, если это не сделано ранее:
az account set --subscription "{the Subscription Name}"
az provider register --namespace 'Microsoft.HybridCompute'
az provider register --namespace 'Microsoft.GuestConfiguration'
az provider register --namespace 'Microsoft.HybridConnectivity'
- При необходимости назначьте учетную запись службы Azure на следующие встроенные роли Azure. Назначьте служебного принципала группе ресурсов Azure, содержащей машины для подключения.
| Role | Требуется |
|---|---|
| Администратор ресурсов подключенных компьютеров Azure или участник | Подключение сервера виртуальной машины кластера Nexus Kubernetes с поддержкой Arc в группе ресурсов и установка агента мониторинга Azure (AMA) |
| Участник мониторинга или Участник | Создайте правило сбора данных (DCR) в группе ресурсов и свяжите с ним серверы с поддержкой Arc. |
| Администратор доступа пользователей и соавтор политики ресурсов, или участник | Необходимо, если вы хотите использовать назначения политик Azure, чтобы обеспечить связь DCR с компьютерами с поддержкой Arc. |
| Участник расширения Kubernetes | Требуется для развертывания расширения K8s для Аналитики контейнеров |
Мониторинг кластера Nexus Kubernetes
Предпосылки
Оператор должен обеспечить выполнение определённых предварительных условий для настройки инструментов мониторинга в кластерах Nexus Kubernetes.
Container Insights хранит свои данные в рабочей области Log Analytics. Данные журнала передаются в рабочую область, идентификатор ресурса которой вы указали во время установки расширения Container Insights. В противном случае данные направляются в рабочую область по умолчанию в группе ресурсов, связанной с вашей подпиской (в зависимости от региона Azure).
Пример для восточной части США может выглядеть следующим образом:
- Имя рабочей области Log Analytics: DefaultWorkspace-<GUID>-EUS
- Имя группы ресурсов: DefaultResourceGroup-EUS
Выполните следующую команду, чтобы получить предварительно существующий идентификатор ресурса рабочей области Log Analytics:
az login
az account set --subscription "<Subscription Name or ID the Log Analytics workspace is in>"
az monitor log-analytics workspace show --workspace-name "<Log Analytics workspace Name>" \
--resource-group "<Log Analytics workspace Resource Group>" \
-o tsv --query id
Для развертывания Аналитики контейнеров и просмотра данных в применимой рабочей области Log Analytics требуются определенные назначения ролей в вашей учетной записи. Например, назначение роли "Сотрудник". См. инструкции по назначению обязательных ролей.
- Роль Log Analytics Contributor: необходимые разрешения для включения мониторинга контейнеров на подготовленном кластере CNF.
- Роль читателя Log Analytics: лица, не входящие в состав роли участника Log Analytics, получают разрешения на просмотр данных в рабочей области Log Analytics после включения мониторинга контейнеров.
Установка расширения кластера
Войдите в Azure Cloud Shell для доступа к кластеру:
az login
az account set --subscription "<Subscription Name or ID the Provisioned Cluster is in>"
Теперь разверните расширение Container Insights в подготовленном кластере Nexus Kubernetes с помощью любой из следующих двух команд:
С предварительно созданной заказчиком рабочей областью Log Analytics
az k8s-extension create --name azuremonitor-containers \
--cluster-name "<Nexus Kubernetes cluster Name>" \
--resource-group "<Nexus Kubernetes cluster Resource Group>" \
--cluster-type connectedClusters \
--extension-type Microsoft.AzureMonitor.Containers \
--release-train preview \
--configuration-settings logAnalyticsWorkspaceResourceID="<Log Analytics workspace Resource ID>" \
amalogsagent.useAADAuth=true
Использование рабочей области Log Analytics по умолчанию
az k8s-extension create --name azuremonitor-containers \
--cluster-name "<Nexus Kubernetes cluster Name>" \
--resource-group "<Nexus Kubernetes cluster Resource Group>" \
--cluster-type connectedClusters \
--extension-type Microsoft.AzureMonitor.Containers \
--release-train preview \
--configuration-settings amalogsagent.useAADAuth=true
Проверка расширения кластера
Проверьте успешное развертывание включения агентов мониторинга в кластерах Nexus Kubernetes с помощью следующей команды:
az k8s-extension show --name azuremonitor-containers \
--cluster-name "<Nexus Kubernetes cluster Name>" \
--resource-group "<Nexus Kubernetes cluster Resource Group>" \
--cluster-type connectedClusters
Найдите состояние подготовки "Успешно" для расширения. Команда "k8s-extension create" также могла вернуть статус.
Настройка коллекции журналов и метрик
Container Insights предоставляет функции конечных пользователей для точной настройки коллекции журналов и метрик из кластеров Nexus Kubernetes. Обратитесь к инструкциям по настройке агентов аналитики контейнеров для сбора данных для сбора журналов и к инструкции по отправке метрик Prometheus в рабочую область Log Analytics с помощью аналитики контейнеров для сбора метрик.
Замечание
Служба Container Insights не собирает журналы из kube-system пространства имен по умолчанию. Чтобы собирать журналы из kube-system пространства имен, необходимо настроить агент для сбора журналов из kube-system пространства имен.
Это можно сделать, удалив kube-system пространство имен из excludedNamespaces поля в ConfigMap в соответствии с подходом configMap конфигурации.
[log_collection_settings]
[log_collection_settings.stdout]
# In the absence of this configmap, default value for enabled is true
enabled = true
# exclude_namespaces setting holds good only if enabled is set to true
# kube-system,gatekeeper-system log collection are disabled by default in the absence of 'log_collection_settings.stdout' setting. If you want to enable kube-system,gatekeeper-system, remove them from the following setting.
# If you want to continue to disable kube-system,gatekeeper-system log collection keep the namespaces in the following setting and add any other namespace you want to disable log collection to the array.
# In the absence of this configmap, default value for exclude_namespaces = ["kube-system","gatekeeper-system"]
exclude_namespaces = ["gatekeeper-system"]
# If you want to collect logs from only selective pods inside system namespaces add them to the following setting. Provide namespace:controllerName of the system pod. NOTE: this setting is only for pods in system namespaces
# Valid values for system namespaces are: kube-system, azure-arc, gatekeeper-system, kube-public, kube-node-lease, calico-system. The system namespace used should not be present in exclude_namespaces
# collect_system_pod_logs = ["kube-system:coredns"]
[log_collection_settings.stderr]
# Default value for enabled is true
enabled = true
# exclude_namespaces setting holds good only if enabled is set to true
# kube-system,gatekeeper-system log collection are disabled by default in the absence of 'log_collection_settings.stderr' setting. If you want to enable kube-system,gatekeeper-system, remove them from the following setting.
# If you want to continue to disable kube-system,gatekeeper-system log collection keep the namespaces in the following setting and add any other namespace you want to disable log collection to the array.
# In the absence of this configmap, default value for exclude_namespaces = ["kube-system","gatekeeper-system"]
exclude_namespaces = ["gatekeeper-system"]
# If you want to collect logs from only selective pods inside system namespaces add them to the following setting. Provide namespace:controllerName of the system pod. NOTE: this setting is only for pods in system namespaces
# Valid values for system namespaces are: kube-system, azure-arc, gatekeeper-system, kube-public, kube-node-lease, calico-system. The system namespace used should not be present in exclude_namespaces
# collect_system_pod_logs = ["kube-system:coredns"]
Дополнительные ресурсы
- Ознакомьтесь с документацией по рабочим книгам, а затем вы можете использовать образцы рабочих книг Oператора Nexus для телеметрии Oператора Nexus.
- Просмотрите оповещения Azure Monitor, как создать правила генерации оповещений Azure Monitor и использовать примеры шаблонов оповещений оператора Nexus.