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