什么是 Azure Kubernetes 服务 (AKS) 网络可观测性?

Kubernetes 是用于管理容器化应用程序的强大工具。 随着容器化环境复杂性的增长,可能很难识别和排查 Kubernetes 群集中的网络问题。

网络可观测性是维护正常运行且性能良好的 Kubernetes 群集的重要组成部分。 通过收集和分析有关网络流量的数据,可以深入了解群集的运行方式,并在潜在问题导致中断或性能下降之前识别这些问题。

网络可观测性组件的关系图。

AKS 中网络可观测性加载项概述

网络可观测性加载项在非 Cilium 和 Cilium 数据平面上无缝运行。 它为客户提供了 DevOps 和 SecOps 的企业级功能。 此解决方案为群集网络管理员、群集安全管理员和 DevOps 工程师提供了一种集中式方法来监视群集中的网络问题。

启用网络可观测性加载项后,它允许收集有用指标并将其转换为 Prometheus 格式,然后可在 Grafana 中将其可视化。

  • Azure 托管的 Prometheus 和 Grafana:一项由 Azure 提供的托管服务,负责处理 Prometheus 和 Grafana 的基础结构和维护,从而支持你专注于配置和可视化指标。

  • 多 CNI 支持: 网络可观测性加载项支持 Azure CNI 和 Kubenet 网络插件。

指标

网络可观测性加载项目前仅支持节点级别指标。 Cilium 和非 Cilium 数据平面具有不同的指标,但 Grafana 仪表板能够无缝地适配两者。

所有指标都有以下标签:

  • cluster
  • instance(节点名称)

在非 Cilium 数据平面上,网络可观测性加载项在 Linux 和 Windows 平台中均提供指标。 下表概述了生成的不同指标。

标准名称 说明 额外标签 Linux Windows
networkobservability_forward_count 总转发数据包计数 direction
networkobservability_forward_bytes 总转发字节计数 direction
networkobservability_drop_count 总丢弃数据包计数 directionreason
networkobservability_drop_bytes 总删除字节计数 directionreason
networkobservability_tcp_state TCP 当前活动套接字计数(按 TCP 状态)。 state
networkobservability_tcp_connection_remote TCP 当前活动套接字计数(按远程 IP/端口)。 address (IP)、port
networkobservability_tcp_connection_stats TCP 连接统计信息。 (例如:Delayed ACK、TCPKeepAlive、TCPSackFailure) statistic
networkobservability_tcp_flag_counters TCP 数据包计数(按标志)。 flag
networkobservability_ip_connection_stats IP 连接统计信息。 statistic
networkobservability_udp_connection_stats UDP 连接统计信息。 statistic
networkobservability_udp_active_sockets UDP 当前活动套接字计数
networkobservability_interface_stats 接口统计信息。 InterfaceName、statistic

限制

  • 不支持 Pod 级别指标。

缩放

使用 Azure 托管 Prometheus 和 Grafana 时,某些规模限制适用。

后续步骤