k8s的Pod反亲和性

针对对象为Pod,目的是实现,新建Pod和目标Pod不要调度到一起,不在同一个Node上

示例:

bash 复制代码
root@k8s-master:/home/vagrant# cat pod.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: testpod01
  labels:
    app: myapp01
    env: test1
spec:
  containers:
  - name: testpod01
    image: nginx:1.23.2
    imagePullPolicy: IfNotPresent

root@k8s-master:/home/vagrant# cat pod2.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: testpod02
  labels:
    app: myapp02
    env: test2
spec:
  affinity:
    podAntiAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:  ##必须满足下面匹配规则
      - labelSelector:
          matchExpressions:
          - key: app
            operator: In  
            values:
            - myapp01  ## app=myapp01, 上面的Pod是符合要求的
        topologyKey: "kubernetes.io/hostname"
  containers:
  - name: testpod02
    image: redis:6.2


root@k8s-master:/home/vagrant# kubectl create -f pod.yaml 
pod/testpod01 created
root@k8s-master:/home/vagrant# kubectl create -f pod2.yaml 
pod/testpod02 created

root@k8s-master:/home/vagrant# kubectl get pods -o wide --show-labels
NAME            READY   STATUS    RESTARTS   AGE   IP              NODE          NOMINATED NODE   READINESS GATES   LABELS
node-affinity   1/1     Running   0          30m   172.16.126.2    k8s-worker2   <none>           <none>            <none>
testpod01       1/1     Running   0          11s   172.16.194.67   k8s-worker1   <none>           <none>            app=myapp01,env=test1
testpod02       1/1     Running   0          9s    172.16.126.3    k8s-worker2   <none>           <none>            app=myapp02,env=test2
相关推荐
RuoyiOffice6 小时前
KubeSphere 容器云实践:从管理 K8s 到建设企业 PaaS,还需要哪些能力
spring boot·kubernetes·kubesphere·jenkins·paas·微服务部署·ruoyi office
风吹稻子7 小时前
etcd备份与恢复:删了 etcd.yaml,容器为什么还在跑?——一次 K8s 控制面死锁排查实录
kubernetes
weirong10 小时前
Operator 的测试该写到哪一层?139 个用例之后我划的三条线
kubernetes
阿里云云原生11 小时前
稳定复现超 70% 的缺陷,报警到自动修复的 Agent 流水线实践
云原生
阿里云云原生11 小时前
从“自证清白”到“因果链条”:智能体如何重塑运维排障效率
云原生
阿里云云原生12 小时前
TechTalk丨从能买奶茶到能进企业,Agent 绕不开同一组问题
云原生·agent
逐流人13 小时前
手工建集群到全自动发布:k8s集群部署与DevOps流水线整合实战
ci/cd·云原生·kubernetes·云计算·devops
我不会起名字32214 小时前
K8s Pod 反复重启 CrashLoopBackOff:从 exit code 到根因的 5 步排查
云原生·容器·kubernetes·k8s
瑞克-桑切斯14 小时前
ERP 企业生产管理系统部署手册
运维·docker·云原生·容器·eureka
我不会起名字32214 小时前
K8s 节点磁盘打满导致 Pod 被驱逐:4 类占用与回收顺序
运维·kubernetes·k8s·diskpressure·evicted