什么是网站原创文章,潍坊企业模板建站,做网站的工作量,wordpress pc客户端Pod节点亲和性和反亲和性
podaffinity#xff1a;pod节点亲和性指的是pod会被调度到更趋近与哪个pod或哪类pod。
podunaffinity#xff1a;pod节点反亲和性指的是pod会被调度到远离哪个pod或哪类pod 1. Pod节点亲和性
requiredDuringSchedulingIgnoredDuringExecutionpod节点亲和性指的是pod会被调度到更趋近与哪个pod或哪类pod。
podunaffinitypod节点反亲和性指的是pod会被调度到远离哪个pod或哪类pod 1. Pod节点亲和性
requiredDuringSchedulingIgnoredDuringExecution 硬亲和性
preferredDuringSchedulingIgnoredDuringExecution软亲和性
vi pod-required-affinity-demo-1.yaml
apiVersion: v1
kind: Pod
metadata:name: nginxlabels:app: nginxtier: monitor
spec:containers:- name: nginximage: 172.16.80.140/nginx/nginx:1.26imagePullPolicy: IfNotPresent
kubectl apply -f pod-required-affinity-demo-1.yaml
kubectl get pods -owide vi pod-required-affinity-demo-2.yaml
kind: Pod
metadata:name: busyboxlabels:app: backendtier: db
spec:containers:- name: busyboximage: 172.16.80.140/busybox/busybox:latestimagePullPolicy: IfNotPresentcommand: [sh,-c,sleep 3600]affinity:podAffinity:requiredDuringSchedulingIgnoredDuringExecution:- labelSelector:matchExpressions:- {key: app, operator: In, values: [nginx]}topologyKey: kubernetes.io/hostname 以上可以看出第二个podbusybox由于设置了硬亲和性需要和具有appnginx的标签的pod在一起所以也被创 建到了node01上 Pod节点反亲和性
vi pod-required-affinity-demo-3.yaml
kind: Pod
metadata:name: busybox1labels:app: backend1tier: db
spec:containers:- name: busybox1image: 172.16.80.140/busybox/busybox:latestimagePullPolicy: IfNotPresentcommand: [sh,-c,sleep 3600]affinity:podAntiAffinity:requiredDuringSchedulingIgnoredDuringExecution:- labelSelector:matchExpressions:- {key: app, operator: In, values: [nginx]}topologyKey: kubernetes.io/hostname 以上可以看出第三个podbackend设置了pod发亲和性和匹配的pod创建在了不同的node上
vi pod-required-affinity-demo-4.yaml
apiVersion: v1
kind: Pod
metadata:name: busybox2labels:app: backendtier: db
spec:containers:- name: busybox2image: 172.16.80.140/busybox/busybox:latestimagePullPolicy: IfNotPresentcommand: [sh,-c,sleep 3600]affinity:podAntiAffinity:requiredDuringSchedulingIgnoredDuringExecution:- labelSelector:matchExpressions:- {key: app, operator: In, values: [nginx]}topologyKey: kubernetes.io/hostname- labelSelector:matchExpressions:- {key: tier, operator: In, values: [db]}topologyKey: kubernetes.io/hostname 以上可以看出因为busybox2的反亲和性导致没有pod符合条件只能是pending状态