启用容器见解

本文概述了可用于在 Kubernetes 群集上启用容器见解的要求和选项。 可使用许多受支持的方法为 Kubernetes 的新部署或者一个/多个现有部署启用容器见解。

支持的配置

容器见解支持以下环境:

注意

容器见解支持 AKS 上的 ARM64 节点。 有关支持 ARM64 节点的已启用 Azure Arc 的群集的详细信息,请参阅群集要求

先决条件

身份验证

容器见解使用托管标识身份验证。 这是一种身份验证模型,其中监视代理使用群集的托管标识将数据发送到 Azure Monitor。 阅读容器见解的身份验证了解详细信息,包括有关从旧式身份验证模型迁移的指导。

注意

使用 ARM、Bicep、Terraform、Policy 和 Portal 加入来加入容器见解时,ContainerLogV2 是默认架构。 ContainerLogV2 可以使用数据收集设置通过 CLI 2.51.0 或更高版本实现显式启用。

Agent

容器见解依赖于适用于 Linux 的容器化 Azure Monitor 代理。 此专用代理从群集中的所有节点收集性能和事件数据,并将其发送到 Log Analytics 工作区。 在部署期间,代理将自动部署并注册到指定的 Log Analytics 工作区。

数据收集规则

数据收集规则 (DCR) 包含 Azure Monitor 代理应收集的数据的定义。 在群集上启用容器见解时,会创建名为 MSCI-cluster-region-\cluster-name 的 DCR。<><> 目前无法修改此名称。

自 2023 年 3 月 1 日以来,容器见解使用兼容 semver 的代理版本。 代理版本为 mcr.microsoft.com/azuremonitor/containerinsights/ciprod:3.1.4 或更高版本。 它以 mcr.microsoft.com/azuremonitor/containerinsights/ciprod:<semver 兼容版本> 的格式表示。 当该代理的新版本发布时,在承载于 AKS 上的托管 Kubernetes 群集上自动升级该代理。 若要跟踪已发布的版本,请参阅代理发布公告

注意

容器见解 DCR 目前不支持引入转换。

Log Analytics 代理

没有使用托管标识身份验证时,容器见解依靠适用于 Linux 的容器化 Log Analytics 代理。 代理版本为 microsoft/oms:ciprod04202018 或更高版本。 该版本以 mmddyyyy 格式的日期表示。 当该代理的新版本发布时,在承载于 AKS 上的托管 Kubernetes 群集上自动升级该代理。 若要跟踪已发布的版本,请参阅代理发布公告

随着 Windows Server AKS 支持的正式发布,具有 Windows Server 节点的 AKS 群集在每个单独的 Windows Server 节点上安装了一个预览代理,作为一个 DaemonSet Pod 来收集日志并将其转发给 Log Analytics。 对于性能指标,在标准部署过程中,自动部署在群集中的 Linux 节点会为群集中的所有 Windows 节点收集数据并将数据转发到 Azure Monitor。

注意

如果已部署 AKS 群集并使用 Azure CLI 或 Azure 资源管理器模板启用监视,则不能使用 kubectl 来升级、删除、重新部署或部署代理。 模板需要部署在群集所在的资源组中。

Windows 群集与 Linux 群集之间的差异

监视 Windows Server 群集与监视 Linux 群集相比,主要差异包括:

  • Windows 没有内存 RSS 指标。 因此它不适用于 Windows 节点和容器。 可使用工作集指标。
  • 磁盘存储容量信息不适用于 Windows 节点。
  • 仅监视 Pod 环境,不监视 Docker 环境。
  • 使用预览版时,最多支持 30 个 Windows Server 容器。 此限制不适用于 Linux 容器。

注意

容器见解对 Windows Server 2022 操作系统的支持目前为公共预览版。

容器化 Linux 代理 (replicaset pod) 向群集内 Kubelet 安全端口 (10250) 上的所有 Windows 节点进行 API 调用,以收集与节点和容器性能相关的指标。 应在群集的虚拟网络中针对入站和出站打开 Kubelet 安全端口 (:10250),以便正常收集 Windows 节点和容器性能相关指标。

如果你有一个包含 Windows 节点的 Kubernetes 群集,请查看并配置网络安全组和网络策略,确保在群集的虚拟网络中针对入站和出站打开 Kubelet 安全端口 (:10250)。

网络防火墙要求

下表列出了容器化代理与容器见解进行通信所需的代理和防火墙配置信息。 来自代理的所有网络流量都是发往 Azure Monitor 的出站流量。

下表列出了由世纪互联运营的 Microsoft Azure 的代理和防火墙配置信息:

代理资源 用途 端口
*.ods.opinsights.azure.cn 数据引入 443
*.oms.opinsights.azure.cn OMS 载入 443
dc.services.visualstudio.com 用于使用 Azure 公有云 Application Insights 的代理遥测 443

下表列出了托管标识身份验证所需的其他防火墙配置。

代理资源 用途 端口
global.handler.control.monitor.azure.cn 访问控制服务 443
<cluster-region-name>.handler.control.monitor.azure.cn 提取特定 AKS 群集的数据收集规则 443

后续步骤

启用监视后,接下来就可以开始分析 AKS、Azure Stack 或其他环境中托管的 Kubernetes 群集的性能。

若要了解如何使用容器见解,请参阅查看 Kubernetes 群集性能