什么是 Azure Kubernetes 服务 (AKS) 网络可观测性? (预览版)
Kubernetes 是用于管理容器化应用程序的强大工具。 随着容器化环境复杂性的增长,可能很难识别和排查 Kubernetes 群集中的网络问题。
网络可观测性是维护正常运行且性能良好的 Kubernetes 群集的重要组成部分。 通过收集和分析有关网络流量的数据,可以深入了解群集的运行方式,并在潜在问题导致中断或性能下降之前识别这些问题。
AKS 中网络可观测性加载项概述
重要
AKS 网络可观测性目前处于预览状态。 有关 beta 版本、预览版或尚未正式发布的版本的 Azure 功能所适用的法律条款,请参阅 Azure 预览版的补充使用条款。
网络可观测性加载项在非 Cilium 和 Cilium 数据平面上无缝运行。 它为客户提供了 DevOps 和 SecOps 的企业级功能。 此解决方案为群集网络管理员、群集安全管理员和 DevOps 工程师提供了一种集中式方法来监视群集中的网络问题。
启用网络可观测性加载项后,它允许收集有用指标并将其转换为 Prometheus 格式,然后可在 Grafana 中将其可视化。
Azure 托管 Prometheus 和 Grafana:此选项涉及使用由 Azure 提供的托管服务。 托管服务负责处理 Prometheus 和 Grafana 的基础结构和维护,从而支持你专注于配置和可视化指标。 如果不希望管理底层基础结构,此选项会非常方便。
BYO Prometheus 和 Grafana:或者可以选择设置自己的 Prometheus 和 Grafana 实例。 在这种情况下,你负责预配和管理运行 Prometheus 和 Grafana 所需的基础结构。 安装并配置 Prometheus 以抓取由网络可观测性加载项生成的指标并存储它们。 同样,需要设置 Grafana 以连接到 Prometheus 并可视化收集的数据。
多 CNI 支持: 网络可观测性加载项支持 Azure CNI 和 Kubenet 网络插件。
指标
网络可观测性加载项目前在 Linux 和 Windows 平台中仅支持节点级别指标。 下表概述了由网络可观测性加载项生成的不同指标。
标准名称 | 说明 | 标签 | Linux | Windows |
---|---|---|---|---|
networkobservability_forward_count | 总转发数据包计数 | Direction、NodeName、Cluster | 是 | 是 |
networkobservability_forward_bytes | 总转发字节计数 | Direction、NodeName、Cluster | 是 | 是 |
networkobservability_drop_count | 总丢弃数据包计数 | Reason、Direction、NodeName、Cluster | 是 | 是 |
networkobservability_drop_bytes | 总删除字节计数 | Reason、Direction、NodeName、Cluster | 是 | 是 |
networkobservability_tcp_state | TCP 活动套接字计数(按 TCP 状态)。 | State、NodeName、Cluster | 是 | 是 |
networkobservability_tcp_connection_remote | TCP 活动套接字计数(按远程地址)。 | Address、Port、NodeName、Cluster | 是 | 否 |
networkobservability_tcp_connection_stats | TCP 连接统计信息。 (例如:Delayed ACK、TCPKeepAlive、TCPSackFailure) | Statistic、NodeName、Cluster | 是 | 是 |
networkobservability_tcp_flag_counters | TCP 数据包计数(按标志)。 | Flag、NodeName、Cluster | 是 | 是 |
networkobservability_ip_connection_stats | IP 连接统计信息。 | Statistic、NodeName、Cluster | 是 | 否 |
networkobservability_udp_connection_stats | UDP 连接统计信息。 | Statistic、NodeName、Cluster | 是 | 否 |
networkobservability_udp_active_sockets | UDP 活动套接字计数 | NodeName、Cluster | 是 | 否 |
networkobservability_interface_stats | 接口统计信息。 | InterfaceName、Statistic、NodeName、Cluster | 是 | 是 |
限制
- 不支持 Pod 级别指标。
缩放
使用 Azure 托管 Prometheus 和 Grafana 时,某些规模限制适用。
后续步骤
有关Azure Kubernetes 服务 (AKS) 的详细信息,请参阅什么是 Azure Kubernetes 服务 (AKS)?。
要创建具有网络可观测性以及 Azure 托管 Prometheus 和 Grafana 的 AKS 群集,请参阅为 Azure Kubernetes 服务 (AKS) Azure 托管 Prometheus 和 Grafana 设置网络可观测性。
要创建具有网络可观测性以及 BYO Prometheus 和 Grafana 的 AKS 群集,请参阅为 Azure Kubernetes 服务 (AKS) BYO Prometheus 和 Grafana 设置网络可观测性。