首页/云/云与容器速查/DaemonSet 每节点一个 Pod
本包目录(340 条)
云基础概念44 条计算与存储56 条网络与安全组33 条容器与 Docker106 条
Kubernetes68 条
容器排障33 条

DaemonSet 每节点一个 Pod

在(符合条件的)每个节点上运行一个 Pod:日志采集、监控代理、CNI、kube-proxy 这类节点级组件标配;节点加入自动补、移除自动清。

云与容器速查云更新于 2026-10-12
调度忽略常规调度器占用计算,直接为每个合格节点起一个
条件可通过 nodeSelector/affinity/taints 容忍限定节点范围
典型组件fluent-bit、node-exporter、calico-node
更新updateStrategy RollingUpdate(默认)
观察DESIRED 与节点数一致;少于说明有节点不满足容忍或已被排除

DaemonSet 示例

DaemonSet 示例
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: node-agent
  namespace: kube-system
spec:
  selector:
    matchLabels: { app: node-agent }
  template:
    metadata:
      labels: { app: node-agent }
    spec:
      tolerations:
        - key: node-role.kubernetes.io/control-plane
          effect: NoSchedule
      containers:
        - name: agent
          image: registry.example.com/infra/node-agent:2.1.0
          resources:
            requests: { cpu: 50m, memory: 64Mi }
master/控制面节点自带 NoSchedule 污点:想让 DaemonSet 覆盖它必须配置对应容忍。

易错点

  • DESIRED 数小于节点数:多半是污点没容忍或 nodeSelector 收窄了范围
  • 资源 requests 给太大:节点容量不够,DaemonSet 抢占业务资源

数据来源与参考

  • Kubernetes Docs:DaemonSet

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌