首页/云/Kubernetes 速查/DaemonSet 每节点守护进程
本包目录(307 条)

DaemonSet 每节点守护进程

保证(符合条件的)每个节点运行一个 Pod:日志收集、监控 agent、CNI/存储插件等基础设施组件的标准载体。

Kubernetes 速查云更新于 2026-10-12

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/agent:2.3.1
          volumeMounts:
            - name: varlog
              mountPath: /var/log
              readOnly: true
      volumes:
        - name: varlog
          hostPath:
            path: /var/log

查看调度覆盖

查看调度覆盖
kubectl get ds -n kube-system
kubectl get pods -l app=node-agent -o wide
kubectl get ds node-agent -o jsonpath='desired={.status.desiredNumberScheduled} ready={.status.numberReady}'
默认不为打了 NoSchedule 污点的控制面节点调度;需要覆盖控制面就显式加对应 tolerations。

易错点

  • 节点不可调度(cordon)或带污点时 DaemonSet 行为受 tolerations 影响,排查「某节点没 agent」先看这两点
  • DaemonSet Pod 通常直接绑节点本地路径(hostPath),写坏宿主机文件的风险要额外管控

数据来源与参考

  • Kubernetes 官方文档 · DaemonSet
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌