在 Azure Kubernetes 服务 (AKS) 群集上禁用容器见解

启用对 Azure Kubernetes 服务 (AKS) 群集的监视后,如果决定不再监视它,可以停止监视群集。 本文介绍如何使用 Azure CLI 或提供的 Azure 资源管理器模板(ARM 模板)来执行此任务。

Azure CLI

使用 az aks disable-addons 命令禁用容器见解。 该命令从群集节点中删除代理。 它不会删除解决方案或已收集并存储在 Azure Monitor 资源中的数据。

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

若要重新启用对群集的监视,请参阅使用 Azure CLI 启用监视

Azure 资源管理器模板

提供了两个 ARM 模板,以支持在资源组中一致且重复地删除解决方案资源。 一个是 JSON 模板,用于指定用于停止监视的配置。 另一个模板包含配置的参数值,用于指定 AKS 群集资源 ID 和在其中部署群集的资源组。

如果不熟悉使用模板部署资源的概念,请参阅:

注意

模板必须部署在群集的同一资源组中。 如果在使用此模板时省略任何其他属性或加载项,它们可能会从群集中删除。 例如 enableRBAC(用于群集中实施的 Kubernetes RBAC 策略)或 aksResourceTagValues(如果为 AKS 群集指定了标记)。

如果选择使用 Azure CLI,必须在本地安装和使用 CLI。 必须运行 Azure CLI 2.0.27 版或更高版本。 若要确定版本,请运行 az --version。 如果需要安装或升级 Azure CLI,请参阅安装 Azure CLI

创建模板

  1. 将以下 JSON 语法复制并粘贴到文件中:

    {
      "$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. \"China East2\""
         }
       },
    "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
            }
           }
         }
       }
      ]
    }
    
  2. 将此文件以“OptOutTemplate.json”文件名保存到本地文件夹 。

  3. 将以下 JSON 语法粘贴到文件中:

    {
      "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "aksResourceId": {
          "value": "/subscriptions/<SubscriptionID>/resourcegroups/<ResourceGroup>/providers/Microsoft.ContainerService/managedClusters/<ResourceName>"
        },
        "aksResourceLocation": {
          "value": "<aksClusterRegion>"
        },
        "aksResourceTagValues": {
          "value": {
            "<existing-tag-name1>": "<existing-tag-value1>",
            "<existing-tag-name2>": "<existing-tag-value2>",
            "<existing-tag-nameN>": "<existing-tag-valueN>"
          }
        }
      }
    }
    
  4. 使用可在选定群集的“属性”页面上找到的 AKS 群集的值,编辑 aksResourceIdaksResourceLocation 的值 。

    Screenshot that shows the Container properties page.

    位于“属性”页时,另请复制“工作区资源 ID”。 如果决定稍后删除 Log Analytics 工作区,则需要此值。 不在此流程中执行删除 Log Analytics 工作区的操作。

    编辑 aksResourceTagValues 的值,以匹配为 AKS 群集指定的现有标记值。

  5. 将此文件以“OptOutParam.json”文件名保存到本地文件夹 。

现在,你已做好部署此模板的准备。

使用 Azure CLI 删除解决方案

若要删除解决方案并清除 AKS 群集上的配置,请在 Linux 上使用 Azure CLI 运行以下命令:

az cloud set --name AzureChinaCloud
az login   
az account set --subscription "Subscription Name"
az deployment group create --resource-group <ResourceGroupName> --template-file ./OptOutTemplate.json --parameters ./OptOutParam.json  

配置更改可能需要几分钟才能完成。 结果将在类似于以下示例的消息中返回:

ProvisioningState       : Succeeded

使用 PowerShell 删除解决方案

注意

建议使用 Azure Az PowerShell 模块与 Azure 交互。 请参阅安装 Azure PowerShell 以开始使用。 若要了解如何迁移到 Az PowerShell 模块,请参阅 将 Azure PowerShell 从 AzureRM 迁移到 Az

若要删除解决方案并从 AKS 群集中清除配置,请在包含模板的文件夹中运行以下 PowerShell 命令:

Connect-AzAccount -Environment AzureChinaCloud
Select-AzSubscription -SubscriptionName <yourSubscriptionName>
New-AzResourceGroupDeployment -Name opt-out -ResourceGroupName <ResourceGroupName> -TemplateFile .\OptOutTemplate.json -TemplateParameterFile .\OptOutParam.json

配置更改可能需要几分钟才能完成。 结果将在类似于以下示例的消息中返回:

ProvisioningState       : Succeeded

后续步骤

如果创建的工作区仅用于支持监视群集且不再被需要,则必须手动删除它。 如果不熟悉如何删除工作区,请参阅使用 Azure 门户删除 Azure Log Analytics 工作区。 不要忘记之前在步骤 4 中复制的“工作区资源 ID”。 你将需要该信息。