Giriş
nodeAffinity olarak şunlar kullanılabilir
- requiredDuringSchedulingIgnoreDuringExecution
- preferredDuringSchedulingIgnoreDuringExecution
Şeklen şöyle.
Planlanan Yeni nodeAffinity Tipleri
Şunlar planlanıyor- requiredDuringSchedulingRequiredDuringExecution
- preferredDuringSchedulingRequiredDuringExecution
Execution ile eğer çalışma esnasında bir label kaldırılırsa veya değiştirilirse kastediliyor
Şeklen şöyle.
Operator Tipleri
operator olarak şunlar kullanılabilir
- In
- NotIn
- Exists
1. requiredDuringSchedulingIgnoreDuringExecution
Pod mutlaka belirtilen worker üzerinde çalışmalıdır
Örnek - In
Şöyle yaparız
kubectl label nodes node-01 size=large
Şeklen şöyle
Şöyle yaparız. Burada label olarak Large, Medium olan worker tercih ediliyor.
apiVersion: v1
kind: Pod
metadata:
name: dbapp
spec:
containers:
- name: dbapp
image: db-processor
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution
nodeSelectorTerms:
- matchExpresions:
- key: Size
operator: In
values:
- Large
- MediumÖrnek - In
Şöyle yaparız. Burada label olarak e2e-az1, e2e-az2 ve custom-value olan worker tercih ediliyor.
apiVersion: v1
kind: Pod
metadata:
name: with-node-affinity
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/e2e-az-name
operator: In
values:
- e2e-az1
- e2e-az2
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
preference:
matchExpressions:
- key: custom-key
operator: In
values:
- custom-value
containers:
- name: with-node-affinity
image: k8s.gcr.io/pause:2.0Örnek - NotIn
Şöyle yaparız.
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution
nodeSelectorTerms:
- matchExpresions:
- key: Size
operator: NotIn
values:
- SmallÖrnek - Exists
Şöyle yaparız. Burada operator için "values" tanımlanmıyor. Sadece "Size" isimli bir label olması yeterli
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution
nodeSelectorTerms:
- matchExpresions:
- key: Size
operator: Exist2. preferredDuringSchedulingIgnoreDuringExecution Kullanımı
Pod belirtilen worker üzerine atanmaya çalışılır. Eğer olmuyorsa herhangi başka bir worker'a atanır



Hiç yorum yok:
Yorum Gönder