網站首頁 編程語言 正文
DaemonSet又是什么?
DaemonSet是守護進程集,簡寫為ds;是在所有的節點或者匹配的節點上都部署一個Pod。
[root@k8s-master01 ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION k8s-master01 Ready8d v1.23.3 k8s-master02 Ready 8d v1.23.3 k8s-master03 Ready 8d v1.23.3 k8s-node01 Ready 8d v1.23.3 k8s-node02 Ready 8d v1.23.3
比如從上段代碼中可以看到我們集群有五個節點,Daemon會在這五個節點都部署一個Pod;又或者我們只需要在node節點部署,那么可以利用標簽的方式只在node節點上部署Pod。比如我們的calico網絡插件就是用DaemonSet部署的。
DaemonSet 的使用場景:
- 監控數據收集:需要每個節點上收集數據
- 監控節點狀態
- 負責每個節點的網絡、存儲等組件,如calico、ceph等
DaemonSet的使用:
apiVersion: apps/v1 kind: DaemonSet metadata: labels: app: nginx name: nginx spec: revisionHistoryLimit: 10 selector: matchLabels: app: nginx template: metadata: creationTimestamp: null labels: app: nginx spec: containers: - name: nginx image: nginx:1.18.0 imagePullPolicy: Always resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30
注意:沒有副本數的參數
創建一個ds;然后查看可以看到每個節點上都生成了一個nginx副本。
[root@k8s-master01 ~]# kubectl create -f nginx-ds.yaml daemonset.apps/nginx created [root@k8s-master01 ~]# kubectl get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES busybox 1/1 Running 21 (2m45s ago) 8d 172.27.14.193 k8s-node02nginx-2c7xf 1/1 Running 0 2m2s 172.25.92.79 k8s-master02 nginx-kjdx8 1/1 Running 0 2m2s 172.25.244.200 k8s-master01 nginx-wwltz 1/1 Running 0 2m2s 172.27.14.199 k8s-node02 nginx-zl2lr 1/1 Running 0 2m2s 172.18.195.19 k8s-master03 nginx-znprg 1/1 Running 0 2m2s 172.17.125.7 k8s-node01
需要注意的地方:
- restartPolicy字段默認是Always
- Daemon Set沒有副本數
- 最大失敗數需要寫數字,建議1
- 更新策略建議使用OnDelete,保留歷史版本為1
其他地方與Deployment和StatefulSet類似,就不說了,可以看我另外兩篇!
原文鏈接:https://yyang.blog.csdn.net/article/details/122853967
相關推薦
- 2023-11-16 Linux查看某目錄下的文件個數
- 2022-09-24 python實現梯度下降求解邏輯回歸_python
- 2022-05-23 iOS實現無限滑動效果_IOS
- 2021-12-13 C語言數據結構與算法之圖的遍歷(一)_C 語言
- 2022-11-17 Go語言中常用的基礎方法總結_Golang
- 2022-12-07 python中的eval函數使用實例_python
- 2023-01-19 GO語言的控制語句詳解包括GO語言的指針語法_Golang
- 2022-09-27 React?Native?中限制導入某些組件和模塊的方法_React
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支