Kubernetes详解(二十八)——DaemonSet控制器

今天继续给大家介绍Linux运维相关知识,本文主要内容是DaemonSet控制器。

一、DaemonSet控制器概述

在前面的文章中,我们学习了ReplicaSet控制器和Deployment控制器,今天,我们来讲解一下DaemonSet控制器。与之前的两款控制器不同的是,DaemonSet控制器会在集群的全部节点上同时创建一个Pod资源对象,或者是使用节点选择器,只在指定节点上创建Pod对象。DaemonSet控制器不需要也不支持replicas参数,因为DaemonSet控制器的Pod数量完全是由Node节点的数量决定的。注意,在DaemonSet控制器建立后,后续有新的节点加入Kubernetes集群,那么新加入的节点也需要创建一个DaemonSet控制器所控制的Pod对象;同样的,在Node节点移除Kubernetes集群后DaemonSet控制器也不需要重建Pod对象。
DaemonSet控制器适合于以下场景:
1、运行集群存储的守护进程,例如glusterd或ceph
2、在各个Node节点上运行日志收集守护进程,如fluentd和logstash
3、在各个节点上运行监控系统的代理守护进程,如Prometheus Node Exporter、collectd、Datadog agent、New Relic agent和Ganlia gmond等。

二、DaemonSet控制器创建

接下来,我们就通过资源清单的方式,来尝试创建DaemonSet控制器。我们创建DaemonSet.yaml文件,并写入如下内容:

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: daemonset-demo
  namespace: default
  labels:
    daemon: test
    pod: nginx
spec:
  selector:
    matchLabels:
      daemon: test
      pod: nginx
  template:
    metadata:
      labels:
        daemon: test
        pod: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.12
        ports:
        - name: http
          containerPort: 80

配置好的文件如下所示:
在这里插入图片描述
上述配置文件中的各项参数在前面的文章中都已经介绍过了,在这里就不过多赘述了。接下来,我们直接执行命令:

kubectl apply -f DaemonSet.yaml

尝试创建DaemonSet控制器,该命令执行结果如下:
在这里插入图片描述
接下来,我们来查看一下我们创建的DaemonSet控制器,执行命令:

kubectl describe daemonset daemonset-demo

结果如下所示:
在这里插入图片描述
然后,我们查看一下Kubernetes集群中的pod,执行命令:

kubectl get pods -o wide

执行结果如下:
在这里插入图片描述
从以上可以看出,DaemonSet控制器的Pod资源一共创建了2个,并且是每个结点上各运行了1个。

三、DeamonSet对象更新

DaemonSet在Kubernetes1.6版本之后开始支持更新机制,并且支持滚动更新(RollingUpdate)和删除时更新(OnDeleteUpdate)两种更新策略。DaemonSet的更新策略默认是滚动更新,并且可以通过spec.updateStrategy参数来设置修改。
DaemonSet控制器的更新命令如下:

kubectl set image daemonset daemonset-demo nginx=nginx:1.14

在上述命令中,我们使用了set image的方式来更新daemonset控制器的版本,nginx为我们的DaemonSet的资源配置清单中定义的Pod中Container的名称。该命令执行结果如下:
在这里插入图片描述
我们可以查看DaemonSet控制器更新结果,如下所示:
在这里插入图片描述
从上图中可以看出,DaemonSet控制器已经完成更新,并且更新策略是滚动更新。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值