你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Kubernetes 服务(AKS)中的高级容器网络服务有助于收集全面的容器网络指标,从而深入了解容器化环境的性能。 此功能持续捕获节点和 Pod 级别的基本指标,包括流量、丢弃的数据包、连接状态和 DNS 解析时间,从而有效监视和优化网络性能。
捕获这些指标的能力对于了解容器的通信方式、服务之间的流量流动方式以及可能出现瓶颈或中断的位置至关重要。 高级容器网络服务与 Prometheus 和 Grafana 等监视工具无缝集成,为用户提供了可用于深入故障排除、网络优化和性能优化的网络指标的完整视图。
在当今的云原生世界中,在动态容器化环境中保持健康高效的网络对于确保应用程序按预期执行至关重要。 如果没有正确了解网络流量及其模式,识别潜在问题或效率低下会变得具有挑战性。
主要优势
- 深入了解网络性能
- 增强的故障排除和优化
- 主动异常情况检测
- 更好的资源管理和扩展性
- 容量规划和符合性
- 简化的指标存储和可视化选项:选择:* Azure 托管 Prometheus 和 Grafana:Azure 管理基础结构和维护,使用户能够专注于配置指标和可视化指标。* 自带 (BYO) Prometheus 和 Grafan:用户部署和配置自己的实例并管理底层基础结构。
捕获的指标类型
节点级指标
了解节点级别的容器网络的运行状况对于保持最佳应用程序性能至关重要。 这些指标提供按节点统计的流量、丢弃的数据包数、连接数等信息。 指标以 Prometheus 格式存储,因此可以在 Grafana 中查看它们。 以下指标按节点汇总。 所有指标包括标签:
cluster
instance
(节点名称)
- Cilium
- 非 Cilium
对于 Cilium 数据平面方案,容器网络可观测性仅为 Linux 提供指标。 当前不支持 Windows。 Cilium 公开多个指标,包括容器网络可观测性使用的以下指标。
指标名称 | DESCRIPTION | 额外标签 | Linux | Windows操作系统 |
---|---|---|---|---|
cilium_forward_count_total | 总转发数据包计数 | direction |
✅ | ❌ |
cilium_forward_bytes_total | 总转发字节计数 | direction |
✅ | ❌ |
cilium_drop_count_total | 总丢弃数据包计数 | direction 、reason |
✅ | ❌ |
cilium_drop_bytes_total | 总删除字节计数 | direction 、reason |
✅ | ❌ |
Pod 级指标(Hubble 指标)
这些 Prometheus 指标包括源 Pod 和目标 Pod 信息,可让你在精细级别查明与网络相关的问题。 指标涵盖流量、丢弃的数据包、TCP 重置、L4/L7 数据包流等。还有 DNS 指标(目前仅适用于非 Cilium 数据平面),涵盖 DNS 错误和 DNS 请求缺少响应。 以下指标按 Pod 汇总(保留节点信息)。 所有指标包括标签:
cluster
instance
(节点名称)source
或destination
对于传出流量,将有一个具有源 Pod 命名空间/名称的 标签source
。
对于传入流量,将有一个具有目标 Pod 命名空间/名称的 标签destination
。
指标名称 | DESCRIPTION | 额外标签 | Linux | Windows操作系统 |
---|---|---|---|---|
hubble_dns_queries_total | DNS 请求总数(按查询) | source 或 destination 、query 、qtypes (查询类型) |
✅ | ❌ |
hubble_dns_responses_total | DNS 响应总数(按查询/响应) | source 或 destination 、query 、qtypes (查询类型)、rcode (返回代码)、ips_returned (IP 数) |
✅ | ❌ |
hubble_drop_total | 总丢弃数据包计数 | source 或 destination 、protocol 、reason |
✅ | ❌ |
hubble_tcp_flags_total | TCP 数据包总数(按标志)。 | source 或 destination 、flag |
✅ | ❌ |
hubble_flows_processed_total | 处理的网络流总数(L4/L7 流量) | source 或 destination 、protocol 、verdict 、type 、subtype |
✅ | ❌ |
局限性
- Pod 级指标仅在 Linux 上可用。
- 从 Kubernetes 版本 1.29 开始,支持 Cilium 数据平面。
- 指标标签在 Cilium 和非 Cilium 群集之间存在细微差异。
- 对于基于 Cilium 的群集,DNS 指标仅适用于在其群集上配置了 Cilium 网络策略 (CNP) 的 pod。
- 目前,流日志在气隙云中不可用。
- 如果某个 Hubble 节点代理出现故障,并且可能导致 Hubble CLI 中断,Hubble 中继可能会崩溃。
规模
Azure 托管的 Prometheus 和 Grafana 施加特定于服务的规模限制。 有关详细信息,请参阅在 Azure Monitor 中大规模抓取 Prometheus 指标。
定价
重要
高级容器网络服务是一项付费服务。 有关定价的详细信息,请参阅高级容器网络服务 - 定价。
后续步骤
- 若要创建具有容器网络可观测性来捕获指标的 AKS 群集,请参阅 为 Azure Kubernetes 服务(AKS)设置容器网络可观测性。
- 有关 Azure Kubernetes 服务的高级容器网络服务(AKS),请参阅 高级容器网络服务概述。
- 在“什么是容器网络可观测性?”中探索高级容器网络服务中的容器网络可观测性功能。
- 通过什么是容器网络安全?了解高级容器网络服务中的容器网络安全功能。