Sobes.tech
Middle+

Sistemdə müəyyən bir düyün nöqtəsinin işə salınmasını qadağan edən qaydalar hansılardır?

sobes.tech Süni İntellekt

AI-dan cavab

Əsas mexanizmlər aşağıdakılardır:

  • Taints və Tolerations (T/T):

    • Taints (Çirklənmə Etiketləri): Node-lara tətbiq olunur. Bu, node-un uyğun tolerans olmayan pod-ları "rədd etməsinə" imkan verir.
    • Tolerations (Toleranslar): Pod-lara tətbiq olunur. Bu, pod-un uyğun çirklənmə etiketi olan node-da yerləşməsinə imkan verir.

    Taint təsir növləri:

    • NoSchedule - Pod, uyğun tolerans yoxdursa, node-da yerləşdirilməyəcək.
    • PreferNoSchedule - planlayıcı bu node-da pod yerləşdirməməyə çalışacaq, amma digər variantlar yoxdursa, edə bilər.
    • NoExecute - Pod, node-da yerləşdirilməyəcək və artıq orada olan pod-lar, uyğun tolerans yoxdursa, çıxarılacaq.
  • Node Affinity (Node Uyğunluğu):

    • requiredDuringSchedulingIgnoredDuringExecution: Planlayıcı mütləq uyğun node-a pod-u yerləşdirməlidir. Əgər uyğun node yoxdursa, pod Pending vəziyyətində qalacaq.
    • preferredDuringSchedulingIgnoredDuringExecution: Planlayıcı cəhd edəcək pod-u uyğun node-a yerləşdirməyə. Əgər uyğun node yoxdursa, pod digər node-larda yerləşdirilə bilər.
  • Kubelet Konfiqurasiyası:

    Belirli node-larda işləyə biləcək pod tiplərini məhdudlaşdırmaq üçün kubelet konfiqurasiyalarından istifadə edə bilərsiniz, məsələn, static pods və ya manifests vasitəsilə. Bu, dinamik idarə üçün daha az elastikdir.

# Taint nümunəsi
apiVersion: v1
kind: Node
metadata:
  name: node1
spec:
  taints:
  - key: special
    value: true
    effect: NoSchedule
# Toleration nümunəsi
apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  tolerations:
  - key: special
    operator: Equal
    value: true
    effect: NoSchedule
  containers:
  - name: my-container
    image: nginx
# Node Affinity nümunəsi
apiVersion: v1
kind: Pod
metadata:
  name: my-pod-with-affinity
spec:
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: kubernetes.io/hostname
            operator: In
            values:
            - node1
            - node2
  containers:
  - name: my-container
    image: nginx