
发布
如何在 GKE 上为 DaemonSet 配置节点亲和性(Node Affinity)与污点容忍(Toleration)以实现选择性部署?
一个集群包含通用、GPU、边缘等多种节点池,需确保日志采集 DaemonSet(如 Fluent Bit)仅运行在通用和 GPU 节点,而 GPU 监控组件仅部署在 GPU 节点。默认 DaemonSet 会在所有节点创建 Pod,造成资源浪费或兼容性问题。技术挑战包括:如何为节点打上 node-role.kubernetes.io/worker
, gpu-type=nvidia-tesla-t4
等标签;在 DaemonSet 的 spec.template.spec
中配置 affinity.nodeAffinity
限制部署范围;为日志采集器添加 tolerations
以容忍 dedicated=gpu:NoSchedule
污点;以及通过 kubectl describe daemonset
验证 NumberReady
与节点数量匹配。应如何实现精细化的 DaemonSet 节点调度策略?