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
相关推荐
流浪0012 分钟前
Linux系统篇(五):Linux 进程控制全解:fork、exec、wait 核心原理与实战
linux·运维·服务器
从入门到放弃-咖啡豆4 分钟前
记录一次docker部署过程和一些常用的docker指令
运维·docker·容器
不会就选b7 分钟前
Linux之make,makefile
linux·运维·服务器
code monkey.12 分钟前
【Linux之旅】HTTP 协议解析:从请求格式到构建 Web 服务器
linux·服务器·网络·http
vortex529 分钟前
Linux 传统设计哲学:通过调用名区分行为的艺术
linux·运维·网络
嵌入式-老费41 分钟前
esp32开发与应用(esp32-s3的usb转串口功能)
linux·运维·服务器
openFuyao43 分钟前
openFuyao使能灵衢超节点::让容器业务丝滑释放节点能力
容器·kubernetes·ai原生·openfuyao·多样化算力·超节点·集群软件
壮Sir不壮1 小时前
GO语言——GMP调度模型
linux·开发语言·golang·go·操作系统·线程·协程
m0_693200651 小时前
VSCode使用ssh remote插件远程连接linux主机
linux·vscode·ssh
筵陌1 小时前
Linux网络数据链路层
linux·网络