Sobes.tech
Middle+

Koja pravila zabranjuju pokretanje određenog čvorišta u sistemu?

sobes.tech АИ

Одговор од АИ

Postoje sledeći osnovni mehanizmi:

  • Taints i Tolerations (T/T):

    • Taints (Oznake zagađenja): Primjenjuju se na čvorove. Omogućavaju čvoru da "odbiju" podove koji nemaju odgovarajuću toleranciju.
    • Tolerations (Tolerancije): Primjenjuju se na podove. Omogućavaju podu da bude smješten na čvoru koji ima odgovarajuću oznaku zagađenja.

    Vrste efekata Taint:

    • NoSchedule - Pod neće biti planiran na čvoru ako nema odgovarajuću toleranciju.
    • PreferNoSchedule - Planer će pokušati da ne smjesti pod na ovaj čvor, ali može ako nema drugih opcija.
    • NoExecute - Pod neće biti smješten na čvoru, a već postojeći podovi na čvoru bez odgovarajuće tolerancije će biti uklonjeni.
  • Node Affinity (Srodnost čvora):

    • requiredDuringSchedulingIgnoredDuringExecution: Planer mora smjestiti pod na čvor koji zadovoljava kriterije srodnosti. Ako nema odgovarajućih čvorova, pod će ostati u stanju Pending.
    • preferredDuringSchedulingIgnoredDuringExecution: Planer će pokušati smjestiti pod na čvor koji zadovoljava kriterije srodnosti. Ako nema odgovarajućih čvorova, pod može biti smješten na drugim čvorovima.
  • Konfiguracija kubelet-a:

    Možete koristiti postavke kubelet-a za ograničavanje tipova podova koji se mogu pokrenuti na određenom čvoru, na primjer, putem static pods ili manifests. Iako je to manje fleksibilno za dinamičko upravljanje.

# Primjer Taint
apiVersion: v1
kind: Node
metadata:
  name: node1
spec:
  taints:
  - key: special
    value: true
    effect: NoSchedule
# Primjer Toleration
apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  tolerations:
  - key: special
    operator: Equal
    value: true
    effect: NoSchedule
  containers:
  - name: my-container
    image: nginx
# Primjer Node Affinity
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