Kubernetes:了解节点资源使用情况,如何处理



我对 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/

最新更新