日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

DaemonSet服務守護進程的使用場景_服務器其它

作者:、重明 ? 更新時間: 2022-05-21 編程語言

DaemonSet又是什么?

DaemonSet是守護進程集,簡寫為ds;是在所有的節點或者匹配的節點上都部署一個Pod。

[root@k8s-master01 ~]# kubectl get nodes
NAME           STATUS   ROLES    AGE   VERSION
k8s-master01   Ready       8d    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-node02                
nginx-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

欄目分類
最近更新