Daemon Sets 可以理解为是一种特殊的replica Set
我们正常的deployments , Replicaset 默认情况下,是随机分布的,也就是一个Node 上可以存在多个,也可能一个都没有
但是Daemon Sets 是每个Node上一个,这种特殊的设定,非常完美的解决了监控和日志的问题
对比一下replicaset 的定义文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
apiVersion: apps/v1 kind: Replicaset metadata: name: monitoring-daemon labels: app: nginx spec: selector: matchLabels: app: monitoring-agent template: metadata: labels: app: monitoring-agent spec: containers: - name: monitoring-agent image: monitoring-agent |
Daemon Sets
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
apiVersion: apps/v1 kind: DaemonSet metadata: name: monitoring-daemon labels: app: nginx spec: selector: matchLabels: app: monitoring-agent template: metadata: labels: app: monitoring-agent spec: containers: - name: monitoring-agent image: monitoring-agent |
几乎一模一样,除了Kind 之外
如何实现的呢?
v1.12以前是通过之前说过的Nodename来实现的
v1.12以后是通过NodeAffinity 和scheduler来完成的
Latest posts by Zhiming Zhang (see all)
- aws eks node 自动化扩展工具 Karpenter - 8月 10, 2022
- ReplicationController and ReplicaSet in Kubernetes - 12月 20, 2021
- public key fingerprint - 5月 27, 2021