前言
本文為「Kubernetes 實作手冊:基礎入門篇」課程的學習筆記。
簡介
DaemonSet 確保全部(或者某些)節點上運行某一個 Pod 的副本。當有節點加入叢集時,也會為他們新增一個 Pod。當有節點從叢集移除時,這些 Pod 也會被回收。刪除 DaemonSet 將會刪除它創建的所有 Pod。
使用情境如:
- 在每個節點上運行儲存空間守護行程
- 在每個節點上運行日誌收集守護行程
- 在每個節點上運行監控守護行程
實作
以下使用 kind 的環境。
1 | cd vagrant/kind |
首先,查看範例資料夾中的 DaemonSet 配置檔。
1 | cat introduction/ds/basic.yaml |
以下是一個描述 DaemonSet 的 YAML 範例檔,其中 template
的部分其實就是 Pod 的配置檔的格式,並透過標籤綁定在一起。
1 | apiVersion: apps/v1 |
- 設定為容忍主節點的污點。
使用配置檔創建 DaemonSet 資源。
1 | kubectl apply -f introduction/ds/basic.yaml |
查看此 DaemonSet 與其他資源的關係。
1 | kubectl tree ds test-ds |
總結來說,DaemonSet 會使用在每個節點上都剛好只需要運行某一個應用程式時使用。