Kubernetes--DaemonSet调度

本文介绍了Kubernetes中的DaemonSet资源对象,它确保在集群的每个节点上都运行一个特定的Pod副本。常见应用场景包括部署GlusterFS、Ceph存储服务、日志采集程序如Fluentd或Logstash,以及性能监控工具如Prometheus和collectd。
摘要由CSDN通过智能技术生成

一、DaemonSet

   DaemonSet是kubernetes 1.2版本新增的一种资源对象,用于管理集群中每个Node上仅允许一份Pod的副本实例。

    

这种用法适用场景:
  • 在每个Node上都运行一个GlusterFS存储或者Ceph存储的Daemon进程
  • 在每个Node上都运行一个日志采集程序,例如Fluentd或者Logstach
  • 在每个Node上都运行一个性能监控程序,采集该Node的运行性能数据,例如Prometheus、collected
   DaemonSet的Pod调度策略与RC类似,除了使用系统内置的算法在每个Node上进行调度,也可以在Pod的定义中使用NodeSelector或NodeAffinity来指定满足条件的Node范围进行调度。
   为每个Node启动一个fluentd容器,挂载物理机两个目录 /var/log 和 /var/lib/docker/containers。
apiVersion: apps/v1
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.17
        resources:
          limits:
            cpu: 100m
            memory: 200Mi
        env:
        - name: FLUENTD_ARGS
          value: -q
        volumeMounts:
        - name: varlog
          mountPath: /var/log
          readOnly: false
        - name: containers
          mountPath: /var/lib/docker/containers
          readOnly: false
      volumes:
      - name: containers
        hostPath:
          path: /var/lib/docker/containers
      - name: varlog
        hostPath:
          path: /var/log

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值