Hogyan oszd el egyenletesen a podokat a rendelkezésre állási zónákban?
sobes.tech MI
Válasz az MI-től
A Kubernetesben a podok egyenletes elosztásához több megközelítés is létezik:
-
Pod Topológia Szétszórási Korlátok: A legmodernebb és legkifinomultabb módszer. Lehetővé teszi szabályok meghatározását a podok elosztására a munkaterhelés címkéi (pod labels) alapján a megadott topológiákon (pl. rendelkezésre állási zónák, régiók, hosztnevek).
topologySpreadConstraints: - maxSkew: 1 # A podok maximális eltérése a zónák között topologyKey: topology.kubernetes.io/zone # Topológia kulcs, ebben az esetben a rendelkezésre állási zóna whenUnsatisfiable: ScheduleAnyway # Mit tegyünk, ha a korlátozás nem teljesíthető (ScheduleAnyway vagy DoNotSchedule) labelSelector: # Pod címkék, amelyekre a korlátozás vonatkozik matchLabels: app: my-app -
Node Affinity és Anti-Affinity: Használhatja a
nodeSelectorvagynodeAffinity-t a rendelkezésre állási zónákat reprezentáló csomópont címkéivel, de ez kevésbé rugalmas az automatikus elosztáshoz. APod anti-affinityhasználható arra, hogy megakadályozza több ugyanazon alkalmazás podjának elhelyezését ugyanazon zónában, de ez alacsonyabb kihasználtsághoz vezethet, ha a többi zóna túlterhelt.affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: topology.kubernetes.io/zone operator: In values: - zone-a - zone-b - zone-c -
Telepítési Stratégiák: A
Pod Topológia Szétszórási Korlátok-kal kombinálva a telepítési stratégiák (rolling update) segítenek az új podok fokozatos elosztásában a zónák között.
Ajánlások:
- Használja a
Pod Topológia Szétszórási Korlátokatmint fő módszert. - Győződjön meg arról, hogy a csomópontjai helyes címkékkel rendelkeznek a rendelkezésre állási zónákhoz (
topology.kubernetes.io/zone). - Figyelje a podok eloszlását a korlátozás alkalmazása után.