我对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?
使用群集时需要考虑的最佳做法是什么。
答案 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/