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
相关推荐
喵喵爱自由1 分钟前
离线安装docker
运维·docker·容器
http阿拉丁神猫12 分钟前
Docker知识点汇总(11~12)
运维·docker·容器
吉星9527ABC16 分钟前
CentOS9stream上使用podman代替docker
docker·容器·podman
汪汪大队u24 分钟前
从 Docker Compose 到 Kubernetes:物联网管理系统迁移思路(补)
docker·容器·kubernetes
技术程序猿华锋44 分钟前
Hermes Agent 深度实战:安装部署、Docker 配置、API 接入与生产环境最佳实践教程
运维·人工智能·docker·容器·agi
星辰_mya1 小时前
Docker “超级大厨”
运维·docker·容器·面试·架构
步步为营DotNet1 小时前
.NET 11 中 Microsoft.Extensions.AI 在智能后端推理与决策优化的应用
云原生·c#·.net
learning-striving2 小时前
centos9安装docker测试成功教程
linux·运维·服务器·docker·容器
SPC的存折2 小时前
9、K8S-Service资源对象
云原生·容器·kubernetes
SPC的存折2 小时前
8、K8S-Statefulset控制器
云原生·容器·kubernetes