Отключение мониторинга кластера Kubernetes

Используйте следующие методы, чтобы удалить аналитику контейнеров или Prometheus из кластера Kubernetes.

Необходимые разрешения

Отключение аналитики контейнеров

Кластер AKS

Используйте команду az aks disable-addons CLI, чтобы отключить аналитику контейнеров в кластере. Команда удаляет агент из узлов кластера. Он не удаляет данные, уже собранные и хранящиеся в рабочей области Log Analytics для кластера.

az aks disable-addons -a monitoring -n MyExistingManagedCluster -g MyExistingManagedClusterRG

Кроме того, для удаления аналитики контейнеров можно использовать следующий шаблон ARM ниже.

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
      "aksResourceId": {
          "type": "string",
          "metadata": {
              "description": "AKS Cluster Resource ID"
            }
        },
      "aksResourceLocation": {
          "type": "string",
          "metadata": {
              "description": "Location of the AKS resource e.g. \"East US\""
            }
        },
      "aksResourceTagValues": {
          "type": "object",
          "metadata": {
             "description": "Existing all tags on AKS Cluster Resource"
            }
      }
  },
  "resources": [
  {
    "name": "[split(parameters('aksResourceId'),'/')[8]]",
    "type": "Microsoft.ContainerService/managedClusters",
    "location": "[parameters('aksResourceLocation')]",
    "tags": "[parameters('aksResourceTagValues')]",
    "apiVersion": "2018-03-31",
    "properties": {
      "mode": "Incremental",
      "id": "[parameters('aksResourceId')]",
      "addonProfiles": {
        "omsagent": {
          "enabled": false,
          "config": null
        }
        }
      }
    }
  ]
}

Кластер Kubernetes с поддержкой Arc

Следующие сценарии PowerShell и Bash доступны для удаления аналитических сведений о контейнерах из кластеров Kubernetes с поддержкой Arc. Вы можете получить контекст kube кластера, выполнив команду kubectl config get-contexts. Если вы хотите использовать текущий контекст, не указывайте этот параметр.

PowerShell: disable-monitoring.ps1

# Use current context
.\disable-monitoring.ps1 -clusterResourceId <cluster-resource-id>

# Specify kube-context
.\disable-monitoring.ps1 -clusterResourceId <cluster-resource-id> -kubeContext <kube-context>

Bash: disable-monitoring.sh

# Use current context
bash disable-monitoring.sh --resource-id $AZUREARCCLUSTERRESOURCEID 

# Specify kube-context
bash disable-monitoring.sh --resource-id $AZUREARCCLUSTERRESOURCEID --kube-context $KUBECONTEXT

Удаление аналитики контейнеров с помощью Helm

Следующие этапы относятся к следующим средам:

  • Обработчик AKS и Azure Stack
  • OpenShift версии 4 и выше
  1. Выполните следующую команду helm, чтобы определить выпуск диаграммы helm аналитики контейнеров, установленный в кластере.

    helm list
    

    Выходные данные выглядят следующим образом:

    NAME                            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                           APP VERSION
    azmon-containers-release-1      default         3               2020-04-21 15:27:24.1201959 -0700 PDT   deployed        azuremonitor-containers-2.7.0   7.0.0-1
    

    azmon-containers-release-1 указывает выпуск диаграммы Helm для аналитики контейнеров.

  2. Чтобы удалить выпуск диаграммы, выполните следующую команду Helm.

    helm delete <releaseName>

    Пример:

    helm delete azmon-containers-release-1

    При этом удаляется выпуск из кластера. Для проверки выполните команду helm list:

    NAME                            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                           APP VERSION
    

Изменение конфигурации может занять несколько минут. Так как Helm отслеживает выпуски даже после их удаления, можно выполнить аудит журнала кластера и даже отменить удаление выпуска с помощью helm rollback.

Отключение Prometheus

Используйте следующую az aks update команду Azure CLI с --disable-azure-monitor-metrics параметром, чтобы удалить надстройку метрик из кластера AKS или az k8s-extension delete команды Azure CLI с --name azuremonitor-metrics параметром, чтобы удалить надстройку метрик из кластера с поддержкой Arc и прекратить отправку метрик Prometheus в управляемую службу Azure Monitor для Prometheus. Он не удаляет уже собранные и сохраненные данные в рабочей области Azure Monitor для кластера.

Кластер AKS:

az aks update --disable-azure-monitor-metrics -n <cluster-name> -g <cluster-resource-group>

Кластер с поддержкой Azure Arc:

az k8s-extension delete --name azuremonitor-metrics --cluster-name <cluster-name> --resource-group <cluster-resource-group> --cluster-type connectedClusters 

Эта команда выполняет следующие действия:

  • Удаляет агент ama-metrics из узлов кластера.
  • Удаляет правила записи, созданные для этого кластера.
  • Удаляет конечную точку сбора данных (DCE).
  • Удаляет правило сбора данных (DCR).
  • Удаляет связь правил сбора данных (DCRA) и группы правил записи, созданные как часть подключения.

Следующие шаги

Если рабочая область была создана только для поддержки мониторинга кластера и ее больше не требуется, ее необходимо удалить вручную. Если вы не знаете, как удалить рабочую область, см. статью "Удалить рабочую область Azure Log Analytics" с помощью портал Azure. Не забывайте об идентификаторе ресурса рабочей области, скопированном ранее на шаге 4. Вам потребуется эта информация.