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
相关推荐
ruxshui11 小时前
# Linux diff命令使用
linux·运维·服务器
Sheffield11 小时前
为什么大家都用iptables,不愿碰原生firewalld?
linux·运维·安全
何中应11 小时前
Jenkins构建完,jar包启动不起来?
linux·运维·jenkins
柏木乃一11 小时前
Linux进程信号(1):信号概述,信号产生part 1
linux·运维·服务器·c++·信号·signal
春日见12 小时前
如何查看我一共commit了多少个,是哪几个,如何回退到某一个版本
vscode·算法·docker·容器·自动驾驶
暴力求解12 小时前
Linux---进程(一):初识进程
linux·运维·服务器
淡唱暮念12 小时前
Linux系统使用夸克网盘CLI上传服务器数据至网盘教程,解决大数据备份苦恼
linux·服务器·ubuntu
ubuntuMeta12 小时前
睡前讲一段docker编译镜像的故事
后端·docker·容器
无级程序员12 小时前
k8s 1.35 + containerd v2.2 配置http私库并配置登录信息
http·容器·kubernetes
阿莫西林夹馍12 小时前
ubuntu安装gitlab
linux·ubuntu·gitlab