一、简介
在 Kubernetes 中,DaemonSet 是一种控制器类型,用于确保集群中的每个节点运行一个特定的 Pod 实例。通常情况下,DaemonSet 被用来在集群的每个节点上运行一个特定的系统服务或者应用程序副本,例如日志收集器(如 Fluentd 或 Filebeat)、监控代理(如 Prometheus Node Exporter)、存储解决方案(如 Ceph 的 OSD 部署)等。
二、主要用途
确保每个节点上运行相同的 Pod 实例:
DaemonSet 确保在集群的每个节点上都有一个 Pod 的副本在运行,从而保证了特定任务或服务在整个集群中的普遍性。
1.节点级别的任务部署:
可以用来在每个节点上运行具有特定配置的任务,例如日志收集、监控等任务,这些任务通常需要与节点本身密切关联。
2.服务发现和负载均衡:
在某些情况下,DaemonSet 可以用于运行网络服务或负载均衡器的实例,以便每个节点都可以直接处理来自外部的流量。
3.更新和升级:
DaemonSet 也支持更新和升级,可以通过更改 Pod 模板或镜像来进行滚动更新,确保新的配置或版本可以安全地应用到每个节点。
DaemonSet 的主要作用,是让