註冊叢集接入事件中心功能可以記錄Kubernetes叢集的狀態變更,包括配置Pod及組件異常等。Kubernetes事件中心功能即時匯聚Kubernetes中的所有事件並提供儲存、查詢、分析、可視化、警示等能力。本文介紹如何通過Container ServiceKubernetes版中的應用將事件中心接入至註冊的Kubernetes叢集。
前提條件
已建立ACK One註冊叢集,並已將本機資料中心自建Kubernetes叢集接入ACK One註冊叢集。具體操作,請參見建立ACK One註冊叢集。
背景資訊
Kubernetes的架構設計基於狀態機器,不同的狀態之間進行轉換會產生相應的事件,正常的狀態之間轉換會產生Normal等級的事件,正常狀態與異常狀態之間的轉換會產生Warning等級的事件。
ACK提供開箱即用的容器情境事件監控方案,通過ACK維護的NPD(node-problem-detector)以及包含在NPD中的kube-eventer提供容器事件監控能力。
NPD(node-problem-detector)是Kubernetes節點診斷的工具,可以將節點的異常,例如Docker Engine Hang、Linux Kernel Hang、網路出網異常、檔案描述符異常轉換為Node的事件,結合kube-eventer可以實現節時間點事件警示的閉環。更多資訊,請參見NPD。
kube-eventer是ACK維護的開源Kubernetes事件離線工具,可以將叢集的事件離線到DingTalk、SLS、EventBridge等系統,並提供不同等級的過濾條件,實現事件的即時採集、定向警示、非同步歸檔。更多資訊,請參見kube-eventer。
步驟一:為事件中心組件配置RAM許可權
通過onectl配置
在本地安裝配置onectl。具體操作,請參見通過onectl管理註冊叢集。
執行以下命令,為事件中心組件配置RAM許可權。
onectl ram-user grant --addon ack-node-problem-detector預期輸出:
Ram policy ack-one-registered-cluster-policy-ack-node-problem-detector granted to ram user ack-one-user-ce313528c3 successfully.
通過控制台配置
在註冊叢集中安裝組件前,您需要在接入叢集中設定AccessKey用來訪問雲端服務的許可權。設定AccessKey前,您需要建立RAM使用者並為其添加訪問相關雲資源的許可權。
可選擇自訂權限原則或AliyunECIFullAccess策略為RAM使用者授權。
為RAM使用者建立AccessKey。
警告建議您參見AccessKey網路訪問限制策略配置網路原則,將AccessKey調用來源控制在可信的網路環境內,提升AccessKey的安全性。
使用AccessKey在註冊叢集中建立名為
alibaba-addon-secret的Secret資源。安裝事件中心相關組件時將自動引用此AccessKey訪問對應的雲端服務資源。
執行以下命令建立事件中心使用的Secret。
kubectl -n kube-system create secret generic alibaba-addon-secret --from-literal='access-key-id=<your AccessKey ID>' --from-literal='access-key-secret=<your AccessKey Secret>'說明<your AccessKey ID>及<your AccessKey Secret>為上一步擷取的AccessKey資訊。
步驟二:安裝事件中心組件
通過onectl安裝
執行以下命令,安裝事件中心組件。
onectl addon install ack-node-problem-detector預期輸出:
Addon ack-node-problem-detector, version xxx installed.通過控制台安裝
登入Container Service管理主控台,在左側導覽列選擇叢集列表。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇。
可選:若提示未安裝組件ack-node-problem-detector,請單擊建立事件中心。
在事件中心頁面,單擊事件總覽(事件中心)頁簽,查看Kubernetes事件中心相關資訊。
您可以查看Kubernetes事件的總覽及詳情、Pod生命週期,還可以進行自訂查詢及警示配置。
執行結果
配置成功後,即可使用事件中心功能。更多資訊,請參見建立並使用K8s事件中心。
將事件中心接入註冊的Kubernetes叢集後,即可使用K8s事件中心,包括查看事件總覽、查詢事件詳情、查看Pod生命週期、配置警示和自訂查詢等操作。