CC00211.CloudKubernetes——|KuberNetes&高级调度.V14|——|Pod亲和力反亲和力.v02|pod亲和力_跨namespace|

一、pod的亲和力:跨namespace:### --- pod亲和力实验说明~~~ 与指定pod部署在一块,是可以块namespace的:~~~ 把demo-nginx和kube-systemnamespace下的符合label~~~ 为k8s-app=calico-kube-controllers的pod部署在同一个拓扑域上二、编辑po...
摘要由CSDN通过智能技术生成
一、pod的亲和力:跨namespace:
### --- pod亲和力实验说明

~~~     与指定pod部署在一块,是可以块namespace的:
~~~     把demo-nginx和kube-systemnamespace下的符合label
~~~     为k8s-app=calico-kube-controllers的pod部署在同一个拓扑域上
二、编辑pod亲和力跨namespace.yaml文件
### --- 查看calico-kube-controllers所在那个节点且具有的标签

[root@k8s-master01 ~]# kubectl get po -n kube-system -owide
NAME                                       READY   STATUS    RESTARTS   AGE    IP              NODE           NOMINATED NODE   READINESS GATES
calico-kube-controllers-5f6d4b864b-rttg5   1/1     Running   1          2d2h   192.168.1.13    k8s-master03   <none>           <none>
~~~     # 查看所具有的标签
~~~     使用该标签进行约束:k8s-app=calico-kube-controllers

[root@k8s-master01 ~]# kubectl get po -n kube-system --show-labels
NAME                                       READY   STATUS    RESTARTS   AGE    LABELS
calico-kube-controllers-5f6d4b864b-rttg5   1/1     Running   1          2d2h   k8s-app=calico-kube-controllers,pod-template-hash=5f6d4b864b
### --- 编辑yaml文件
~~~     把符合这个标签的- key: k8s-app  values:
~~~     - calico-kube-controllers的pod部署在同一个拓扑域上

[root@k8s-master01 ~]# vim pod-Affinity-demo-nginx.yaml 
    spec:
      affinity:
        podAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
          - labelSelector:
              matchExpressions:
              - key: k8s-app
                operator: In
                values:
                - calico-kube-controllers
            namespaces:
              - kube-system
            topologyKey: kubernetes.io/hostname
三、重新触发pod
### --- 重新触发容器

[root@k8s-master01 ~]# kubectl replace -f pod-Affinity-demo-nginx.yaml 
deployment.apps/demo-nginx replaced
### --- 查看结果
~~~     部署在了k8s-master03节点上了

[root@k8s-master01 ~]# kubectl get po -owide
NAME                          READY   STATUS        RESTARTS   AGE   IP              NODE           NOMINATED NODE   READINESS GATES
busybox                       1/1     Running       0          12m   172.25.92.90    k8s-master02   <none>           <none>
demo-nginx-98764c475-4gn7l    2/2     Running       0          66s   172.18.195.41   k8s-master03   <none>           <none>
demo-nginx-98764c475-frv7l    2/2     Running       0          67s   172.18.195.40   k8s-master03   <none>           <none>
### --- 可以看到它和calico-kube-controllers是在不同的namespace下,
~~~     但是都是部署在了k8s-master03上 

[root@k8s-master01 ~]# kubectl get po -n kube-system -owide
NAME                                       READY   STATUS    RESTARTS   AGE    IP              NODE           NOMINATED NODE   READINESS GATES
calico-kube-controllers-5f6d4b864b-rttg5   1/1     Running   1          2d2h   192.168.1.13    k8s-master03   <none>           <none>
四、namespace解释:
### --- 如果写了namespace是的字段,但是留空,它是匹配所有namespace下的指定label的Pod
~~~     若是写了namespace,但是namespace的值为空,什么也不写的情况下
namespace:
   空行               
### --- 如果写了namespace并且指定了值,就是匹配指定namespace下的指定label的pod
~~~     若是写了- kube-system,就是匹配,key:值下的values:下的这个容器
namespace:
 - kube-system       
### --- 若果没有写namespace,那么就是匹配当前namespace
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanqi_vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值