用 label 控制 Pod 的位置 - 每天5分钟玩转 Docker 容器技术(128)

小说:时下最流行的小吃作者:建乙杜更新时间:2019-04-26字数:73315

“张大人!”钱白桥这时突然说道:“如今大事已经成了七八分,我等修道散人也该是会山的时候了!”

千库网上传图片兼职

“感觉不错,虽然感知不到我在哪里,但是凭着战场磨练出来的战斗意识本能的让他去攻击这个地方,却也被你给赌中了。”布兰德身体不再是隐形了,但是他的大枪也穿透了机械危险种的身体连同驾驶员一起杀死。
王小民愣了一下,之前剑九已经告诉他,要让王小民助他一臂之力的。

但是,当海神三叉戟狠狠地撞击在暗魔邪神虎身体上的时候,唐三却立刻感觉到一股极度冰冷的气流骤然从海神三叉戟上传来,令他机灵灵打了个寒战,玄天功被硬生生地压制了几分,充满邪恶的气息引动着自己体内气血仿佛要破体而出似的。要不是海神三叉戟本身消化了其中大部分能量,自己身体又足够坚韧的话,这邪恶的寒气就会令自己受伤了。

默认配置下,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。

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

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

在 Pod 模板的 spec 里通过 nodeSelector 指定将此 Pod 部署到具有 label disktype=ssd 的 Node 上。

部署 Deployment 并查看 Pod 的运行节点:

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

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

kubectl label node k8s-node1 disktype-

 - 即删除。

不过此时 Pod 并不会重新部署,依然在 k8s-node1 上运行。

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

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

Deployment 相关操作就讨论到这里,下一节我们学习 DaemonSet。

书籍:

1.《每天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.html


2.《每天5分钟玩转OpenStack》
https://item.jd.com/12086376.html

编辑:道王安

发布:2019-04-26 03:15:39

当前文章:http://cnsdbtzg.com/content/2019-01/18/content_10845.html

手赚网是真的吗 花生日记的赚钱方法 手机赚钱联盟 商品佣金设置了 非凡时代理财app 好省佣金怎么算 淘宝客最低佣金比例 启梦598入会员

68425 59225 29563 30141 11371 3529189041 32243 49403

我要说两句: (0人参与)

发布