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: Exist
2. 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