Kubernetes 应用管理与 Helm 部署指南
1. DaemonSet 介绍
DaemonSet 用于在集群的每个节点(或部分节点)上运行特定 Pod 的单个实例。当向集群调度 DaemonSet 时,Pod 实例会被调度到每个节点,新增节点时也会自动调度。它适用于提供需要在集群各处都可用的服务,例如:
- 日志收集和传输代理,如 Fluentd 或 Logstash
- 监控代理,如 collectd、Prometheus Node Exporter、datadog、NewRelic 或 SysDig 等
- 分布式存储系统的守护进程,如 Gluster 或 Ceph
- 覆盖网络组件,如 Calico 或 Flannel
- 每个节点的组件,如虚拟化工具 OpenStack
在 Kubernetes 之前,这些服务需要在基础设施的每个服务器上配置 init 系统(如 systemd 或 SysVinit)。更新服务或其配置时,需要在所有服务器上更新配置并重启服务,管理大量服务器时会变得非常困难。而 DaemonSet 可以使用与基础设施上运行的应用相同的配置和容器化方式来管理基础设施本身。
2. 创建 DaemonSet 示例
以部署 Prometheus Node Exporter 为例,该应用用于暴露包含运行它的 Linux 系统指标的 HTTP 端点。
以下是 node-exporter.yaml 配置文件:
apiVersion: apps/v1
kind: D
超级会员免费看
订阅专栏 解锁全文
3134

被折叠的 条评论
为什么被折叠?



