簡介
在使用觀測云期間,有時需要針對一個作業空間接入多個 Kubernetes 集群指標,通過觀測云提供的全域 Tag 的方式來進行區分,大大提高了效率,下面是我總結的操作步驟,
當集群中只有一個采集物件,比如采集 kubernetes API Server 指標,集群中 DataKit 的數量會大于一個,為了避免指標采集重復,DataKit 開啟了選舉功能,這個時候區分集群的方式是增加ENV_GLOBAL_ELECTION_TAGS,
1 - name: ENV_GLOBAL_ELECTION_TAGS 2 3 value: cluster_name_k8s=k8s-prod
而針對非選舉類的指標采集,比如為 Pod 增加 annotations 的方式進行指標采集,觀測云提供了在 ENV_GLOBAL_HOST_TAGS 環境變數中增加全域 Tag 的方式,注意舊版本這個環境變數名稱是 ENV_GLOBAL_TAGS,
-name:ENV_GLOBAL_HOST_TAGS
value:host=__datakit_hostname,host_ip=__datakit_ip,cluster_name_k8s=k8s-prod
上述采集到的指標集都會加上 cluster_name_k8s 的 Tag,值是 k8s-prod,這就是區分集群的原理,下面就以采集多個集群中的 kubernetes API Server 指標為例來進行詳細說明,
前置條件
·安裝 Kubernetes 1.18+
·觀測云賬號
操作步驟
步驟 1:測驗環境集群部署 DataKit
1.1 下載 datakit.yaml
登錄『觀測云』,點擊『集成』模塊,再點擊左上角『DataKit』,選擇『Kubernetes』,下載 datakit.yaml,
1.2 替換 Token
登錄『觀測云』,進入『管理』模塊,在『基本設定』里面復制 token,替換 datakit.yaml 檔案中的 ENV_DATAWAY 環境變數的 value 值中的 ,
1.3 增加全域 Tag
在 datakit.yaml 檔案中的 ENV_GLOBAL_TAGS 環境變數值最后增加 cluster_name_k8s=k8s-test,再增加環境變數 ENV_GLOBAL_ELECTION_TAGS,這樣測驗環境的集群就是 k8s-test,
1 - name: ENV_GLOBAL_ELECTION_TAGS 2 value: cluster_name_k8s=k8s-test

1.4 配置 Kubernetes API Server指標采集
詳見【 Kubernetes API Server 集成檔案】https://preprod-docs.cloudcare.cn/best-practices/integrations/container/kubernetes-api-server
1.5 部署 DataKit
把 datakit.yaml 上傳到測驗集群的 Master 節點,執行部署命令,
1 kubectlapply-fdatakit.yaml
步驟 2:生產環境集群部署 DataKit
2.1 修改 datakit.yaml
使用 步驟 1 中的 datakit.yaml,把 兩處 k8s-test 改成 k8s-prod,這樣生產環境的集群就是 k8s-prod,這里還需要修改一下 api-server.conf 中的 url,

2.2 部署 DataKit
把 datakit.yaml 上傳到生產集群的 Master 節點,執行部署命令,
1 kubectlapply-fdatakit.yaml
步驟 3:視圖預覽
3.1 指標預覽
登錄『觀測云』,點擊『指標』,搜索 prom_api_server,在 cluster_name_k8s 標簽下面已經有兩個集群的名稱,
3.2 新建視圖
登錄『觀測云』,點擊『場景』->『新建儀表板』,選擇 Kubernetes API Server 監控視圖,集群名稱下拉框可以區分集群了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/513039.html
標籤:其他
上一篇:iOS16FairPlay更改
