分类: 云计算
2018-02-14 06:38:54
Deployment 部署的副本 Pod 会分布在各个 Node 上,每个 Node 都可能运行好几个副本。DaemonSet 的不同之处在于:每个 Node 上最多只能运行一个副本。
DaemonSet 的典型应用场景有:
在集群的每个节点上运行存储 Daemon,比如 glusterd 或 ceph。
在每个节点上运行日志收集 Daemon,比如 flunentd 或 logstash。
在每个节点上运行监控 Daemon,比如 Prometheus Node Exporter 或 collectd。
其实 Kubernetes 自己就在用 DaemonSet 运行系统组件。执行如下命令:
kubectl get daemonset --namespace=kube-system
DaemonSet kube-flannel-ds 和 kube-proxy 分别负责在每个节点上运行 flannel 和 kube-proxy 组件。
因为 flannel 和 kube-proxy 属于系统组件,需要在命令行中通过 --namespace=kube-system 指定 namespace kube-system。如果不指定则只返回默认 namespace default 中的资源。
下节我们详细分析 kube-flannel-ds 和 kube-proxy 这两个 DaemonSet。
书籍:
1.《每天5分钟玩转Docker容器技术》
2.《每天5分钟玩转OpenStack》