網站首頁 編程語言 正文
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-10-16 微信小程序radio單選按鈕選中與取消
- 2022-06-24 深度解析Python線程和進程_python
- 2023-02-10 python自定義函數中的return和print使用及說明_python
- 2022-09-02 useEffect支持async及await使用方式_React
- 2022-06-11 C#實現文件Move和Copy操作_C#教程
- 2022-07-09 android開機自動啟動app的解決方法_Android
- 2023-01-07 Python中導入模塊的幾種方式總結_python
- 2023-02-17 golang基礎之waitgroup用法以及使用要點_Golang
- 最近更新
-
- 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同步修改后的遠程分支