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

时间:2018-01-12 14:45:00

标签: kubernetes kubernetes-health-check

我对Kubernetes很新,我只是在2节点集群上部署了很少的服务。

以下是指标

节点用法

    CassCollection* phone = cass_collection_new(CASS_COLLECTION_TYPE_LIST, 5);

Pods用法

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% 

MEMORY(%)是什么意思,是Node的当前用法。如果是这样的话,为什么节点占用大量内存,即使pod没有占用完整的节点内存。累积PODS内存使用量约为2500Mi。

如何处理这些内存和CPU?

使用群集时需要考虑的最佳做法是什么。

1 个答案:

答案 0 :(得分:0)

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

所以,节点容量=保留kube +系统保留+逐出阈值+可分配(可用于容器)

您可以使用“kubectl describe node”并在输出中查找“System Info”部分,它可以为您提供有关内存请求和限制的详细信息 另外,请从kubernetes docs查看此链接: https://kubernetes.io/docs/tasks/administer-cluster/reserve-compute-resources/