Pod控制器之DaemonSet

DaemonSet是Kubernetes的一种控制器,用于确保在每个节点上运行一个特定Pod的副本,常用于部署守护进程、日志收集器或网络插件如Calico、WeaveNet。通过创建和管理Pod,DaemonSet保证了这些关键服务在集群中的覆盖和可用性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

DaemonSet是Kubernetes控制器之一,它确保在每个节点上都运行一个Pod的副本。它通常用于运行守护进程或日志收集器等需要在每个节点上运行的应用程序。

使用场景

DaemonSet最常见的使用场景是在Kubernetes集群中部署守护进程。这些守护进程可能是监控或日志收集器,需要在集群的每个节点上运行。DaemonSet可以确保在每个节点上都运行这些守护进程的副本,以便在任何时候都可以收集日志或监控节点。

另一个使用场景是在Kubernetes集群中部署网络插件,例如Calico或Weave Net。这些插件需要在每个节点上运行,以提供网络功能和策略。

使用案列

DaemonSet没有什么特殊的配置,只需要将类型配置对即可,kind: DaemonSet

资源文件清单
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: daemonset
spec:
 selector:
  matchLabels:
    app: nginx-pod
 template:
   metadata:
     labels:
      app: nginx-pod
   spec:
     containers:
     - name: nginx
       image: nginx:1.17.1
启动观察
# 启动
[root@master daemonsets]# kubectl create -f daemonset.yaml 
daemonset.apps/daemonset created

# 查看Pod部署情况,有两个daemonset副本的Pod分别部署在node01和node02
[root@master daemonsets]# kubectl get pod -o wide
NAME              READY   STATUS    RESTARTS   AGE   IP             NODE     NOMINATED NODE   READINESS GATES
daemonset-bvnzd   1/1     Running   0          19s   10.244.2.116   node02   <none>           <none>
daemonset-gsx9g   1/1     Running   0          19s   10.244.1.204   node01   <none>           <none>

# 查看daemonset 简写ds
[root@master daemonsets]# kubectl get ds
NAME        DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
daemonset   2         2         2       2            2           <none>          50s

DaemonSet就介绍到这里,比较简单


欢迎关注,学习不迷路!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值