k8s 基于node-exporter部署daemonSet个人例子


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挂载系统文件解决。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM