DaemonSet服務(wù)守護(hù)進(jìn)程的使用場(chǎng)景
DaemonSet又是什么?
DaemonSet是守護(hù)進(jìn)程集,簡(jiǎn)寫(xiě)為ds;是在所有的節(jié)點(diǎn)或者匹配的節(jié)點(diǎn)上都部署一個(gè)Pod。
[root@k8s-master01 ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION k8s-master01 Ready <none> 8d v1.23.3 k8s-master02 Ready <none> 8d v1.23.3 k8s-master03 Ready <none> 8d v1.23.3 k8s-node01 Ready <none> 8d v1.23.3 k8s-node02 Ready <none> 8d v1.23.3
比如從上段代碼中可以看到我們集群有五個(gè)節(jié)點(diǎn),Daemon會(huì)在這五個(gè)節(jié)點(diǎn)都部署一個(gè)Pod;又或者我們只需要在node節(jié)點(diǎn)部署,那么可以利用標(biāo)簽的方式只在node節(jié)點(diǎn)上部署Pod。比如我們的calico網(wǎng)絡(luò)插件就是用DaemonSet部署的。
DaemonSet 的使用場(chǎng)景:
- 監(jiān)控?cái)?shù)據(jù)收集:需要每個(gè)節(jié)點(diǎn)上收集數(shù)據(jù)
- 監(jiān)控節(jié)點(diǎn)狀態(tài)
- 負(fù)責(zé)每個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)、存儲(chǔ)等組件,如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
注意:沒(méi)有副本數(shù)的參數(shù)
創(chuàng)建一個(gè)ds;然后查看可以看到每個(gè)節(jié)點(diǎn)上都生成了一個(gè)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-node02 <none> <none> nginx-2c7xf 1/1 Running 0 2m2s 172.25.92.79 k8s-master02 <none> <none> nginx-kjdx8 1/1 Running 0 2m2s 172.25.244.200 k8s-master01 <none> <none> nginx-wwltz 1/1 Running 0 2m2s 172.27.14.199 k8s-node02 <none> <none> nginx-zl2lr 1/1 Running 0 2m2s 172.18.195.19 k8s-master03 <none> <none> nginx-znprg 1/1 Running 0 2m2s 172.17.125.7 k8s-node01 <none> <none>
需要注意的地方:
- restartPolicy字段默認(rèn)是Always
- Daemon Set沒(méi)有副本數(shù)
- 最大失敗數(shù)需要寫(xiě)數(shù)字,建議1
- 更新策略建議使用OnDelete,保留歷史版本為1
其他地方與Deployment和StatefulSet類似,就不說(shuō)了,可以看我另外兩篇!
以上就是DaemonSet服務(wù)守護(hù)進(jìn)程的使用場(chǎng)景的詳細(xì)內(nèi)容,更多關(guān)于DaemonSet服務(wù)守護(hù)進(jìn)程的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
git多人協(xié)作_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了git多人協(xié)作,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08
centos7基于keepalived+nginx部署k8s1.26.0高可用集群
Kubernetes是一個(gè)開(kāi)源的容器編排平臺(tái),用于自動(dòng)化地部署、擴(kuò)展和管理容器化應(yīng)用程序,在生產(chǎn)環(huán)境中,為了確保集群的高可用性,我們需要使用多個(gè)Master節(jié)點(diǎn)來(lái)實(shí)現(xiàn)冗余和故障切換2025-01-01
koa?TS?ESLint搭建服務(wù)器重構(gòu)版過(guò)程詳解
這篇文章主要為大家介紹了koa?TS?ESLint搭建服務(wù)器重構(gòu)版過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
CentOS Rsync服務(wù)端與Windows cwRsync客戶端實(shí)現(xiàn)數(shù)據(jù)同步配置方法
這篇文章主要介紹了CentOS Rsync服務(wù)端與Windows cwRsync客戶端實(shí)現(xiàn)數(shù)據(jù)同步配置方法,需要的朋友可以參考下2015-07-07
SNMP4J服務(wù)端連接超時(shí)問(wèn)題解決方案
這篇文章主要介紹了SNMP4J服務(wù)端連接超時(shí)問(wèn)題解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10

