你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
启用容器见解
本文概述了可用于配置容器见解的要求和选项,这些要求和选项用于监视部署到 Kubernetes 环境的工作负荷的性能。 可使用许多受支持的方法为 Kubernetes 的新部署或者一个/多个现有部署启用容器见解。
支持的配置
容器见解支持以下环境:
- Azure Kubernetes 服务 (AKS)
- 已启用 Azure Arc 的 Kubernetes 群集
- Azure Stack 或本地
- AKS 引擎
- Red Hat OpenShift 版本 4.x
Kubernetes 和支持策略的版本与 AKS 中受支持的版本相同。
Windows 群集与 Linux 群集之间的差异
监视 Windows Server 群集与监视 Linux 群集相比,主要差异包括:
- Windows 没有内存 RSS 指标。 因此它不适用于 Windows 节点和容器。 可使用工作集指标。
- 磁盘存储容量信息不适用于 Windows 节点。
- 仅监视 Pod 环境,不监视 Docker 环境。
- 使用预览版时,最多支持 30 个 Windows Server 容器。 此限制不适用于 Linux 容器。
注意
容器见解对 Windows Server 2022 操作系统的支持目前为公共预览版。
安装选项
先决条件
首先,请确保你已满足以下要求:
Log Analytics 工作区
容器见解将其数据存储在 Log Analytics 工作区中。 它支持可用产品(按区域) 中列出的区域中的工作区。 有关用于默认工作区的受支持映射对的列表,请参阅容器见解支持的区域映射。
可以让载入体验在 AKS 群集订阅的默认资源组中创建 Log Analytics 工作区。 如果你已经有了一个工作区,你可能会想使用它。 有关详细信息,请参阅设计 Azure Monitor 日志部署。
可以将 AKS 群集附加到同一 Azure Active Directory 租户的不同 Azure 订阅中的 Log Analytics 工作区。 目前,无法使用 Azure 门户执行此操作,但可以使用 Azure CLI 或 Azure 资源管理器模板。
Azure Monitor 工作区(预览版)
如果要通过适用于 Prometheus 的Azure Monitor 托管服务将群集配置为收集 Prometheus 指标,则必须具有一个 Azure Monitor 工作区,该工作区是存储 Prometheus 指标的位置。 可以让载入过程在 AKS 群集订阅的默认资源组中创建 Azure Monitor 工作区,也可以使用现有的 Azure Monitor 工作区。
权限
若要启用容器监视,需要以下权限:
- 必须是 Log Analytics 参与者角色的成员。
- 必须是任何 AKS 群集资源上的“所有者”组的成员。
若要在启用容器监视后查看数据,需要以下权限:
- 必须是 Log Analytics 读取者角色的成员(如果还不是 Log Analytics 参与者的成员)。
Kubelet 安全端口
容器化 Linux 代理 (replicaset pod) 向群集内 Kubelet 安全端口 (10250) 上的所有 Windows 节点进行 API 调用,以收集与节点和容器性能相关的指标。 应在群集的虚拟网络中针对入站和出站打开 Kubelet 安全端口 (:10250),以便正常收集 Windows 节点和容器性能相关指标。
如果你有一个包含 Windows 节点的 Kubernetes 群集,请查看并配置网络安全组和网络策略,确保在群集的虚拟网络中针对入站和出站打开 Kubelet 安全端口 (:10250)。
身份验证
容器见解现支持使用托管标识进行身份验证(预览版)。 这是一种安全且简化的身份验证模型,其中监视代理使用群集的托管标识将数据发送到 Azure Monitor。 它取代了现有旧版的基于证书的本地身份验证,并使得无需再将“监视指标发布者”角色添加到群集。
注意
客户可自助操作,选择使用容器见解预览功能。 预览版是“按原样”和“按可用”提供的。它们未包含在服务级别协议和有限保修中。 客户支持尽最大努力部分覆盖容器见解预览功能。 因此,这些功能并不适合用于生产。 有关详细信息,请查看 Azure Kubernetes 服务的常见问题解答。
Agent
本节回顾容器见解使用的代理。
Azure Monitor 代理
使用托管标识身份验证(预览版)时,容器见解依靠适用于 Linux 的容器化 Azure Monitor 代理。 此专用代理从群集中的所有节点收集性能和事件数据。 在部署期间,代理将自动部署并注册到指定的 Log Analytics 工作区。
Log Analytics 代理
没有使用托管标识身份验证时,容器见解依靠适用于 Linux 的容器化 Log Analytics 代理。 此专用代理从群集中的所有节点收集性能和事件数据。 在部署期间,代理将自动部署并注册到指定的 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
来升级、删除、重新部署或部署代理。 模板需要部署在群集所在的资源组中。
网络防火墙要求
下表列出了容器化代理与容器见解进行通信所需的代理和防火墙配置信息。 来自代理的所有网络流量都是发往 Azure Monitor 的出站流量。
Azure 公有云
代理资源 | 端口 |
---|---|
*.ods.opinsights.azure.com |
443 |
*.oms.opinsights.azure.com |
443 |
dc.services.visualstudio.com |
443 |
*.monitoring.azure.com |
443 |
login.microsoftonline.com |
443 |
下表列出了托管标识身份验证所需的其他防火墙配置。
代理资源 | 目的 | 端口 |
---|---|---|
global.handler.control.monitor.azure.com |
访问控制服务 | 443 |
<cluster-region-name>.ingest.monitor.azure.com |
适用于 Prometheus 的 Azure Monitor 托管服务 - 指标引入终结点 (DCE) | 443 |
<cluster-region-name>.handler.control.monitor.azure.com |
提取特定 AKS 群集的数据收集规则 | 443 |
Azure 中国世纪互联云
下表列出了 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 |
Azure 政府版云
下表列出了 Azure 美国政府版的代理和防火墙配置信息。
代理资源 | 目的 | 端口 |
---|---|---|
*.ods.opinsights.azure.us |
数据引入 | 443 |
*.oms.opinsights.azure.us |
OMS 载入 | 443 |
dc.services.visualstudio.com |
用于使用 Azure 公有云 Application Insights 的代理遥测 | 443 |
下表列出了托管标识身份验证所需的其他防火墙配置。
代理资源 | 目的 | 端口 |
---|---|---|
global.handler.control.monitor.azure.us |
访问控制服务 | 443 |
<cluster-region-name>.handler.control.monitor.azure.us |
提取特定 AKS 群集的数据收集规则 | 443 |
后续步骤
启用监视后,接下来就可以开始分析 AKS、Azure Stack 或其他环境中托管的 Kubernetes 群集的性能。
若要了解如何使用容器见解,请参阅查看 Kubernetes 群集性能。