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:
    podAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:  ##必须满足下面匹配规则
      - labelSelector:
          matchExpressions:
          - key: app
            operator: In  
            values:
            - myapp01  ## app=myapp01, 上面的Pod是符合要求的
        topologyKey: "kubernetes.io/hostname"
  containers:
  - name: testpod02
    image: redis:6.2
    imagePullPolicy: IfNotPresent
root@k8s-master:/home/vagrant# kubectl create -f pod.yaml
root@k8s-master:/home/vagrant# kubectl create -f pod2.yaml 

root@k8s-master:/home/vagrant# kubectl get pods --show-labels -o wide
NAME            READY   STATUS    RESTARTS   AGE     IP              NODE          NOMINATED NODE   READINESS GATES   LABELS
node-affinity   1/1     Running   0          26m     172.16.126.2    k8s-worker2   <none>           <none>            <none>
testpod01       1/1     Running   0          8m15s   172.16.194.65   k8s-worker1   <none>           <none>            app=myapp01,env=test1
testpod02       1/1     Running   0          2m20s   172.16.194.66   k8s-worker1   <none>           <none>            app=myapp02,env=test2
相关推荐
都适、隶仁ミ3 分钟前
【密码学】SM4算法
linux·运维·服务器·算法·网络安全·密码学·网络攻击模型
君逸~~39 分钟前
RK3568(二)——字符设备驱动开发
linux·驱动开发·笔记·学习·rk3568
牛奔1 小时前
解决 Mac(M1/M2)芯片,使用node 14版本
linux·macos·编辑器·vim
wmxz5201 小时前
Linux环境安装Jenkins
linux·ci/cd·jenkins·持续部署·持续集成
黑蛋同志1 小时前
CentOS 上下载特定的安装包及其所有依赖包
linux·运维·centos
●VON2 小时前
go语言的成神之路-标准库篇-os标准库
linux·运维·服务器·开发语言·后端·学习·golang
LeonNo112 小时前
k8s,operator
云原生·容器·kubernetes
云川之下2 小时前
【k8s源码】kubernetes-1.22.3\staging 目录作用
云原生·容器·kubernetes
TracyGC2 小时前
ubuntu 新建脚本shell并增加图标 双击应用实现python运行
linux·运维·ubuntu