此文为学习《Kubernetes权威指南》的相关笔记
学习笔记:
常规的调度器调度方法并不能保证一组Pod副本被调度到不同的Node上,但在有些场景下,需要一批Node中都运行着一个Pod副本,书上给出的例子有:
在每个Node上运行一个GlusterFS或者Ceph存储的守护进程(存储需求)
在每个Node上运行一个日志采集程序,如Fluentd或者Logstach(日志需求)
在每个Node上运行一个性能监控程序,如collectd等(监控需求)
DaemonSet正式应对这种需求而生,它的调度策略与RC类似,可以使用内置调度算法在每个Node上实现调度
于此同时,DaemonSet也支持NodeSelector和Affinity亲和性调度策略对节点进行主动选择
简而言之,DaemonSet:在筛选后的每个Node上都调度一个Pod副本
阿里云大学云原生课程给出的DaemonSet的功能如下:
一个DaemonSet的配置文件如下
与大多数调度器一样,DaemonSet所属的apiVersion为apps/v1
其他语法格式与RC等调度器大致相同
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: fluen