Kubernetes DaemonSet
本文将介绍 Kubernetes 中的 DaemonSet,即守护者集合。
一、什么是 DaemonSet?
在现实场景中,存在守护应用这一类特殊的应用,它们需要和运算节点一一对应才能够正确工作,例如网络应用、监控应用(监控节点状态)、日志应用(搜集节点运行产生的日志数据)、安全应用(执行安全审计、入侵检查、漏洞扫描等)等。
对于这类应用的部署,
- 手动指派 Pod 至运算节点是不现实且不优雅的
- 使用 Deployment 无法实现效果,因为 Deployment 只能保证 Pod 的个数,但无法保证如何调度 Pod 至节点上
因此,Kubernetes 设计了 DaemonSet,它在形式上与 Deployment 类似,都是管理控制 Pod,但调度策略上存在区别,DaemonSet 会在每一个节点上运行且只运行一个 Pod。
二、DaemonSet 的配置文件
1 |
|
三、静态 Pod
静态 Pod 也可以实现类似 DaemonSet 的效果。
静态 Pod 非常特殊,不受 Kubernetes 系统的管控,不与 apiserver、scheduler 发生关系。配置它的方式是在节点的 /etc/kubernetes/manifests
目录下添加 YAML 文件。
静态 Pod 不受 Kubernetes 系统的管控,必须在节点上纯手动部署,应当慎用。
参考
- Kubernetes
- Kubernetes 入门实战课
- 深入剖析 Kubernetes