1. 首页
  2. 技术知识

DaemonSet服务守护进程的使用场景

目录

    DaemonSet又是什么?DaemonSet 的使用场景:DaemonSet的使用:

DaemonSet又是什么?

DaemonSet是守护进程集,简写为ds;是在所有的节点或者匹配的节点上都部署一个Pod。

[root@k8s-master01 ~]# kubectl get nodes

NAME           STATUS   ROLЕS    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

比如从上段代码中可以看到我们集群有五个节点,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     <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字段默认是AlwaysDaemon Set没有副本数最大失败数需要写数字,建议1更新策略建议使用OnDelete,保留历史版本为1

其他地方与Deployment和StatefulSet类似,就不说了,可以看我另外两篇!

以上就是DaemonSet服务守护进程的使用场景的详细内容,更多关于DaemonSet服务守护进程的资料请关注共生网络其它相关文章!

原创文章,作者:starterknow,如若转载,请注明出处:https://www.starterknow.com/105798.html

联系我们