Middle+
Milyen szabályok tiltják egy adott csomóponti pont indítását a rendszerben?
sobes.tech MI
Válasz az MI-től
A következő fő mechanizmusok léteznek:
-
Taints és Tolerations (T/T):
- Taints (Szennyeződés címkék): A csomópontokra alkalmazhatók. Lehetővé teszik, hogy egy csomópont "elutasítson" olyan podokat, amelyek nem rendelkeznek a megfelelő toleranciával.
- Tolerations (Toleranciák): A podokra alkalmazhatók. Lehetővé teszik, hogy egy pod egy olyan csomóponton legyen, amely rendelkezik a megfelelő szennyeződés címkével.
Taint hatás típusai:
NoSchedule- A pod nem kerül ütemezésre a csomóponton, ha nincs megfelelő toleranciája.PreferNoSchedule- A ütemező megpróbálja nem elhelyezni a podot ezen a csomóponton, de megteheti, ha nincs más lehetőség.NoExecute- A pod nem kerül elhelyezésre a csomóponton, és a már ott futó podokat, amelyek nem rendelkeznek a megfelelő toleranciával, eltávolítják.
-
Node Affinity (Csúcspont affinitás):
requiredDuringSchedulingIgnoredDuringExecution: A ütemező köteles a podot egy olyan csomópontba helyezni, amely megfelel az affinitási kritériumoknak. Ha nincs megfelelő csomópont, a pod Pending állapotban marad.preferredDuringSchedulingIgnoredDuringExecution: A ütemező megpróbálja a podot egy olyan csomópontba helyezni, amely megfelel az affinitási kritériumoknak. Ha nincs megfelelő csomópont, a pod más csomópontokra is helyezhető.
-
Kubelet konfiguráció:
A kubelet beállításokat használhatja a típusú podok korlátozására, amelyek egy adott csomóponton futtathatók, például
static podsvagymanifestssegítségével. Ez kevésbé rugalmas a dinamikus kezeléshez.
# Taint példa
apiVersion: v1
kind: Node
metadata:
name: node1
spec:
taints:
- key: special
value: true
effect: NoSchedule
# Toleration példa
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 példa
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