Kubernetes Node Selector

除了让 kubernetes 集群调度器自动为 pod 资源选择某个节点(默认调度考虑的是资源足够,并且 load 尽量平均),有些情况我们希望能更多地控制 pod 应该如何调度。比如,集群中有些机器的配置更好( SSD,更好的内存等),我们希望比较核心的服务(比如说数据库)运行在上面;或者某两个服务的网络传输很频繁,我们希望它们最好在同一台机器上,或者同一个机房。

1、 查看node已添加的label

kubectl get node --show-labels

2、根据storage标签来调度Pod

#添加label
kubectl label node master storagetype=ssd
#删除label
kubectl label node master storagetype-

k8s-slave添加storage=ssd的标签,然后创建pod,使它调度在slave节点

#添加标签
kubectl label node k8s-slave storage=ssd

#编写podyaml:node-label.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  containers:
  - name: nginx
    image: nginx
  nodeSelector:
    storage: ssd
    
#创建Pod
kubectl create -f node-albel.yaml

#查看调度结果
kubectl describe pod nginx
	Normal  Scheduled              11s   default-scheduler   Successfully assigned nginx to k8s-slave

#删除label之后的调度结果
	Warning  FailedScheduling       30s (x6 over 45s)  default-scheduler   0/2 nodes are available: 2 MatchNodeSelector.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值