0

我对 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.js 的当前使用情况吗?如果是这样,为什么节点会占用大量内存,即使 pod 没有占用完整的节点内存。累计 PODS 内存使用量在 2500Mi 左右。

如何处理这些内存和 CPU ?

使用集群时要考虑的最佳实践是什么。

4

1 回答 1

1

除了运行 pod,kubernetes 节点还运行 kubernetes 运行所需的操作系统系统守护进程(如 udev、sshd)。为此,计算资源被保留,称为“系统保留”。此外,为容器运行时和 kubelet 等 kubernetes 系统守护进程保留了更多计算资源,称为“kube-reserved”。

所以,Node Capacity=kube reserved+system reserved+eviction threshold+Allocatable(pods可用)

您可以使用“kubectl describe node”并在输出中查找“系统信息”部分,该部分可以为您提供有关内存请求和限制的详细信息另外,请查看 kubernetes 文档中的此链接: https ://kubernetes.io/docs/任务/管理集群/保留计算资源/

于 2018-01-12T17:51:02.707 回答