監控 Kubernetes 集群

使用本指導教學瞭解如何配置 IBM Cloud® Kubernetes Service 叢集,以將度量值轉遞至 IBM Cloud® Monitoring 服務。 您可以在 IBM Cloud、內部部署及其他雲端中監視叢集。

若要設定群集以轉發指標,您必須在 Kubernetes 群集中的每個工作節點上安裝監控代理程式,方法是使用 DaemonSet. 監控代理使用存取金鑰 (令牌) 與 IBM Cloud Monitoring 實體進行驗證。 監控代理作為資料收集器。 它會自動收集度量值,例如工作者節點 CPU工作者節點記憶體 用量、進出容器的 HTTP 資料流量 以及幾個基礎架構元件的相關資料。 此外,代理程式還可以使用 Prometheus 相容提取器或 StatsD Facade,來收集自訂應用程式度量值。

IBM Cloud上的元件概述
IBM Cloud上的元件概述

例如,若要設定 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 分析您的群集指標。

開始之前

  • 請參閱 Monitoring

  • 具有身為成員或是 IBM Cloud 帳戶擁有者的使用者 ID。 若要取得 IBM Cloud 使用者 ID,請跳至: 登錄

  • 取得 Kubernetes 監視代理程式映像檔 的相關資訊。

  • 檢查 Kubernetes 資源需求

  • 安裝 IBM Cloud CLI 和外掛程式:

    • IBM Cloud CLI (ibmcloud)

    • IBM Cloud Kubernetes Service 外掛程式 (ibmcloud ks)

    • IBM Cloud Container Registry 外掛程式 (ibmcloud cr)

    • IBM Cloud Kubernetes Service 觀察外掛程式 (ibmcloud ob)

  • 安裝 Kubernetes CLI(kubectl)

    確保 kubectl 版本與叢集版本相容。 如果 kubectl 版本不相容,您可能會收到 kubectl create clusterrolebinding failed! 之類的錯誤。 您可以使用 kubectl version --short 來檢查叢集及 kubectl 用戶端的版本。

  • 建立叢集或使用現有的 IBM Cloud Kubernetes Service 叢集。

  • 確保您的使用者 ID 指派有下列 IBM Cloud® Identity and Access Management 原則:

完成本教程所需的 IAM 策略列表
資源 存取原則的範圍 角色 地區 資訊
資源群組 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 的實例,請完成下列步驟:

  1. 登入 IBM Cloud 帳戶

    在使用您的使用者 ID 和密碼登入之後,IBM Cloud 使用者介面即會開啟。

  2. 按一下型錄。 即會開啟 IBM Cloud 中可用的服務清單。

  3. 若要篩選顯示的服務清單,請選擇記錄和監視類別。

  4. 按一下 IBM Cloud Monitoring 磚。

  5. 選取位置及服務方案。

    依預設,會設定精簡方案。

    如需其他服務方案的相關資訊,請參閱定價方案

  6. 配置資源。

    輸入服務實例的名稱。

    選取資源群組。

    選擇性地新增標籤。

  7. 按一下建立

    佈建實例後,觀察 儀表板將開啟並顯示監視實例的詳細資料。

若要透過 CLI 來佈建實例,請參閱透過 IBM Cloud CLI 來佈建實例

設定您的 Kubernetes 叢集,以將指標傳送至您的實例

若要設定 Kubernetes 叢集將指標傳送至 IBM Cloud Monitoring 範例,您必須在叢集的每個節點上安裝監控代理 pod。 監控代理程式透過 DaemonSet 安裝,可確保每個工作節點上都有一個執行代理程式的實體。 監控代理從安裝它的 pod 收集度量指標,並將資料轉發到您的實例。

為了提供全套的系統指標,監控代理需要擁有特權狀態。

使用 helm 從命令列完成下列步驟以部署代理:

  1. 開啟終端機。 然後,登入 IBM Cloud。 執行下列指令,並遵循下列提示:

    ibmcloud login -a cloud.ibm.com
    

    選取叢集可用的帳戶。

  2. 設定叢集環境。 執行下列指令:

    首先,使用指令來設定環境變數,並下載 Kubernetes 配置檔。

    ibmcloud ks cluster config --cluster <cluster_name_or_ID>
    

    配置檔下載完成之後,會顯示一個指令,可讓您用來將本端 Kubernetes 配置檔的路徑設定為環境變數。 複製並貼上終端機中顯示的指令,以設定 KUBECONFIG 環境變數。

    每次登入到 IBM Cloud® Kubernetes Service CLI 來使用叢集時,必須執行這些指令以將叢集配置檔的路徑設定為階段作業變數。 Kubernetes CLI 會使用此變數來尋找與 IBM Cloud 中的叢集連接所需的本端配置檔及憑證。

  3. 取得存取金鑰。 如需相關資訊,請參閱透過 IBM Cloud 使用者介面取得存取金鑰

  4. 收集器端點 取得攝取 URL。

  5. 部署監視代理程式。 如需瞭解所有步驟,請參閱 使用 HELM 圖表管理 Kubernetes 集群中的 Monitoring 代理。

  6. 確認監控代理是否已成功建立及其狀態。 執行下列指令:

    kubectl get pods -n ibm-observe
    

    當您看到一個以上 sysdig-agent pod 時,表示部署順利完成。 sysdig-agent Pod 的數目與叢集裡工作者節點的數目相同。 所有 Pod 都必須處於 Running 狀況。

啟動監視使用者介面

若要透過 IBM Cloud 主控台啟動監控 UI,請完成下列步驟。

  1. 登入 IBM Cloud 帳戶

    使用您的使用者 ID 和密碼登入之後,即會開啟 IBM Cloud 儀表板。

  2. 從功能表 功能表圖示 中,選取 觀察

  3. 選取監視。 即會顯示 IBM Cloud 上可用的實例清單。

  4. 尋找您的實例,然後按一下 開啟儀表板。 Web 使用者介面即會開啟。

當監視代理程式起始收集並處理資訊時,可能需要一些時間才能看到叢集項目。

每個瀏覽器只能監視一個實例。 相同實例可以有多個標籤。

監視叢集

Advisor 標籤中,您可以監視主機及 Kubernetes 叢集的性能、風險及容量,並對其進行疑難排解。

「顧問」標籤
「顧問」標籤

  • 每 10 分鐘重新整理一次資料。
  • 度量值依事件計數和嚴重性設定優先順序。
  • 如需相關資訊,請參閱 顧問

Advisor 區段中,您可以選擇依叢集、節點、名稱空間或工作量來監視 Kubernetes 叢集。 每一個選項都提供一組預先定義的儀表板,可用來監視資源的性能。 您也可以選取依主機監視。

依叢集監視 Kubernetes 叢集

當您選擇依叢集監視 Kubernetes 叢集時,可以選取更多過濾器以依節點或名稱空間顯示資料,也可以選擇下列任何儀表板:

  • 工作量狀態與效能
  • Node 狀態與效能
  • Pod 正確調整大小及工作量容量最佳化
  • 叢集產能規劃
  • 叢集/名稱空間可用資源
  • 叢集概觀
  • CPU 配置最佳化
  • 記憶體配置最佳化

依叢集列出的 Advisor 預先定義儀表板
依叢集列出的 Advisor 預先定義儀表板

如需如何解譯此視圖的相關資訊,請參閱 關於叢集概觀

依節點監視 Kubernetes 叢集

當您選擇依節點監視 Kubernetes 叢集時,可以選擇下列任何儀表板:

  • Node 狀態與效能
  • Pod 排程疑難排解
  • Node 概觀
  • CPU 配置最佳化
  • 記憶體配置最佳化

如需如何解譯此視圖的相關資訊,請參閱 關於節點概觀

依名稱空間監視 Kubernetes 叢集

當您選擇依名稱空間監視 Kubernetes 叢集時,可以選取更多過濾器以依工作量顯示資料,也可以選擇下列任何儀表板:

  • 工作量狀態與效能
  • Pod 狀態與效能
  • Pod 正確調整大小及工作量容量最佳化
  • 名稱空間概觀
  • 工作量 CPU 使用率及配置
  • 工作量記憶體用量及配置

如需如何解譯此視圖的相關資訊,請參閱 關於名稱空間概觀

依工作負載監視 Kubernetes 叢集

當您選擇依工作負載監視 Kubernetes 叢集時,可以選擇下列任何儀表板:

  • 儲存器資源使用與疑難排解
  • Pod 狀態與效能
  • Pod 正確調整大小及工作量容量最佳化
  • 工作量狀態與效能
  • 部署概觀
  • Pod 概觀
  • 工作量 CPU 使用率及配置
  • 工作量記憶體用量及配置

如需如何解譯此視圖的相關資訊,請參閱 關於工作量概觀

下一步