- 一、DaemonSet概述
- 二、DaemonSet工作原理
- 三、Daemonset应用场景
- 四、DaemonSet与Deployment区别
- 五、DaemonSet资源清单文件编写技巧
- 总结:整理不易,如果对你有帮助,可否点赞关注一下?
一、DaemonSet概述
DaemonSet(守护进程集)和守护进程类似,它在符合匹配条件的节点上均部署一个Pod。DaemonSet确保全部(或者某些)节点上运行一个Pod副本。当有新节点加入集群时,也会为它们新增一个Pod。当节点从集群中移除时,这些Pod也会被回收,删除DaemonSet将会删除它创建的所有Pod。
二、DaemonSet工作原理
Daemonset的控制器会监听kuberntes的Daemonset 对象、pod 对象、node 对象,这些被监听的对象之变动,就会触发syncLoop循环让kubernetes集群朝着Daemonset对象描述的状态进行演进。
三、Daemonset应用场景
1、在集群的每个节点上运行存储,比如:glusterd 或 ceph。
2、在每个节点上运行日志收集组件,比如:flunentd 、 logstash、filebeat 等。
3、在每个节点上运行监控组件,比如:Prometheus、 Node Exporter 、collectd 等。
四、DaemonSet与Deployment区别
Deployment部署的副本Pod会分布在各个Node上,每个Node都可能运行一个或多个副本;而DaemonSet的不同之处在于每个Node上最多只能运行一个副本。
五、DaemonSet资源清单文件编写技巧
#查看定义Daemonset资源需要的字段
[root@k8s-client-17 yaml]# kubectl explain ds
KIND: DaemonSet
VERSION: apps/v1
DEscriptION:
DaemonSet represents the configuration of a daemon set.
FIELDS:
apiVersion #资源使用的api版本,与上述VERSION: apps/v1相同
kind #资源类型,与上述KIND: DaemonSet相同
metadata
总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:企业级K8s集群运维实战



