落烨无痕

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

DaemonSet使用场景

DaemonSet 确保全部(或者一些)Node 上运行一个 Pod 的副本。当有 Node 加入集群时,也会为他们新增一个 Pod 。当有 Node 从集群移除时,这些 Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 Pod。

使用 DaemonSet 的一些典型用法:

  • 运行集群存储 daemon,例如在每个 Node 上运行 glusterdceph
  • 在每个 Node 上运行日志收集 daemon,例如fluentdlogstash
  • 在每个 Node 上运行监控 daemon,例如 Prometheus Node Exportercollectd、Datadog 代理、New Relic 代理,或 Ganglia gmond

 

1.定义daemonSet配置文件

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: node-exporter-daemonset
spec:
  selector:
    matchLabels:
      app: node-exporter
      type: daemonset
      author: danny
  template:
    metadata:
      labels:
        app: node-exporter
        type: daemonset
        author: danny
    spec:
      containers:
      - name: node-exporter
        image: quay.io/prometheus/node-exporter
  updateStrategy:
    type: RollingUpdate

 

2.应用此配置文件

[root@k8s-master home]# kubectl apply -f daemonSet.yml 

 

3.验证是否安装成功

我的k8s集群有3个节点,所以正常来说,应该创建3个node-exporter实例(每个node一个)

[root@k8s-master home]# kubectl get pods

 

 

说明:node-exporter是监控宿主机的运行状况,根据node-exporter官网描述,是不建议使用容器部署的。

使用容器部署,某些关键性metrics无法获取。需通过volume挂载系统文件解决。

 

posted on 2020-12-17 16:33  落烨无痕  阅读(967)  评论(0编辑  收藏  举报