我已经配置了一个混合节点 Kubernetes 集群。两个工作节点是 Unbuntu Server 18.04.4,两个工作节点是 Windows Server 2019 Standard。我已经将几个 Docker 容器作为部署/pod 部署到每组工作节点(Ubuntu 上的 .NET Core 应用程序和 Windows 上的旧 WCF 应用程序)。一切似乎都像宣传的那样工作。
我现在正处于要监视 pod/容器的资源的地步。我已经部署了 Prometheus、kube-state-metrics、metrics-server。我有普罗米修斯刮节点。对于容器指标,kubelet/cAdvisor 正在从 Ubunutu 节点返回我需要的所有内容,例如“container_cpu_usage_seconds_total、container_cpu_cfs_throttled_seconds_total 等”。但是 Windows 节点的 kubelet/cAdvisor 只给了我一些基本信息:
http://localhost:8001/api/v1/nodes/[WINDOWS_NODE]/proxy/metrics/cadvisor
# HELP cadvisor_version_info A metric with a constant '1' value labeled by kernel version, OS version, docker version, cadvisor version & cadvisor revision.
# TYPE cadvisor_version_info gauge
cadvisor_version_info{cadvisorRevision="",cadvisorVersion="",dockerVersion="",kernelVersion="10.0.17763.1012",osVersion="Windows Server 2019 Standard"} 1
# HELP container_scrape_error 1 if there was an error while getting container metrics, 0 otherwise
# TYPE container_scrape_error gauge
container_scrape_error 0
# HELP machine_cpu_cores Number of CPU cores on the machine.
# TYPE machine_cpu_cores gauge
machine_cpu_cores 2
# HELP machine_memory_bytes Amount of memory installed on the machine.
# TYPE machine_memory_bytes gauge
machine_memory_bytes 1.7179398144e+10
因此,虽然 Ubuntu 节点上的 cAdvisor 为我提供了我想要的关于容器的一切以及更多,但 Windows 节点上的 cAdvisor 只给了我上述内容。
我已经检查了在 Windows 节点上安装/配置 kubelet 的 Powershell 脚本,但是如果我缺少一个可以使容器指标在kubelet/cAdvisor 被刮掉了。有什么建议么?