vue一鍵生成模板
阿新 • • 發佈:2021-09-03
DaemonSet
DaemonSet 確保全部Node 上執行一個 Pod 的副本。當有 Node 加入叢集時,也會為他們新增一個 Pod 。當有 Node 從叢集移除時,這些 Pod 也會被回收。刪除 DaemonSet 將會刪除它建立的所有Pod。
在每一個node節點上只調度一個Pod,因此無需指定replicas的個數,比如:
- 在每個node上都執行一個日誌採集程式,負責收集node節點本身和node節點之上的各個Pod所產生的日誌
- 在每個node上都執行一個性能監控程式,採集該node的執行效能資料
詳細資訊
kubectl explain daemonset kubectl explain daemonset.spec kubectl explain daemonset.spec.template.spec
部署DaemonSet
daemonsetdemo.yml
apiVersion: apps/v1 kind: DaemonSet metadata: name: demonsetdemo labels: app: demonsetdemo spec: template: metadata: name: demonsetdemo labels: app: demonsetdemo spec: containers: - name: demonsetdemo image: nginx:1.17.10-alpine imagePullPolicy: IfNotPresent restartPolicy: Always selector: matchLabels: app: demonsetdemo
執行
執行demonset
kubectl apply -f demonsetdemo.yml
檢視pod詳細資訊:只有工作節點建立pod,master節點並不會建立。
kubectl get pod -o wide
滾動更新
DaemonSet有兩種更新策略型別:
- OnDelete:這是向後相容性的預設更新策略。使用 OnDelete 更新策略,在更新DaemonSet模板後,只有在手動刪除舊的DaemonSet pod時才會建立新的DaemonSet pod。這與Kubernetes1.5或更早版本中DaemonSet的行為相同。
- RollingUpdate:使用 RollingUpdate 更新策略,在更新DaemonSet模板後,舊的DaemonSet pod將被終止,並且將以受控方式自動建立新的DaemonSet pod。