Senior
Jak popsat pravidla pro umístění podů na konkrétní uzly?
sobes.tech AI
Odpověď od AI
Pro nasazení podů na konkrétních uzlech v Kubernetes se používají nodeSelector, node affinity a taints a tolerations.
- nodeSelector — nejjednodušší způsob, kdy v manifestu podu je uveden klíč-hodnota odpovídající štítku uzlu. Například:
spec:
nodeSelector:
disktype: ssd
- Node affinity — flexibilnější a výkonnější mechanismus, který umožňuje nastavovat pravidla s operátory (In, NotIn, Exists atd.) a preferencemi (preferredDuringSchedulingIgnoredDuringExecution). Příklad:
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: disktype
operator: In
values:
- ssd
- Taints a tolerations — umožňují "odstrašit" pody od uzlů, pokud mají taint a pod nemá odpovídající toleranci.
Pro umístění podu na konkrétní uzly je třeba:
- Přidat potřebné štítky (labels) na uzly.
- V manifestu podu uvést nodeSelector nebo node affinity s těmito štítky.
- Použít taints a tolerations, pokud je potřeba přesnější kontrola.
Toto umožňuje flexibilně řídit umístění podů na uzlech.