centos7下kubernetes(9。kubernetes中用label控制pod得位置)

Kubernetes通过label实现将pod运行在指定得node上。

默认配置下,Schesuler将pod调度到所有可用得node,有时候我们希望将pod部署到指定得node,比如将有大量磁盘I/O得pod部署到配置了SSD得node;或者pod需要GPU,需要运行在配置了GPU得节点上

label是key-value对,各种资源都可以设置label,灵活添加各种自定义得属性;

可以执行如下命令设置node得label

kubectl label node k8snode2  disktype=ssd

通过  kubectl get node --show-labels   查看node得label

 

 

node有了distktype得自定义label,接下来就可以将pod部署到K8S-node1,编辑nginx.yml

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

 

 

重新部署deployment,并查看pod

pod已经按照预期运行在node2上面了

 

 

如果要删除node上的label,执行如下命令

 

kubectl label node k8snode2 disktype-

 

但是如果在部署deployment,pod依然会运行在node2上面,需要在nginx1.yml中将

 

 nodeSelector:
        disktype: ssd

删除,然后再通过kubectl apply -f进行重新部署,K8s会将原来的pod删除并调度和运行新的pod

 

转载于:https://www.cnblogs.com/lkun/p/9717735.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值