什麼是DaemonSet?
DaemonSet是部署在所有節點上用於在集羣存儲、日誌收集、性能監控等場景。Pod的生命週期跟隨節點,保證集羣內的每一個(或者一些)節點都運行一組相同功能的Pod。在新的Kubernetes節點加入時,將會在節點上自動新增一個Pod,在節點移除後Pod也進行回收。
DaemonSet操作
DaemonSet使用Pod模板,此模板包含適用於其Pod的規範。Pod規範確定每個Pod的內容:應在其容器內運行的應用、應裝載的卷、其標籤和選擇器等。
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: nginx
spec:
selector:
matchLabels:
name: nginx
template:
metadata:
labels:
name: nginx
spec:
containers:
- name: nginx
image: nginx:1.16
查看StatefulSet列表kubectl get daemonset
查看StatefulSet描述信息kubectl describe daemonset
DaemonSet更新策略
通過指定 spec: updateStrategy
中定義的更新策略來確定如何處理更新。
OnDelete: 當手動刪除舊的Pod時,新的Pod纔會被自動被創建。
RollingUpdate: 默認的更新策略。舊的Pod自動被刪除,新的Pod也自動創建。