我对 Kubernetes 很陌生,我只是在 2 节点集群上部署了一些服务。
以下是指标
节点使用情况
kubectl -n services-namespace top nodes
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
gke-kubernetes-cluster-n-default-pool-aaaaaaaa-lvzm 151m 16% 1927Mi 72%
gke-kubernetes-cluster-n-default-pool-bbbbbbbb-6g58 266m 28% 2936Mi 110%
豆荚使用情况
kubectl -n services-namespace top pods
NAME CPU(cores) MEMORY(bytes)
devv-aaa-service-2543400000-7ffbl 5m 269Mi
devv-bbb-service-2750127145-jfvw4 26m 276Mi
devv-aaa-service-2543400800-vlgmr 20m 285Mi
devv-aaa-service-2543000000-g82p1 4m 280Mi
devv-ccc-service-3204123401-7vv67 19m 283Mi
devv-aaa-service-2541023480-sd9cm 3m 284Mi
devv-ccc-service-3207045691-kjlfn 21m 268Mi
devv-aaa-service-2541204800-64q67 30m 270Mi
MEMORY(%(是什么意思,它是Node的当前使用情况吗?如果是这样,为什么即使 Pod 没有占用全部节点内存,节点也会占用大量内存。累积 PODS 内存使用量约为 2500Mi。
如何处理这些内存和中央处理器?
使用群集时要考虑的最佳做法是什么。
除了运行 pod,kubernetes 节点还运行 kubernetes 运行所需的操作系统守护进程(如 udev、sshd(。为此,计算资源被保留,称为"系统保留"。此外,更多的计算资源是为 kubernetes 系统守护进程保留的,如容器运行时和 kubelet,称为"kube-reserved"。
因此,节点容量=kube 保留 + 系统保留 + 逐出阈值 + 可分配(可用于 pod(
您可以使用"kubectl 描述节点"并在输出中查找"系统信息"部分,该部分可以为您提供有关内存请求和限制的详细信息另外,请浏览 kubernetes 文档中的此链接:https://kubernetes.io/docs/tasks/administer-cluster/reserve-compute-resources/