17. Pod 自动管理——DeamonSet 和 Job
本章讲解知识点
-
- DeamonSet
-
- Job
-
- Batch Job
1. DeamonSet
1.1. 前言
我们来假设一种场景,我们集群有很多个工作节点,我们需要在每一个工作节点上都运行一个监控程序,用以收集节点状态、日志等。
那么如果使用 Deployment、StatefulSet,我们就得设置各自标签、污点来保证每一个副本相互隔离开,并正确调度到各个工作节点,那样真的是太麻烦了。有没有一种更为简单的方法呢?当然有,那就是 DeamonSet。
1.2. 概念
DaemonSet 是 Kubernetes 中一种常见的控制器类型,它用于确保集群中的每个节点都运行一个 Pod 的副本。每个节点上运行的 Pod 的规范都是相同的,这与 ReplicaSet 等其他控制器类型不同。
DaemonSet 通常用于实现各种任务,例如运行日志收集器、网络代理、监视器、数据收集器等。在这些情况下,需要在每个节点上运行一个实例来收集或处理节点特定的数据。例如,我们可以使用 Prometheus Node Exporter,它是一个 Prometheus 插件,可以在节点上收集各种系统信息,并将其提供给 Prometheus 进行监控和分析。我们可以创建一个 Dae