註冊叢集接入阿里雲Prometheus能為分布在各處的Kubernetes叢集提供統一的管理方式。本文介紹如何將阿里雲Prometheus接入至註冊叢集中。
前提條件
已通過Container ServiceKubernetes版接入一個註冊的Kubernetes叢集。具體操作,請參見通過控制台建立註冊叢集、通過onectl建立註冊叢集。
已通過kubectl串連註冊叢集。具體操作,請參見擷取叢集KubeConfig並通過kubectl工具串連叢集。
對已通過專線方式與雲上VPC互連的註冊叢集,已配置指向Promethus內網網段的路由。更多資訊,請參見Prometheus內網網域名稱與路由網段對照表。
步驟一:為ack-arms-prometheus組件配置RAM許可權
通過onectl配置
在本地安裝配置onectl。具體操作,請參見通過onectl管理註冊叢集。
執行以下命令,為ack-arms-prometheus組件配置RAM許可權。
onectl ram-user grant --addon arms-prometheus
預期輸出:
Ram policy ack-one-registered-cluster-policy-arms-prometheus granted to ram user ack-one-user-ce313528c3 successfully.
通過控制台配置
如果您使用公網接入註冊叢集,在註冊叢集中安裝組件前,您需要在接入叢集中設定AccessKey用來訪問雲端服務的許可權。如果您是使用內網接入註冊叢集,配置AccessKey步驟可跳過。
執行以下命令,查看叢集是否使用內網接入註冊叢集。
kubectl -n kube-system get deploy ack-cluster-agent -o=jsonpath='{.spec.template.spec.containers[0].env[?(@.name=="INTERNAL_ENDPOINT")].value}'
若輸出為
true
:表示使用內網接入。若輸出為
false
:表示使用公網接入。您需要按照以下方式配置AccessKey。
步驟二:安裝ack-arms-prometheus組件
通過onectl安裝
執行以下命令,安裝ack-arms-prometheus組件。
onectl addon install arms-prometheus
預期輸出:
Addon arms-prometheus, version **** installed.
通過控制台安裝
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面中,單擊目的地組群名稱,然後在左側導覽列中,選擇 。
若Helm頁面存在arms-prometheus和arms-prom安裝記錄,請刪除對應的安裝記錄後,再按照後續操作重新接入。
在叢集管理頁左側導覽列,選擇 。
在組件管理頁面,單擊日誌與監控頁簽。
找到ack-arms-prometheus卡片,單擊右下角的安裝。然後單擊確定。
安裝完成後,您可登入Prometheus控制台。進入對應叢集執行個體,查看監控資料和定義警示規則。更多資訊,請參見阿里雲Prometheus監控和建立Prometheus監控警示。
如何切換ack-arms-prometheus組件採集CAdvisor 10250連接埠資料
ack-arms-promethues組件預設採集CAdvisor 10255連接埠資料,如果您的註冊叢集只開啟了kubelet 10250連接埠,可以按照以下步驟切換ack-arms-promethues組件的採集連接埠。
使用以下YAML內容,在註冊叢集中部署配置ServiceMonitor。
等待大約需要15s~1 min後,進行採集資料驗證。
驗證切換連接埠後的採集資料。
登入ARMS控制台。
在左側導覽列選擇 ,進入可觀測監控 Prometheus 版的執行個體列表頁面。
在Prometheus監控頁面的頂部功能表列,選擇叢集所在的地區。
在執行個體列表頁面,單擊目標執行個體名稱進入整合中心頁面,然後在左側導覽列單擊服務發現,單擊Targets頁簽。
查看是否已存在arms-prom/arms-prom-cadvisor-10250採集任務,且採集任務狀態是否正常。