什么是DaemonSet

DaemonSet 确保全部(或者一些)Node 上运行一个Pod的副本。
当有Node 加入集群时,也会为他们新增一个Pod。当有Node从集群移除时,这些Pod 也会被回收。删除DaemonSet 将会删除它创建的所有Pod。
使用DaemonSet的一些典型用法:

  • 运行集群存储 daemon,例如在每个Node 上运行glusterd、ceph
  • 在每个Node 上运行日志收集 daemon,例如fluentd、logstash
  • 在每个Node 上运行监控daemon,例如Prometheus Node Exporter、collectd、Datadog代理、New Relic代理,或Ganglia gmond
    1. apiVersion: apps/v1
    2. kind: DaemonSet
    3. metadata:
    4. name: deamonset-example
    5. labels:
    6. app: deamonset
    7. spec:
    8. selector:
    9. matchLabels:
    10. name: deamonset-example ## 必须要与上面metadata中name相同
    11. template:
    12. metadata:
    13. labels:
    14. name: deamonset-example
    15. spec:
    16. containers:
    17. - name: deamonset-example
    18. image: wangyanglinux/myapp:v1