K8s系列之:DaemonSet在每个Node上调度一个Pod

K8s系列之:DaemonSet在每个Node上调度一个Pod

DaemonSet用于管理在集群中每个Node上仅运行一份Pod副本实例。

这种用法适合一些有这种需求的应用。

  • 在每个Node上运行一个GlusterFS存储或者Ceph存储的Daemon进程。
  • 在每个Node上运行一个日志采集程序,例如Logstach。
  • 在每个Node上运行一个性能监控程序,采集该Node的运行性能数据,例如Prometheus等。

DaemonSet的Pod调度策略与RC类似,除了使用系统内置的算法在每台Node上进行调度,也可以在Pod的定义中使用NodeSelector或NodeAffinity来指定满足条件的Node范围进行调度。

例子:在每台Node上启动一个fluentd容器,配置文件fluentd-ds.yaml的内容如下,其中挂载了物理机的两个目录"/var/log"和"/var/lib/docker/containers"。

apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
  name: fluentd-cloud-logging
  namespace: kube-system
  labels:
    k8s-app: fluentd-cloud-logging
spec:
  template:
    metadata:
      namespace: kube-system
      labels:
        k8s-app: fluentd-cloud-logging
    spec:
      containers:
      - name: fluentd-cloud-logging
        image: gcr.io/google_containers/fluentd-elasticsearch:1.3
        resources:
          limits:
            cpu: 100m
            memory: 200Mi
        env:
         - name: FLUENTD_ARGS
           value: -q
        volumeMounts:
         - name: containers
           mountPath: /var/lib/docker/containers
           readOnly: false
         - name: varlog
           mountPath: /var/log
           readOnly: false
      volumes:
         - name: containers
           hostPath:
             path: /var/lib/docker/containers
         - name: varlog
           hostPath:
             path: /var/log

使用kubectl create命令创建该DaemonSet:

kubectl create -f fluentd-ds.yaml
daemonset "fluentd-cloud-logging" created

查看创建好的DaemonSet和Pod,可以看到在每个Node上都创建了一个Pod:

kubectl get daemonset --namespace=kube-system

NAME           DESIRED    CURRENT     NODE_SELECTOR    AGE
fluentd-cloud-logging  2     2         <none>           3s
kubectl get pods --namespace=kube-system
NAME        READY         STATUS       RESTARTS        AGE
fluentd-cloud-logging-7tw9z   1/1     Running    0     1h
fluentd-cloud-logging-aqdn1   1/1     Running    0     1h
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

最笨的羊羊

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

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

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

打赏作者

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

抵扣说明:

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

余额充值