Kubernetes仪表板能够显示每个节点的“当前正在运行的Pod / Pod容量”。但是,当我尝试使用kubectl
获取相同的信息时,我必须运行两个命令:
kubectl describe node | grep -E (^Name:|^Non-terminated)
其中列出了“节点上当前正在运行的容器”,并且
kubectl get nodes -o=custom-columns=NAME:.metadata.name,CAPACITY:.status.capacity.pods
显示节点的容量
有人知道我仅使用一个命令就能获得类似于以下的输出吗?
NAME CURRENT CAPACITY
node_1 7 15
node_2 8 15
node_3 15 15
谢谢!
答案 0 :(得分:0)
没有一个命令。
可以通过结合这两个命令来编写脚本来实现这一目的。
请注意,使用Pod数量等基于整数的指标可能会产生误导,因为Pod消耗的空间和cpus会有所不同。在达到节点容器计数容量之前,您可能会用完CPU和内存。
您可以使用以下命令检查可用资源:kubectl top nodes
节点容量
节点的容量(CPU数量和内存量)是一部分 节点对象。通常,节点注册自己并报告 它们在创建节点对象时的容量。如果你在做 manual node administration, 那么添加节点时需要设置节点容量。
Kubernetes调度程序确保有足够的资源用于 节点上的所有Pod。它检查以下请求的总和 节点上的容器不大于节点容量。它 包括所有由kubelet启动的容器,但不包括容器 由container runtime直接开始 也不在容器外部运行任何进程。
P.S。
在Debian上,第一个命令必须稍作修改才能起作用:
kubectl describe node | grep -E "(^Name:|^Non-terminated)"