监控 Kubernetes
使用 Site24x7 的 Kubernetes 监控,监控容器基础架构的各个组件,全面掌握 Kubernetes 集群的健康状况与性能表现。
支持的生态系统:
添加监视器
如需添加 Kubernetes 监视器,请登录您的 Site24x7 账户,依次进入服务器 > Kubernetes > 集群 (+)。
默认情况下,安装 Kubernetes 监视器时会启用 Kubernetes 管理操作功能。启用此功能后,您可以直接从监视器执行管理任务,简化集群管理。您也可以禁用该功能,并按照以下标准安装步骤操作:
方式 1:DaemonSets
配置基于角色的访问控制权限,并将 Site24x7 代理安装为 DaemonSet:
- 下载 site24x7-agent.yaml 文件,并将其保存到 Cloud Shell 或主节点终端。
- 复制并执行以下命令,创建 Secret 并应用 YAML(将
替换为您的设备密钥):
kubectl create secret generic site24x7-agent --from-literal KEY=
&& kubectl apply -f site24x7-agent.yaml
请确认 site24x7-agent Pod 已创建并处于运行状态。请稍等几分钟,等待所有节点、容器、Pod、Deployment、HPA 和 ReplicaSet 被添加到 Site24x7 Web 客户端。
代理配置:
如果环境中配置了代理,请取消注释 site24x7-agent.yaml 文件中 Site24x7 env 部分的以下内容,并更新代理值。
- name: http_proxy
value:
方式 2:Helm chart
按照以下步骤使用 Helm chart 安装 Site24x7 Kubernetes 代理:
- 使用以下命令安装 Site24x7 Helm chart:
helm repo add site24x7 https://site24x7.github.io/helm-charts;
helm repo update;
helm install site24x7-agent site24x7/site24x7 --set deviceKey=;
将
代理配置:
将代理配置作为安装参数添加到 Helm install 命令中。
示例:
helm install site24x7-agent site24x7/site24x7 --set deviceKey=--set http_proxy=http://192.108.10.10:3128 --set https_proxy=http://192.108.10.10:3128;
带代理认证的示例:
helm install site24x7-agent site24x7/site24x7 --set deviceKey=--set http_proxy=http://username:password@192.108.10.10:3128 --set https_proxy=http://username:password@192.108.10.10:3128[;](http://192.108.10.10:3128;)
Helm chart 通过 DaemonSet 将 Site24x7 Kubernetes 代理添加到集群中的所有节点。此外,它还会部署 kube-state-metrics 作为 Deployment,用于获取高级 Kubernetes 指标。kube-state-metrics 部署完成后,Site24x7 将在您的账户中报告主机及指标数据。
配置基于角色的访问控制(RBAC)权限,并将 Site24x7 服务器监控代理作为 Sidecar 容器部署到您的应用容器中:
- 下载 Site24x7 Sidecar YAML 文件。
- 将其保存到 Cloud Shell 或主节点终端。
- 打开下载的 YAML 文件,将应用镜像和名称替换为您的应用容器信息。
- 复制并执行以下命令,创建 Secret 并应用 YAML(将
替换为您的设备密钥):
kubectl create secret generic site24x7-agent --from-literal KEY=
&& kubectl apply -f site24x7-sidecar-agent.yaml
代理 配置:
如果环境中配置了代理,请取消注释 site24x7-sidecar-agent.yaml 文件中 Site24x7 env 部分的以下内容,并更新代理值。
- name: http_proxy
value:
启用 kube-state-metrics 以监控高级 Kubernetes 指标。 如需配置 kube-state-metrics:
- 下载 Site24x7 的 kube-state metrics YAML 文件。
- 将其保存到 Cloud Shell 或主节点终端。
- 执行以下命令以应用 YAML。
kubectl apply -f site24x7-kube-state-metrics.yaml
- 此部署将发现您的整体 Kubernetes 基础架构。
- 由于代理以 Sidecar 容器方式运行,节点、Pod 和容器的性能指标仅限于该 Pod。
- 如需监控每个 Pod 的性能,请在每个 Pod 中运行一个代理。
方式 4:GKE Autopilot
在集群中配置基于角色的访问控制(RBAC)权限,并在 GKE Autopilot 中将 Site24x7 代理安装为 DaemonSet:
- 下载 Site24x7 GKE Autopilot YAML 文件。
- 将其保存到 Cloud Shell 或主节点终端。
- 复制并执行以下命令,创建 Secret 并应用 YAML(将
替换为您的设备密钥):
kubectl create secret generic site24x7-agent --from-literal KEY=
&& kubectl apply -f site24x7-gke-autopilot-agent.yaml
代理配置:
如果环境中配置了代理,请取消注释 site24x7-agent.yaml 文件 env 部分的以下内容,并更新代理值。
- name: http_proxy
value:
方式 5:Openshift
在集群中配置基于角色的访问控制(RBAC)权限,并在 OpenShift 中将 Site24x7 代理安装为 DaemonSet:
- 下载 site24x7-openshift-agent.yaml 文件。
- 将文件保存到 Cloud Shell 或主节点终端。
- 复制并执行以下命令,创建密钥并应用 YAML 文件。
oc create secret generic site24x7-agent --from-literal KEY=&& oc apply -f site24x7-openshift-agent.yaml
方式 6:VMware Tanzu
在 VMware Tanzu Kubernetes(TKG)中将 Site24x7 代理安装为 DaemonSet:
- 下载 Site24x7 Tanzu Kubernetes YAML 文件。
- 将文件保存到 Cloud Shell 或主节点终端。
- 创建 site24x7 命名空间
kubectl create ns site24x7
- 将标签更新为 site24x7 命名空间标签
kubectl label --overwrite ns site24x7 pod-security.kubernetes.io/enforce=privileged
- 执行以下命令创建 Secret 并应用 YAML 配置(请确保将
替换为您的设备密钥):
kubectl create secret generic site24x7-agent --from-literal KEY=
-n site24x7 && kubectl apply -f site24x7-vmware-tanzu-k8s-agent.yaml
代理配置:
如果环境中配置了代理,请取消注释 Site24x7 代理 YAML 文件 env 部分的以下内容,并更新代理值。
- name: http_proxy
value:
编辑监视器
您可以在编辑 Kubernetes 监视器页面中修改 Kubernetes 集群的配置。
- 在 Site24x7 Web 客户端中,依次进入服务器 > Kubernetes > 点击某个集群 > 集群详情。
- 将鼠标悬停在显示名称旁边的汉堡菜单图标上,点击编辑。
- 您可以编辑显示名称、监视器组关联、标签、IT 自动化模板,选择资源类型,设置排除/包含命名空间、排除/包含名称、排除/包含标签,选择资源类型名称过滤器,排除/包含 HPA,选择/取消选择资源组,以及编辑配置文件。
说明您可以通过正则表达式(regex)匹配来包含或排除资源。例如:
zylker.*|zylkertest1.*
上述表达式匹配以"zylker"开头或以"zylkertest1"开头的资源。 - 在资源终止设置下,使用静默资源终止告警选项在资源终止时静默告警,并使用自动移除已终止资源开关移除已终止的资源。您还可以指定已终止资源在 Site24x7 Web 控制台中永久删除前的保留天数。
- 保存更改。
仪表板
Site24x7 中的集群仪表板提供了整个 Kubernetes 集群中所有集群、节点、Pod、服务、DaemonSet、Deployment、ReplicaSet 和 Job 的集中视图。
Kubernetes 还有两个专属仪表板:
Site24x7 还提供了用于在节点、Pod、容器等不同层级查看指标的仪表板。了解更多关于 Site24x7 各类 Kubernetes 仪表板的信息。
业务视图
添加 Kubernetes 监视器后,系统会为整个集群创建一个业务视图。在基础架构视图和服务视图之间切换,以发现异常值并检测 Kubernetes 集群中的异常监控模式。了解更多。
基础架构视图:
此视图从节点角度展示整个 Kubernetes 集群(即 Kubernetes 集群、节点、Pod 和容器的数据)。

服务视图:
此视图从服务角度展示整个 Kubernetes 集群(即 Kubernetes 集群、服务、Pod 和容器的数据)。
性能指标
对于 Site24x7 中已发现并监控的每个组件,查看我们提供的各类性能指标列表,以确保 Kubernetes 集群持续正常运行。
Kubernetes 告警
了解如何在 Site24x7 中为 Kubernetes 监控配置阈值,以确保最佳性能和正常运行时间。
预测
利用 AI 驱动的精准预测与洞察做出明智决策,并检测 Kubernetes 资源中的异常。获取基于 Zia 的预测数据,涵盖决定集群、节点和 Pod 稳定性的关键指标。
Kubernetes 变更追踪器
Site24x7 中的 Kubernetes 变更追踪器能够实时监控配置变更,帮助您维护集群完整性、排查问题并满足合规要求。
依赖树视图
Site24x7 中的 Kubernetes 依赖树视图以可视化的层级方式展示集群元素及其相互关系,帮助您理解不同 Kubernetes 资源之间的依赖关系,便于识别问题并优化资源利用率。
Kubernetes 管理操作
Kubernetes 管理操作支持您直接从监控仪表板执行集群任务,如重启工作负载、扩缩副本、回滚部署和驱逐节点,减少事故处理和维护期间的工具切换。
配置规则
Kubernetes 配置规则帮助您将预定义操作分配给各监视器组,以监控配置变更。您可以将这些规则分配给一组资源,并立即运行使其生效。
报表
在 Site24x7 Web 客户端中,依次进入报表 > Kubernetes。以下报表适用于 Kubernetes 监视器:
- 摘要报表
- 可用性摘要报表
- 繁忙时段报表
- 健康趋势报表
- 性能报表
指导报表
获取针对您 Kubernetes 集群环境的最佳实践建议,确保可用性、安全性和性能提升,同时降低 IT 支出。
容量规划
使用容量规划功能,针对特定操作或工作负载优化 Kubernetes 资源,并利用 CPU、内存和磁盘利用率等指标追踪容量使用情况。
控制平面监控
监控您的控制平面组件,确保集群运行更加顺畅。
节点组件监控
- Kube-proxy
了解 Site24x7 如何监控 kube-proxy,以确保 Kubernetes 集群中服务网络的可靠性。获取代理模式、连接追踪以及 IPTables/IPVS 指标的可见性,以便排查网络瓶颈并确保流量路由顺畅。 - CoreDNS
CoreDNS 负责处理集群内基于 DNS 的服务发现。CoreDNS 出现问题会影响服务间通信和工作负载解析。Site24x7 通过指标追踪 CoreDNS 性能。 - Kubelet
追踪每个节点上 kubelet 的健康状况和性能,确保 Pod 按预期在集群中被调度、启动和运行。
Kubernetes 日志
您可以通过运行在 Kubernetes 节点上的服务器监控代理,采集和监控 Kubernetes 环境中的以下日志:
数据采集(DC)的工作原理

Site24x7 Kubernetes 监控架构
安全性
Site24x7 代理通过 Kubernetes API 采集配置数据和基础性能数据,使用的 API 版本为 apps/v1。 Site24x7 代理通过 RBAC 授权访问 API。在 RBAC 授权过程中,应用 site24x7-agent.yaml 文件时将创建以下对象及对应权限:
- 在"default"命名空间下创建名为"site24x7"的 ServiceAccount。
- 创建名为"site24x7"的 ClusterRole,该角色仅包含对节点、Pod 等 API 的"list"和"watch"权限。
- 创建名为"site24x7"的 ClusterRoleBinding。
应用 site24x7-agent.yaml 文件后,RBAC 授权令牌将被自动挂载到通过 DaemonSet 创建的 Site24x7 代理容器中。代理使用此令牌调用 API 以采集数据。
Site24x7 代理的 DaemonSet 配置:
应用 site24x7-agent.yaml 文件后,将创建名为 site24x7-agent 的 DaemonSet,采用滚动更新(RollingUpdate)策略。
- Pod 以相同名称 site24x7-agent 创建。
- 使用镜像 'store/site24x7/docker-agent:
' 创建容器。
说明ImagePullPolicy 设置为"Always"。 - 以下卷将挂载到容器内:/etc/、/var/、/proc/ 和 /var/run/docker.sock
性能指标采集:
kube-state-metrics 用于采集深度性能数据,仅在应用 kube-state-metrics.yaml 文件后启用。性能数据将通过以下 API 采集:
http://:/metrics -> kube state pod ip -> 8080 by default
Site24x7 代理的访问权限:
根据 site24x7-agent.yaml 文件的规定,Site24x7 代理仅具有对 Kubernetes API 的 List 或 Watch 权限。代理只能通过 Kubernetes API 读取 Kubernetes 对象数据,无法执行写操作,也不能创建或更新任何 Kubernetes 对象。数据仅通过 Kubernetes 推荐的授权方式进行采集。
授权许可
Kubernetes 主集群使用基础监视器许可证。更多信息,请阅读此文章。
您可以点击服务器 > Kubernetes > 集群查看 Kubernetes 集群消耗的许可证数量。特定集群消耗的许可证总数将显示在许可证使用列下,点击数字可查看已消耗许可证的详细视图。


Azure Kubernetes Service
Amazon Elastic Kubernetes Service
Google Kubernetes Engine
Red Hat OpenShift
AWS Fargate
Rancher Kubernetes Engine
Digital Ocean
MicroK8s
Kind
K3s
Oracle Kubernetes Engine
Linode Kubernetes Engine
Bottlerocket