Kubernetes:在开始作业之前,如何测试是否存在具有足够资源的节点

Kubernetes:在开始作业之前,如何测试是否存在具有足够资源的节点,kubernetes,kubectl,Kubernetes,Kubectl,在开始作业之前,是否可以测试是否有具有足够资源的节点?我认为这取决于您正在构建的环境(根据我的经验) 磁盘空间、处理能力和内存都可以轻松跟踪 从控制平面,您可以安装kubernetes/metrics服务器并使用 kubectl top nodes 对于节点的当前情况。 此外,如果您通过blockDevices(即openebs cstore)进行本地卷资源调配 你可以随时使用 kubectl get bd --all-namespaces 查看可用的blockdevices或是否有csto

在开始作业之前,是否可以测试是否有具有足够资源的节点?

我认为这取决于您正在构建的环境(根据我的经验)

磁盘空间、处理能力和内存都可以轻松跟踪

从控制平面,您可以安装kubernetes/metrics服务器并使用

kubectl top nodes
对于节点的当前情况。 此外,如果您通过blockDevices(即openebs cstore)进行本地卷资源调配 你可以随时使用

kubectl get bd --all-namespaces
查看可用的blockdevices或是否有cstore池

kubectl get csp --all-namespaces
检查磁盘上的分配过程和容量

情商

在本地版本中,这些信息是可用和有用的(至少对我来说)

一旦您检查了这些资源,如果您有一个包含资源声明(包括cpu和内存)的部署定义,您就可以决定是否需要更多或更少的特定资源


此外,您还可以创建一个测试环境来自由测试部署(使用更高的资源),然后决定要使用的集群或节点。

可用资源随时都在变化。100毫秒前具有足够资源的节点可能不再具有足够的资源。您想解决什么问题?最好启用群集的自动缩放,并在需要时运行作业。这是一个自托管k8s。我们希望在群集资源耗尽时自动切换到云提供商。我建议您使用[metrics server](从)。您可以安装它,然后使用
kubeclt top节点--sort by=[JSON_PATH]
来获取顶部的第一个节点,然后您可以添加一些管道(
| grep
)来捕获所需的值并执行一些检查、筛选和优化。
NAME                   ALLOCATED   FREE    CAPACITY   STATUS    READONLY   TYPE      AGE
cstor-disk-pool-1tgd   264K        19.9G   19.9G      Healthy   false      striped   22h
cstor-disk-pool-3cvq   393K        19.9G   19.9G      Healthy   false      striped   22h
cstor-disk-pool-coq6   254K        9.94G   9.94G      Healthy   false      striped   22h