1. daemonset 概念

daemonSet 简介:

  • DaemonSet 确保全部(或者某些)节点上运行一个 Pod 的副本。

  • 当有节点加入集群时, 也会为他们新增一个 Pod 。

  • 当有节点从集群移除时,这些 Pod 也会被回收。

  • 删除 DaemonSet 将会删除它创建的所有 Pod。

  • 也就是 每个节点上都启动 一个 pod

2. daemonset 典型用法

daemonSet 的使用场景:

  • 在每个节点上运行集群存守护进程

    • 例如在每个 Node 上运行 glusterd、ceph

  • 在每个节点上运行日志收集守护进程

    • 例如 fluentd、logstash

  • 在每个节点上运行监控守护进程

    • 例如 Prometheus Node Exporter、collectd、Datadog 代理、New Relic 代理,或 Ganglia gmond

3. daemonset 创建模板

模板为:

Copy to Clipboard

说明:

  • 这里加了 tolerations ,表示可以容忍 master 节点上的污点,因此在 master 节点上也会创建

  • daemonset 和 deployment 的 yaml 文件很相似

  • nodeSelector 可以选在 在那些节点上创建 pod