Настройка сетевого наблюдения для Служба Azure Kubernetes (AKS) — BYO Prometheus и Grafana
Наблюдение за сетями AKS используется для сбора данных сетевого трафика кластера AKS. Мониторинг сети обеспечивает централизованную платформу для мониторинга работоспособности приложений и сети. Prometheus собирает метрики наблюдаемости сети AKS, а Grafana визуализирует их. Поддерживаются плоскость данных Cilium и не Cilium. Из этой статьи вы узнаете, как включить надстройку "Наблюдение за сетями" и использовать BYO Prometheus и Grafana для визуализации срезированных метрик.
Примечание.
Начиная с Kubernetes версии 1.29 функция наблюдения за сетями больше не поддерживает использование Prometheus и Grafana. Однако его можно включить с помощью предложения Azure Managed Prometheus и Grafana.
Внимание
Наблюдаемость сети AKS в настоящее время доступна в предварительной версии. Юридические условия, применимые к функциям Azure, которые находятся в состоянии бета-версии, предварительной версии или иным образом еще не выпущены в общедоступной версии, см. на странице Дополнительные условия использования предварительных версий в Microsoft Azure.
Дополнительные сведения о наблюдаемости сети AKS см. в статье "Что такое Служба Azure Kubernetes (AKS) сетевое наблюдение?.
Необходимые компоненты
Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
Установки BYO Prometheus и Grafana.
Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.
Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.
Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.
Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.
Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.
- Минимальная версия Azure CLI, необходимая для действий, описанных в этой статье, — 2.44.0. Чтобы узнать версию, выполните команду
az --version
. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0.
Установка расширения Azure CLI aks-preview
Внимание
Предварительные версии функций AKS доступны на уровне самообслуживания. Предварительные версии предоставляются "как есть" и "при наличии". На них не распространяются соглашения об уровне обслуживания и ограниченная гарантия. Предварительные версии AKS предоставляются с частичной клиентской поддержкой по мере возможности. Следовательно, эти функции не предназначены для использования в рабочей среде. Дополнительные сведения доступны в следующих статьях поддержки.
# Install the aks-preview extension
az extension add --name aks-preview
# Update the extension to make sure you have the latest version installed
az extension update --name aks-preview
Регистрация флага компонента NetworkObservabilityPreview
az feature register --namespace "Microsoft.ContainerService" --name "NetworkObservabilityPreview"
Используйте az feature show, чтобы проверка состояние регистрации флага функции:
az feature show --namespace "Microsoft.ContainerService" --name "NetworkObservabilityPreview"
Подождите, пока функция будет зарегистрирована до предыдущей статьи.
{
"id": "/subscriptions/23250d6d-28f0-41dd-9776-61fc80805b6e/providers/Microsoft.Features/providers/Microsoft.ContainerService/features/NetworkObservabilityPreview",
"name": "Microsoft.ContainerService/NetworkObservabilityPreview",
"properties": {
"state": "Registering"
},
"type": "Microsoft.Features/providers/features"
}
При регистрации компонента обновите регистрацию поставщика ресурсов Microsoft.ContainerService с помощью az provider register:
az provider register -n Microsoft.ContainerService
Создание или изменение группы ресурсов
Группа ресурсов — это логический контейнер, в котором происходит развертывание ресурсов Azure и управление ими. Создайте группу ресурсов с помощью команды az group create . В следующем примере создается группа ресурсов с именем myResourceGroup в расположении eastus.
az group create \
--name myResourceGroup \
--location eastus
Создание кластера AKS
Создайте кластер AKS с помощью команды az aks create . В следующем примере создается кластер AKS с именем myAKSCluster в группе ресурсов myResourceGroup :
Кластеры, отличные от Cilium, поддерживают включение наблюдения за сетями в существующем кластере или во время создания нового кластера.
Новый кластер
Используйте az aks create в следующем примере, чтобы создать кластер AKS с сетевой наблюдаемостью и не Cilium.
az aks create \
--name myAKSCluster \
--resource-group myResourceGroup \
--location eastus \
--generate-ssh-keys \
--network-plugin azure \
--network-plugin-mode overlay \
--pod-cidr 192.168.0.0/16 \
--enable-network-observability
Существующий кластер
Используйте az aks update , чтобы включить наблюдение за сетями в существующем кластере.
az aks update \
--resource-group myResourceGroup \
--name myAKSCluster \
--enable-network-observability
Получение учетных данных кластера
az aks get-credentials --name myAKSCluster --resource-group myResourceGroup
Включение визуализации в Grafana
Используйте следующий пример, чтобы настроить задания скребка в Prometheus и включить визуализацию в Grafana для кластера AKS.
Примечание.
В следующем разделе требуются установки Prometheus и Grafana.
Добавьте следующее задание скребка в существующую конфигурацию Prometheus и перезапустите сервер Prometheus:
scrape_configs: - job_name: "network-obs-pods" kubernetes_sd_configs: - role: pod relabel_configs: - source_labels: [__meta_kubernetes_pod_container_name] action: keep regex: kappie(.*) - source_labels: [__address__, __meta_kubernetes_pod_annotation_prometheus_io_port] separator: ":" regex: ([^:]+)(?::\d+)? target_label: __address__ replacement: ${1}:${2} action: replace - source_labels: [__meta_kubernetes_pod_node_name] action: replace target_label: instance metric_relabel_configs: - source_labels: [__name__] action: keep regex: (.*)
В целевых объектах Prometheus проверьте наличие сетевых pod-obs-pod .
Войдите в Grafana и импортируйте панель мониторинга наблюдения за сетями с идентификатором 18814.
Очистка ресурсов
Если вы не собираетесь продолжать использовать это приложение, удалите кластер AKS и другие ресурсы, созданные в этой статье, с помощью следующего примера:
az group delete \
--name myResourceGroup
Следующие шаги
Из этой статьи вы узнали, как установить и включить наблюдаемость сети AKS для кластера AKS.
Дополнительные сведения о наблюдаемости сети AKS см. в статье "Что такое Служба Azure Kubernetes (AKS) сетевое наблюдение?.
Сведения о создании кластера AKS с наблюдаемостью сети и управляемым Prometheus и Grafana см. в статье "Настройка сетевого наблюдения для Служба Azure Kubernetes (AKS) Azure Managed Prometheus и Grafana.