iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 16
0
Kubernetes

KK8s系列 第 16

淺談 DaemonSet,及相對 ReplicaSet 的差異

  • 分享至 

  • xImage
  •  

話說 ReplicaSet 是實現服務 AutoScale or Loadbalance 的方式,
但是如需在 K8s node 叢集環境下確保特定 pod 在每個 node 上皆能夠實現相同服務,
DaemonSet 反而是最佳選擇。
典型的應用服務包括:

  • 叢集儲存,比如 glusterd、ceph
  • 日誌收集,比如 fluentd、logstash
  • 系统監控,比如 Prometheus Node Exporter、collectd、New Relic agent、Ganglia gmond
  • 系统程序,比如 kube-proxy、kube-dns

DaemonSet 特性

  • DaemonSet 會確保每個 node 上運行同一個 pod 服務~ 除非透過 nodeSelector。
  • 例如系統常駐性監控服務,是非常適合透過 DaemonSet 實現副本需求。
  • DaemonSet 如同 ReplicaSet 皆透過 Reconciliation Loops 可以確保目前 Status 是否符合預期 Spec。
  • 當 K8s 新增 node 時,DaemonSet 會於 new node 上新增 pod 副本。

非 DaemonSet 特性

如果需要為了服務大量客戶流量,需要建立大量 pod 副本,
並且無需考量與 node 耦合性問題, 透過 ReplicaSet 進行 service scale 是正確的選擇。

參考書籍\文章出處:
Kubernetes 建置與執行 書中 P.105~114 內容
https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/


上一篇
Pod 副本管理~ 實作篇
下一篇
來說說 Label
系列文
KK8s30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言