用来部署守护进程,DaemonSet用于在每个 Kubernetes 节点中将守护进程的副本作为后台进程运行,即在每个节点部署一个 Pod副本。
业务场景:
- 集群存储守护程序,如 glusterd、ceph 要部署在每个节点上以提供持久性存储;
- 节点监控守护进程,如 Prometheus 监控集群,在每个节点上运行 node-exporter 进程节点的信息;
- 日志收集守护程序,如 fluentd 或 logstash,在每个节点上运行以收集容器的日志
- 节点网络插件,比如 flannel、calico,在每个节点上运行为 Pod 提供网络服务。
示例:Nginx Pod(nginx-ds.yaml)
apiVersion: apps/v1kind: DaemonSetmetadata:name: nginx-dsnamespace: defaultspec:selector:matchLabels:k8s-app: nginxtemplate:metadata:labels:k8s-app: nginxspec:containers:- image: nginx:1.7.9name: nginxports:- name: httpcontainerPort: 80
