監控 Kubernetes 集群
使用本指導教學瞭解如何配置 IBM Cloud® Kubernetes Service 叢集,以將度量值轉遞至 IBM Cloud® Monitoring 服務。 您可以在 IBM Cloud、內部部署及其他雲端中監視叢集。
若要設定群集以轉發指標,您必須在 Kubernetes 群集中的每個工作節點上安裝監控代理程式,方法是使用 DaemonSet. 監控代理使用存取金鑰 (令牌) 與 IBM Cloud Monitoring 實體進行驗證。 監控代理作為資料收集器。 它會自動收集度量值,例如工作者節點 CPU 和工作者節點記憶體 用量、進出容器的 HTTP 資料流量 以及幾個基礎架構元件的相關資料。 此外,代理程式還可以使用 Prometheus 相容提取器或 StatsD Facade,來收集自訂應用程式度量值。
例如,若要設定 Kubernetes 群集將度量指標轉發至 IBM Cloud Monitoring 範例,您可以使用 Helm 部署代理程式:
Monitoring 代理程式會針對每個主機自動收集下列類型的系統度量值:
-
System hosts metrics提供 CPU、記憶體及儲存體用量度量值的相關資訊,可用來分析所有處理程序的效能及資源使用率。 -
File and File System metrics提供檔案及檔案系統的相關資訊,可用來分析系統中發生的檔案互動。 例如,您可以尋找開啟檔案、輸入及輸出位元組的相關資訊,或給定檔案系統的使用百分比。 -
Process metrics提供在伺服器中執行之處理程序的相關資訊。 例如,您可以使用這些度量來探索處理程序數目,或取得用戶端或伺服器資訊。 -
Network metrics提供網路的相關資訊。 它們可讓您深入瞭解在應用程式、儲存器及伺服器之間建立的連線。 例如,您可以找到正在傳送或接收的位元組,或 HTTP 請求、連線和延遲的資訊。 此外,對於 SQL 或 MongoDB,,代理程式會在設定為疑難排解模式時收集額外資訊。
Monitoring 代理程式會針對每個 Kubernetes 叢集自動收集下列類型的度量值:
-
State metrics:Kube 狀態度量會報告在 Kubernetes 元件內執行之各種物件 (例如部署、節點及 Pod) 的性能及狀態。 若要查看依預設收集的度量值清單,請參閱 Kubernetes 狀態。 -
Resource usage metrics: 資源使用度量值報告在叢集裡執行之工作者節點 (節點) 及 Pod 的 CPU 及記憶體性能及狀態。 可依命名空間、按工作執行緒、按 Pod、按工作負載物件(例如部署、daemonSets,分析資料。
如需所收集度量值的清單,請參閱 編排環境的可用度量值。
透過 Monitoring 使用者介面,您可以在 顧問 標籤、探索 標籤及 儀表板 標籤中分析資料。 您可以透過度量值視圖和儀表板來監視資料。
監控資料時,請考慮下列資訊:
-
在 瀏覽器 標籤中,您可以監視個別度量值。
-
在 Advisor 標籤中,您可以監視 Kubernetes 或主機層次度量值。
此標籤僅適用於屬於有權監視 Kubernetes 或主機層次度量之團隊的使用者。
-
在 儀表板 標籤中,您可以透過畫面預先定義的儀表板或自訂儀表板來監視,並取得網路資料、應用程式資料、拓蹼、服務、主機及儲存器的特殊化見解。 畫面會在儀表板中顯示度量值或度量值群組。
對於每一個度量值視圖及儀表板,您可以定義資料的範圍、如何聚集資料,以及要套用至資料的時間和群組過濾器。 如需相關資訊,請參閱 管理畫面。
您可以設定儀表板作為團隊的預設入口點,統一團隊的體驗,並讓使用者立即將注意力集中在與他們最相關的資訊上。
如需相關資訊,請參閱 檢視度量值。
目標
在本指導教學中,您將配置 IBM Cloud® Kubernetes Service 叢集的度量值。 尤其是:
- 佈建 IBM Cloud Monitoring 實例。
- 設定群集中的監控代理,以傳送指標。
- 使用監控 UI 分析您的群集指標。
開始之前
-
具有身為成員或是 IBM Cloud 帳戶擁有者的使用者 ID。 若要取得 IBM Cloud 使用者 ID,請跳至: 登錄。
-
取得 Kubernetes 監視代理程式映像檔 的相關資訊。
-
-
IBM Cloud CLI (
ibmcloud) -
IBM Cloud Kubernetes Service 外掛程式 (
ibmcloud ks) -
IBM Cloud Container Registry 外掛程式 (
ibmcloud cr) -
IBM Cloud Kubernetes Service 觀察外掛程式 (
ibmcloud ob)
-
-
確保
kubectl版本與叢集版本相容。 如果kubectl版本不相容,您可能會收到kubectl create clusterrolebinding failed!之類的錯誤。 您可以使用kubectl version --short來檢查叢集及kubectl用戶端的版本。 -
建立叢集或使用現有的 IBM Cloud Kubernetes Service 叢集。
-
確保您的使用者 ID 指派有下列 IBM Cloud® Identity and Access Management 原則:
| 資源 | 存取原則的範圍 | 角色 | 地區 | 資訊 |
|---|---|---|---|---|
| 資源群組 default | 資源群組 | 檢視者 | us-south | 需要此原則,以容許使用者查看 Default 資源群組中的服務實例。 |
| IBM Cloud Monitoring 服務 | 資源群組 | 編輯者 | us-south | 要容許使用者在 Default 資源群組中佈建和管理 IBM Cloud Monitoring 服務,此原則是為必要。 |
| Kubernetes 叢集實例 | 資源 | 編輯者 | us-south | 在 Kubernetes 群集中配置秘密和監控代理需要使用此策略。 |
如需有關 IBM Cloud® Kubernetes Service IAM 角色的詳細資訊,請參閱 IAM 角色和動作。
佈建 IBM Cloud Monitoring 實例
在本入門指導教學中,提供了在美國南部地區中佈建 IBM Cloud Monitoring 實例的指示。 如需支援的地區的相關資訊,請參閱地區。
若要透過 IBM Cloud Monitoring 使用者介面佈建 IBM Cloud 的實例,請完成下列步驟:
-
在使用您的使用者 ID 和密碼登入之後,IBM Cloud 使用者介面即會開啟。
-
按一下型錄。 即會開啟 IBM Cloud 中可用的服務清單。
-
若要篩選顯示的服務清單,請選擇記錄和監視類別。
-
按一下 IBM Cloud Monitoring 磚。
-
選取位置及服務方案。
依預設,會設定精簡方案。
如需其他服務方案的相關資訊,請參閱定價方案。
-
配置資源。
輸入服務實例的名稱。
選取資源群組。
選擇性地新增標籤。
-
按一下建立。
佈建實例後,觀察 儀表板將開啟並顯示監視實例的詳細資料。
若要透過 CLI 來佈建實例,請參閱透過 IBM Cloud CLI 來佈建實例。
設定您的 Kubernetes 叢集,以將指標傳送至您的實例
若要設定 Kubernetes 叢集將指標傳送至 IBM Cloud Monitoring 範例,您必須在叢集的每個節點上安裝監控代理 pod。 監控代理程式透過 DaemonSet 安裝,可確保每個工作節點上都有一個執行代理程式的實體。 監控代理從安裝它的 pod 收集度量指標,並將資料轉發到您的實例。
為了提供全套的系統指標,監控代理需要擁有特權狀態。
使用 helm 從命令列完成下列步驟以部署代理:
-
開啟終端機。 然後,登入 IBM Cloud。 執行下列指令,並遵循下列提示:
ibmcloud login -a cloud.ibm.com選取叢集可用的帳戶。
-
設定叢集環境。 執行下列指令:
首先,使用指令來設定環境變數,並下載 Kubernetes 配置檔。
ibmcloud ks cluster config --cluster <cluster_name_or_ID>配置檔下載完成之後,會顯示一個指令,可讓您用來將本端 Kubernetes 配置檔的路徑設定為環境變數。 複製並貼上終端機中顯示的指令,以設定
KUBECONFIG環境變數。每次登入到 IBM Cloud® Kubernetes Service CLI 來使用叢集時,必須執行這些指令以將叢集配置檔的路徑設定為階段作業變數。 Kubernetes CLI 會使用此變數來尋找與 IBM Cloud 中的叢集連接所需的本端配置檔及憑證。
-
取得存取金鑰。 如需相關資訊,請參閱透過 IBM Cloud 使用者介面取得存取金鑰。
-
從 收集器端點 取得攝取 URL。
-
部署監視代理程式。 如需瞭解所有步驟,請參閱 使用 HELM 圖表管理 Kubernetes 集群中的 Monitoring 代理。
-
確認監控代理是否已成功建立及其狀態。 執行下列指令:
kubectl get pods -n ibm-observe當您看到一個以上
sysdig-agentpod 時,表示部署順利完成。sysdig-agentPod 的數目與叢集裡工作者節點的數目相同。 所有 Pod 都必須處於Running狀況。
啟動監視使用者介面
若要透過 IBM Cloud 主控台啟動監控 UI,請完成下列步驟。
-
使用您的使用者 ID 和密碼登入之後,即會開啟 IBM Cloud 儀表板。
-
從功能表
中,選取 觀察。
-
選取監視。 即會顯示 IBM Cloud 上可用的實例清單。
-
尋找您的實例,然後按一下 開啟儀表板。 Web 使用者介面即會開啟。
當監視代理程式起始收集並處理資訊時,可能需要一些時間才能看到叢集項目。
每個瀏覽器只能監視一個實例。 相同實例可以有多個標籤。
監視叢集
在 Advisor 標籤中,您可以監視主機及 Kubernetes 叢集的性能、風險及容量,並對其進行疑難排解。
- 每 10 分鐘重新整理一次資料。
- 度量值依事件計數和嚴重性設定優先順序。
- 如需相關資訊,請參閱 顧問。
在 Advisor 區段中,您可以選擇依叢集、節點、名稱空間或工作量來監視 Kubernetes 叢集。 每一個選項都提供一組預先定義的儀表板,可用來監視資源的性能。 您也可以選取依主機監視。
依叢集監視 Kubernetes 叢集
當您選擇依叢集監視 Kubernetes 叢集時,可以選取更多過濾器以依節點或名稱空間顯示資料,也可以選擇下列任何儀表板:
- 工作量狀態與效能
- Node 狀態與效能
- Pod 正確調整大小及工作量容量最佳化
- 叢集產能規劃
- 叢集/名稱空間可用資源
- 叢集概觀
- CPU 配置最佳化
- 記憶體配置最佳化
如需如何解譯此視圖的相關資訊,請參閱 關於叢集概觀。
依節點監視 Kubernetes 叢集
當您選擇依節點監視 Kubernetes 叢集時,可以選擇下列任何儀表板:
- Node 狀態與效能
- Pod 排程疑難排解
- Node 概觀
- CPU 配置最佳化
- 記憶體配置最佳化
如需如何解譯此視圖的相關資訊,請參閱 關於節點概觀。
依名稱空間監視 Kubernetes 叢集
當您選擇依名稱空間監視 Kubernetes 叢集時,可以選取更多過濾器以依工作量顯示資料,也可以選擇下列任何儀表板:
- 工作量狀態與效能
- Pod 狀態與效能
- Pod 正確調整大小及工作量容量最佳化
- 名稱空間概觀
- 工作量 CPU 使用率及配置
- 工作量記憶體用量及配置
如需如何解譯此視圖的相關資訊,請參閱 關於名稱空間概觀。
依工作負載監視 Kubernetes 叢集
當您選擇依工作負載監視 Kubernetes 叢集時,可以選擇下列任何儀表板:
- 儲存器資源使用與疑難排解
- Pod 狀態與效能
- Pod 正確調整大小及工作量容量最佳化
- 工作量狀態與效能
- 部署概觀
- Pod 概觀
- 工作量 CPU 使用率及配置
- 工作量記憶體用量及配置
如需如何解譯此視圖的相關資訊,請參閱 關於工作量概觀。
下一步
-
建立自訂儀表板。 如需相關資訊,請參閱使用儀表板。
-
瞭解警示。 如需相關資訊,請參閱使用警示。
-
瞭解如何從叢集管理日誌。 請參閱 開始使用 IBM Cloud Logs。
-
瞭解 IBM Cloud Monitoring Workload Protection 功能,以尋找軟體漏洞並設定優先順序、偵測及回應威脅,以及管理從來源到執行的配置、許可權及相符性。 請參閱 開始使用 IBM Cloud® Security and Compliance Center Workload Protection。