發表文章

目前顯示的是有「Tolerations」標籤的文章

02 - Taints and Tolerations

圖片
摘要 Taints  與 Tolerations  是 Kubernetes 中用來 控制 Pod 調度到哪些節點 的機制。 [K8s] Taints and Tolerations ✅ Taints 設定在 節點 上,防止 Pod 調度到該節點 ✅ Tolerations 設定在 Pod 上,使其能夠忽略某些 Taints ✅ 透過 NoSchedule、PreferNoSchedule、NoExecute 來 控制 Pod 的行為 ✅ 控制特定 Pod 運行在特定節點, 提升調度靈活性 這個機制在 Kubernetes 多節點部署 、 資源隔離 、 避免影響關鍵應用 時非常有用 🚀 Taints(污點) Taint 是設定在  節點 (Node) 上的屬性,它告訴 Kubernetes 不要在該節點上調度沒有相應 Toleration(容忍度)的 Pod。 $ kubectl taint node <node-name> <key>=<value>:<effect>    <node-name> → 要添加 taint 的節點名稱 <effect> → taint 的影響方式 NoSchedule → 禁止 沒有匹配 Toleration 的 Pod 被調度到該節點 PreferNoSchedule → 盡量避免 調度,但不是強制的 NoExecute → 不僅 禁止 調度,還會 驅逐 已經在該節點上的不符合 Toleration 的 Pod Tolerations(容忍度) Toleration 設定在 Pod 上,允許 Pod 忽略某些 Taint(污點),從而能夠被調度到相應的節點。 在 Pod 規範 (pod.yaml) 中添加 tolerations: ``` apiVersion: v1 kind: Pod metadata:   name: my-pod spec:   tolerations:     - key: "dedicated"       operator: "Equal"       value: "...