CKA [Workoad] – Daemonset的使用
什么是 DaemonSet?
当你创建了一个 DaemonSet,Kubernetes 会在每个符合条件的 Node 上启动一个 Pod 副本;当有新的 Node 加入集群时,也会自动在该节点上调度相应的 Pod;当节点被移除时,Pod 也随之被清理。每个worker node生成一个pod。通常DaemonSet都是拿来安装节点级别守护进程,如日志、监控、网络插件。

主要作用与典型场景
- 日志采集
 在每个节点上运行日志收集 Agent(如 Fluentd、Filebeat),统一收集容器或节点日志。
- 监控采集
 部署节点级监控 Agent(如 Prometheus Node Exporter、Telegraf),采集 CPU/内存/磁盘等指标。
- 网络插件
 CNI 插件(如 Calico、Weave Net、Flannel)以 DaemonSet 方式在各节点运行网络代理。
- 存储插件
 CSI 驱动的节点插件(Node Plugin)需要在每个节点上运行,用于挂载卷。
- 安全/代理
 节点级安全 Agent(如 Falco)或网络代理(如 Istio 的 sidecar-injection Daemon)。
Daemonset和Deployment的区别

使用案例
1. 以下是一个简单的demonset yaml
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: anti-virus
spec:
  selector:
    matchLabels:
      name: antivirus
  template:
    metadata:
      labels:
        name: antivirus
    spec:
      containers:
      - name: nginx
        image: nginx:latest2. 查看创建的daemonset , 由于我只有一个worker node所以只创建1个pod而已
kubectl get daemonsets
 
		Facebook评论