天天看點

阿裡雲 ACK 接入觀測雲

作者:觀測雲
阿裡雲 ACK 接入觀測雲

簡介

容器服務 Kubernetes 版(簡稱 ACK)提供高性能可伸縮的容器應用管理能力,支援企業級容器化應用的全生命周期管理。2021 年成為國内唯一連續三年入選 Gartner 公共雲容器報告的産品,2022 年國内唯一進入 Forrester 上司者象限。其整合了阿裡雲虛拟化、存儲、網絡和安全能力,助力企業高效運作雲端 Kubernetes 容器化應用。

觀測雲支援 ACK 叢集的接入,下面是入門接入的具體步驟,如果需要接入名額、鍊路、日志等更多内容,請參考其它文檔。

前置條件

  • 安裝 ACK,本次使用版本 1.24.6-aliyun.1 。如果沒有建立,請參考建立 Kubernetes 專有版叢集和建立 Kubernetes 托管版叢集。
  • 注冊 觀測雲賬号

操作步驟

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_TAGS
  value: 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。

- name: ENV_NAMESPACE
  value: aliyun-ack
- name: ENV_GLOBAL_ELECTION_TAGS
  value: cluster_name_k8s=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 檔案中的如下部分删除即可重新部署。

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: datakit
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: datakit
subjects:
  - kind: ServiceAccount
    name: datakit
    namespace: datakit           

或者使用指令把 ClusterRoleBinding 删除,再部署 DataKit。

kubectl delete clusterrolebindings datakit           
阿裡雲 ACK 接入觀測雲
阿裡雲 ACK 接入觀測雲