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 podsilimanifests. 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