如何用label控制Pod的位置

54次阅读
没有评论

共计 788 个字符,预计需要花费 2 分钟才能阅读完成。

如何用 label 控制 Pod 的位置,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面丸趣 TV 小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

默认配置下,Scheduler 会将 Pod 调度到所有可用的 Node。不过有些情况我们希望将 Pod 部署到指定的 Node,比如将有大量磁盘 I/O 的 Pod 部署到配置了 SSD 的 Node;或者 Pod 需要 GPU,需要运行在配置了 GPU 的节点上。

Kubernetes 是通过 label 来实现这个功能的。

label 是 key-value 对,各种资源都可以设置 label,灵活添加各种自定义属性。比如执行如下命令标注 k8s-node1 是配置了 SSD 的节点。

kubectl label node k8s-node1 disktype=ssd

然后通过  kubectl get node –show-labels  查看节点的 label。

如何用 label 控制 Pod 的位置

disktype=ssd  已经成功添加到 k8s-node1,除了  disktype,Node 还有几个 Kubernetes 自己维护的 label。

有了  disktype  这个自定义 label,接下来就可以指定将 Pod 部署到 k8s-node1。编辑 nginx.yml:

如何用 label 控制 Pod 的位置

全部 6 个副本都运行在 k8s-node1 上,符合我们的预期。

要删除 label disktype,执行如下命令:

kubectl label node k8s-node1 disktype-

 –  即删除。

如何用 label 控制 Pod 的位置

除非在 nginx.yml 中删除  nodeSelector  设置,然后通过  kubectl apply  重新部署。

Kubernetes 会删除之前的 Pod 并调度和运行新的 Pod。

Deployment 相关操作就讨论到这里。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注丸趣 TV 行业资讯频道,感谢您对丸趣 TV 的支持。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计788字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)