欢迎光临
我们一直在努力

如何理解DaemonSet

如何理解DaemonSet,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

DaemonSet是一种面向特定应用场景的Pod控制器,尽管它也可以管理Pod的多个副本,但它主要用于保证一个Node上只运行一个Pod的场景,如下图所示:

DaemonSet可以确保一个Node上最多只运行一个Pod副本,进一步说,DaemonSet可以选择特定类型的Node来部署Pod。此处,当选定类型的Node加入集群时,该Node会自动运行一个新的Pod副本,并且当该Node被删除时,相应的Pod也会被删除,而不会在其他Node上重建。

应用场景

DaemonSet可以确保每个工作节点上最多运行一个应用副本,这个应用副本类似于Linux操作系统中的daemon进程,这也正是DaemonSet名称的由来。

DaemonSet通常用于管理那些执行系统级的应用,比如:

  • 每个工作节点运行一个存储服务,供该工作节点上其他应用使用;

  • 每个工作节点运行一个日志收集服务,用于收集该节点上的运行日志;

  • 每个工作节点运行一个监控指标收集服务,用于提供该节点的监控信息;

配置格式

我们先看一个简单的DaemonSet配置:

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: nginx-daemonset
  labels:
    app: nginx
spec:
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
        - name: nginx
          image: nginx:1.19.0

初步看,这份配置跟Deployment基本类似,唯一一个显著的差异是DaemonSet不需要指定副本数,因为它的副本数取决于工作节点数。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注云搜网行业资讯频道,感谢您对云搜网的支持。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。