阿里云 ACK 接入觀測云

簡介
容器服務 Kubernetes 版(簡稱 ACK)提供高性能可伸縮的容器應用管理能力,支持企業級容器化應用的全生命周期管理 。2021 年成為國內唯一連續三年入選 Gartner 公共云容器報告的產品,2022 年國內唯一進入 Forrester 領導者象限 。其整合了阿里云虛擬化、存儲、網絡和安全能力,助力企業高效運行云端 Kubernetes 容器化應用 。
觀測云支持 ACK 集群的接入 , 下面是入門接入的具體步驟 。
前置條件
安裝 ACK,本次使用版本 1.24.6-aliyun.1。
注冊「觀測云賬號」 。
操作步驟
1 配置 yaml 文件
1.1 下載 datakit.yaml
登錄「觀測云」,點擊「集成」模塊,再點擊左上角「DataKit」,選擇「Kubernetes」,下載 datakit.yaml 。本次部署的是 datakit 1.4.19。
1.2 替換 Token
登錄「觀測云」,進入「管理」模塊,在「基本設置」里面復制 token,替換 datakit.yaml 文件中的 ENV_DATAWAY 環境變量的 value 值中的  。
1.3 增加全局 Tag
針對一個工作空間接入多個 Kubernetes 集群指標,觀測云提供了使用全局 Tag 的方式來進行區分 。
當集群中只有一個采集對象 , 比如采集kubernetes API Server指標,集群中 DataKit 的數量會大于一個 。為了避免指標采集重復,DataKit 開啟了選舉功能,這個時候區分集群的方式是增加
ENV_GLOBAL_ELECTION_TAGS;而針對非選舉類的指標采集,比如為 Pod 增加 annotations 的方式進行指標采集 , 觀測云提供了在 ENV_GLOBAL_HOST_TAGS環境變量中增加全局 Tag 的方式 。(注意:舊版本這個環境變量名稱是 ENV_GLOBAL_TAGS 。)
-name:ENV_GLOBAL_HOST_TAGSvalue:host=__datakit_hostname,host_ip=__datakit_ip,cluster_name_k8s=aliyun-ack根據上面的說明,下面修改 yaml 文件 。
在 datakit.yaml 文件中的 ENV_GLOBAL_TAGS 環境變量值最后增加 cluster_name_k8s=aliyun-ack;
再增加環境變量 ENV_GLOBAL_ELECTION_TAGS,這樣測試環境的集群就是 aliyun-ack;
增加環境變量 ENV_NAMESPACE 值是 aliyun-ack 。
 

阿里云 ACK 接入觀測云

文章插圖
2 部署 DataKit
修改完成 yaml 文件后,下面開始部署 DataKit 。
(1)登錄阿里云容器服務管理控制臺 。
(2)在控制臺左側導航欄中 , 單擊「集群」 。
(3)在「集群列表」頁面中,單擊目標集群名稱或者目標集群右側「操作」列下的「詳情」 。
阿里云 ACK 接入觀測云

文章插圖
(4)在集群管理頁左側導航欄單擊「工作負載」 - 「自定義資源」,然后在右側頁面單擊「使用 YAML 創建」 。
選擇相應的命名空間 。選擇所有名稱空間 。
在示例模板中,選擇自定義 。把 yaml 的內容貼入模板中,點擊「創建」 。
阿里云 ACK 接入觀測云

文章插圖
在守護進程集下面可以查看到 DataKit 運行情況 。
阿里云 ACK 接入觀測云

文章插圖
3 卸載 DataKit
DataKit 部署默認使用了 datakit 命名空間,卸載只需要刪除守護進程集中的 datakit、datakit 命名空間下的資源及名為 datakit 的 ClusterRoleBinding 。卸載的方式比較多,這里提供一種通過阿里云容器服務管理控制臺卸載的方式 。
3.1 刪除 DaemonSet
在阿里云的容器管理控制臺進入「工作負載」 - 「守護進程集」 , 找到 datakit,點擊右邊的「刪除」 。
阿里云 ACK 接入觀測云

文章插圖
3.2 刪除命名空間
進入「節點管理」- 「命名空間與配額」,找到 datakit,點擊右邊的「刪除」 。
阿里云 ACK 接入觀測云

文章插圖
3.3 刪除 Cluster Role
進入 「安全管理」 - 「角色」 , 在 Cluster Role 下面找到 datakit,點擊右邊的「刪除」 。
阿里云 ACK 接入觀測云

文章插圖
3.4 異常處理
如果在下次部署的時候提示如下錯誤,是因為阿里云控制臺顯示刪除了,實際資源還存在的情況 。
阿里云 ACK 接入觀測云

文章插圖
這時只需要把 datakit.yaml 文件中的如下部分刪除即可重新部署 。
1 apiVersion:rbac.authorization.k8s.io/v1 3 kind:ClusterRoleBinding 5 metadata: 7 name:datakit 9 roleRef:11 apiGroup:rbac.authorization.k8s.io13 kind:ClusterRole15 name:datakit17 subjects:19 -kind: ServiceAccount21 name:datakit23 namespace: datakit

推薦閱讀