全部產品
Search
文件中心

Container Service for Kubernetes:成本洞察功能說明

更新時間:Sep 19, 2024

您可以通過ACK成本洞察功能查看叢集、命名空間、節點池和應用等成本可視化大盤。本文介紹如何查看叢集洞察分析及成本可視化大盤。

前提條件

注意事項

  • 在開啟成本洞察功能後第二天08: 00自動顯示賬單資料。

  • 選擇右上方下拉式功能表,可查看不同時間範圍的叢集成本可視化大盤資料。

操作入口

  1. 登入Container Service管理主控台,在左側導覽列選擇叢集

  2. 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇成本套件 > 成本洞察

  3. 成本洞察頁面,單擊不同頁簽,查看成本可視化大盤。

叢集維度成本分析

篩選維度

image.png

功能

序號

描述

叢集成本統計選項

叢集成本統計指標選項,包含優惠後實際賬單成本和原價賬單成本統計:

  • 優惠後實際賬單成本:大盤預設選項。成本統計時,統計叢集中所有雲資源的應付金額。

  • 原價賬單成本統計:成本統計時,統計叢集中所有雲資源的官網價。

關於應付金額和官網價的詳細介紹,請參見明細賬單

說明

叢集中應用部分成本統計只會按原價賬單成本進行統計,包括Namespace、Pod等應用維度成本統計。

成本分攤模型選項

成本分攤模型選項,包含單資源模型和權重混合資源模型,具體分為如下幾類。

  • CPU模型:大盤預設選項。使用CPU資源請求量估算Pod成本。

  • 記憶體模型:使用記憶體資源請求量估算Pod成本。

  • CPU-記憶體混合模型(推薦權重):對CPU指標和記憶體指標加權估算Pod成本,使用系統推薦權重。

  • CPU-記憶體混合模型(自訂權重):對CPU指標和記憶體指標加權估算Pod成本。使用此分攤模型,您需要先選擇分攤模型為CPU-記憶體混合模型(自訂權重),再編輯CPU權重設定

關於成本分攤模型選擇的詳細介紹,請參見成本估算策略介紹

時間範圍

選擇大盤時間範圍,預設為最近7天。您可以設定該項查看不同時間範圍的成本、資源趨勢。

叢集成本概覽

image

功能

序號

描述

查看成本分攤模型

這裡的展示的資料結果與您選擇的成本分攤模型選項有關。大盤預設CPU模型選項,使用CPU資源請求量估算Pod成本。

通過昨日、本周、本月花費統計對叢集成本概要分析

成本費用統計,其中昨日叢集花費、花費日環比、本周累計花費和本月累計花費為本叢集的雲資源的賬單成本統計。

本周累計、本月累計花費分別為自然周、自然月的賬單花費統計。由於賬單出賬周期存在T+1延遲,周一將不顯示本周累計花費資料,每月第一日也將不顯示本月累計花費的統計值。

花費日環比為昨日叢集成本與前一天之間的環比:

  • 當相對昨日費用的變化比率的字型顏色為綠色時,表示相比前一日成本有所降低。

  • 當相對昨日費用的變化比率的字型顏色為紅色時,表示相比前一日成本有所增長。

通過成本趨勢判斷叢集成本、資源浪費概要情況

叢集花費和叢集容量趨勢圖,黃色曲線表示成本消費,藍色曲線表示實際的叢集容量。通常情況下,兩條曲線會存在一定的相關性。

對比兩者相關性,如果發現兩者呈現趨勢不一致,表明叢集的單位核成本異常。請檢查是否有資源花費過高。

以命名空間維度查看即時成本估算和費用分攤

④⑤

④為叢集內各命名空間的即時估算成本,命名空間成本是其中所有Pod估算成本之和,⑤為各命名空間的費用分攤值,是命名空間按估算比例對叢集實際費用的分攤。

說明
  • 命名空間的成本統計按原價賬單成本計算。

  • 命名空間下的Pod若未配置Resource Request (CPU),則視為未申明叢集資源需求量,不參與命名空間成本統計計算。

在一個叢集中,可能存在各種不同規格、不同付費方式的節點類型。當您通過命名空間進行分賬時,不能僅通過每個命名空間的資源申請值進行判斷,還需要考慮命名空間下Pod所在節點的情況。

成本洞察將每個節點的即時費用進行了轉換。在統計命名空間維度費用時,轉換為:

Σ(Pod資源申請/節點容量)*節點單價

這種方式可以精確估算命名空間的成本費用。使用者折扣、代金券抵扣、訂用帳戶等各種延遲計費策略可能會導致命名空間的成本費用和叢集的實際賬單費用不一致。但您可以通過命名空間的成本佔比乘以叢集總費用的方式獲得命名空間層級的分賬。

穩定性&效率分析

image

功能

序號

描述

查看叢集總資源用量

展示叢集中各種QoS的Pod數量以及總資源用量。

查看叢集Pod資源使用率

提供叢集所有Pod的基礎資訊和資源使用率(Usage/Request),同時支援過濾和排序。您可以通過該功能批量查看叢集中資源水位最高或最低的工作負載。

查看叢集Burstable Pod的資源配置情況

查看QoS類為Burstable Pod的資源配置情況,同時支援過濾和排序。您可以通過該功能查看每個Burstable Pod的CPU、記憶體等資源的請求(Request)和限制(Limit)情況,便於您瞭解Pod所消耗的叢集資源並識別潛在的資源瓶頸。

查看叢集中BestEffort Pod的資源使用量

查看QoS類為BestEffort Pod的資源配置情況,這類Pod一般具有較高穩定性風險,您可以通過過濾和排序列表,來檢查是否有預期外的BestEffort Pod,以便及時處理來規避風險。

關於穩定性&效率分析功能的更多資訊,請參見使用成本洞察識別叢集資源風險

叢集費用分析

image

功能

序號

描述

通過雲產品費用趨勢與比例分析雲產品成本

①②

③為叢集中各雲產品的成本花費佔比統計,④為叢集中各雲產品的成本花費趨勢統計。

一個叢集中會包含多種雲產品,不同雲產品的使用方式、計費模型不同,會導致雲產品產生的費用存在差異。您可以通過成本趨勢和組合查看不同的雲產品消費情況,從而進行成本決策。

通過叢集總成本趨勢分析叢集成本

每日叢集的總費用成本趨勢統計。

通過節點池成本費用趨勢分析叢集成本

叢集中各節點池或虛擬節點(Virtual Node)的節點賬單成本分析。

以命名空間維度查看即時成本估算趨勢

在一個叢集中,可能存在各種不同規格、不同付費方式的節點類型。當您通過命名空間進行分賬時,不能僅通過每個命名空間的資源申請值進行判斷,還需要考慮命名空間下Pod所在節點的情況。

成本洞察將每個節點的即時費用進行了轉換。在統計命名空間維度費用時,轉換為:

Σ(Pod資源申請/節點容量)*節點單價

這種方式可以精確估算命名空間的成本費用。使用者折扣、代金券抵扣、訂用帳戶等各種延遲計費策略可能會導致命名空間的成本費用和叢集的實際賬單費用不一致。但您可以通過命名空間的成本佔比乘以叢集總費用的方式獲得命名空間層級的分賬。

叢集的計算資源請求、使用率趨勢

使用情境:

  • 用於分析叢集中的水位、容量是否存在資源浪費的情況。

  • 當出現彈性等情境時,叢集水位會產生周期性波動,此圖表可供您規劃資源容量。

趨勢圖含義:

  • Y軸:整體叢集的計算資源總容量(Capacity),代表整體叢集能承載的應用資源數。

  • 綠色柱狀圖:當前小時叢集中所有被分配(Request)的計算資源需求數。

  • 黃色柱狀圖:當前小時叢集中真實Pod容器中進程使用的計算資源(Usage),即應用真實使用資源。

應用已指派且未使用資源=綠色柱狀圖-黃色柱狀圖

叢集剩餘資源可分配量=Y軸-綠色柱狀圖

分析流程:

  • 未分配資源浪費:您可以參考叢集剩餘資源可分配量,使用叢集中未被分配使用的浪費資源。通過調整叢集中Pod的資源需求量(Request),或適當降配。推薦保持剩餘資源可分配量為總叢集資源的20%左右。

  • 已指派未使用資源浪費:您可以參考叢集已指派未使用部分資源量,配合命名空間大盤中浪費應用、Pod的排名,找到分配資源量過大但實際使用資源量較小的應用,對資源分派量(Request)進行降配。

  • 彈性擴縮情境:業務呈現周期波動等常見情境下,可參考柱狀圖的波動水位進行資源容量規劃,並配置合適的彈性策略。

叢集計費詳細資料

⑦⑧

雲產品維度、雲產品執行個體維度叢集每日賬單列表。

命名空間維度成本分析

命名空間大盤能夠通過命名空間篩選、展示各命名空間的資源和成本資訊。命名空間常對應於公司的部門或團隊。

篩選維度

image.png

功能

序號

描述

命名空間

選擇分析的叢集的命名空間,預設為ALL,即整個叢集。

成本分攤模型選項

成本分攤模型選項,包含單資源模型和權重混合資源模型,具體分為如下幾類。

  • CPU模型:大盤預設選項。使用CPU資源請求量估算Pod成本

  • 記憶體模型:使用記憶體資源請求量估算Pod成本。

  • CPU-記憶體混合模型(推薦權重):對CPU指標和記憶體指標加權估算Pod成本,使用系統推薦權重。

  • CPU-記憶體混合模型(自訂權重):對CPU指標和記憶體指標加權估算Pod成本。使用此分攤模型,您需要先選擇分攤模型為CPU-記憶體混合模型(自訂權重),再編輯CPU權重設定

關於成本分攤模型選擇的詳細介紹,請參見成本估算策略介紹

命名空間成本統計選項

叢集成本統計指標選項,包含優惠後實際賬單成本和原價賬單成本統計:

  • 優惠後實際賬單成本:大盤預設選項。成本統計時,統計叢集中所有雲資源的應付金額。

  • 原價賬單成本統計:成本統計時,統計叢集中所有雲資源的官網價。

關於應付金額和官網價的詳細介紹,請參見明細賬單

時間範圍

選擇大盤時間範圍,預設為最近7天。您可以設定該項查看不同時間範圍的成本、資源趨勢。

費用概覽

image.png

功能

序號

描述

命名空間的資源統計、成本估算和費用分攤

您可以通過CPU、記憶體指標判斷命名空間資源浪費情況。指標含義如下:

  • CPU資源

    • CPU資源使用量:當前該命名空間真實消耗的CPU核心數。

    • CPU資源請求量:當前該命名空間已被分配的CPU核心數。

    • CPU資源總容量:叢集總CPU核心數。

    • CPU資源使用率:當前該命名空間的CPU使用量占請求量的比例。

  • 記憶體資源:

    • 記憶體資源使用量:當前該命名空間真實消耗的記憶體量。

    • 記憶體資源請求量:當前該命名空間已被分配的記憶體量。

    • 記憶體資源總容量:叢集總記憶體量。

    • 記憶體資源使用率:當前該命名空間的記憶體使用量量占請求量的比例。

  • GPU資源:

    • GPU顯存資源使用量:當前該命名空間真實消耗的GPU顯存量。

    • GPU顯存資源分派量:當前該命名空間已被分配的GPU顯存量。

    • GPU顯存資源總容量:叢集總GPU顯存量。

    • GPU顯存資源使用率:當前該命名空間的GPU顯存使用量佔分配量的比例。

命名空間下應用的成本統計。

  • 命名空間即時成本估算:命名空間的即時估算成本,是命名空間內所有Pod估算成本之和。

  • 命名空間費用分攤:命名空間的費用分攤值,是命名空間按估算比例對叢集實際費用的分攤。

成本明細及趨勢

image.png

功能

序號

描述

每核每小時的單價

Pod所在的節點的CPU每核每小時的單價趨勢統計。

CPU/記憶體資源使用率趨勢

命名空間下CPU和記憶體資源使用率趨勢統計。

資源請求量和使用趨勢

資源分派情況和真實消耗情況的趨勢,藍色曲線表示已指派的資源,紅色曲線表示真實消耗的資源。

Pod調度時,節點會為Pod預分配一定的資源,但容器進程真實消耗的資源通常與預分配資源不一致。③能反映出二者間的關係,從而供您進行浪費資源的最佳化。

命名空間應用成本趨勢

命名空間下應用成本趨勢統計。

總花費成本為命名空間在該時間範圍內按原價賬單成本統計的成本花費。

該命名空間花費佔叢集總花費的百分比,表示選中的命名空間佔總叢集成本的花費比例。

image.png

功能

序號

描述

Pod資源請求量排行

統計分析叢集中Pod資源請求量大的應用,用於容量規劃等情境。

Pod資源使用率排行

查看資源使用率低的Pod應用副本,供您查看閑置應用。

Pod資源閑置排行

資源閑置率為Pod未被使用的計算資源占已指派資源的比重,能夠反映Pod的資源浪費情況。

通過分析命名空間中資源浪費最多的Pod,您可以直觀找到造成命名空間資源浪費的主要應用,從而分析浪費原因,針對性地設計資源最佳化策略。

節點池維度成本分析

節點池大盤提供了叢集資源維度成本洞察,能夠為您提供節點池資源流量分析和付費策略的選擇。

節點池側重資源的維度,站在不同節點池的視角進行資源成本的規劃與治理。例如GPU節點池這類資源可能分屬多個部門,難以通過命名空間維度分析成本,而通過節點池可以直接從資源維度設定策略,進行成本最佳化。

篩選維度

image.png

功能

序號

描述

節點池成本統計選項

叢集成本統計指標選項,包含優惠後實際賬單成本和原價賬單成本統計:

  • 優惠後實際賬單成本:大盤預設選項。成本統計時,統計叢集中所有雲資源的應付金額。

  • 原價賬單成本統計:成本統計時,統計叢集中所有雲資源的官網價。

關於應付金額和官網價的詳細介紹,請參見明細賬單

節點池

選擇分析的叢集的節點池,預設為All,即所有節點池。

時間範圍

選擇大盤時間範圍,預設為最近7天。您可以設定該項查看不同時間範圍的成本、資源趨勢。

費用概覽

image.png

功能

序號

描述

節點池成本費用

  • 當相對昨日費用的變化比率的字型顏色為綠色時,表示相比前一日的成本有所降低。

  • 當相對昨日費用的變化比率的字型顏色為紅色時,表示相比前一日的成本有所增長。

節點每核時單價

一段時間內節點池中節點每核時的單價費用變化的趨勢。

節點成本變化趨勢及佔總叢集費用比例的變化趨勢

③④

節點池中節點的花費成本變化趨勢,以及該節點池節點佔總叢集費用比例的變化趨勢。

付費策略及花費預估

image.png

功能

序號

描述

通過付費策略預測成本節省空間的,協助您最佳化資源群組合和付費策略。

①②④

一段時間內不同付費售賣策略節點執行個體數的佔比分析和變化趨勢,以及節點池節點不同售賣策略節點的費用佔比分析和變化趨勢。支援如下付費售賣策略:

  • PayAsYouGo:隨用隨付。

  • PayByPeriod:訂用帳戶。

  • Spot:搶佔式執行個體。

③⑥

更換節點付費策略成本節省預測性分析,分析當前叢集該節點池中所有節點全部更換為不同付費售賣策略後,可以節省或會帶來的超額成本,協助您最佳化資源群組合和付費策略。

節點池中所有節點費用與付費策略的統計。

應用維度成本分析

應用大盤以Label萬用字元匹配的方式,能夠篩選出您關心的應用進行成本、資源的統計,側重於情境化的成本最佳化,典型情境包括巨量資料業務、AI業務、彈性業務。

通過Label萬用字元匹配的方式,您不僅可以監控單應用的成本和資源用量,還可以對多個有相關性的應用進行監控。例如巨量資料工作流程的情境,可以為流程中的所有應用加上一致性的Label,從而對整個工作流程業務進行成本分析。

篩選維度

image.png

功能

序號

描述

節點池成本統計選項

叢集成本統計指標選項,包含優惠後實際賬單成本和原價賬單成本統計:

  • 優惠後實際賬單成本:大盤預設選項。成本統計時,統計叢集中所有雲資源的應付金額。

  • 原價賬單成本統計:成本統計時,統計叢集中所有雲資源的官網價。

關於應付金額和官網價的詳細介紹,請參見明細賬單

命名空間

選擇分析的叢集的命名空間,預設為All,即所有命名空間。

標籤對篩選

輸入應用Pod的標籤。支援使用=:串連標籤的key和value,例如app=ack-cost-exporterapp:ack-cost-exporter

如果標籤key中包含/.-,需將這些符號轉換為_,並且去掉所有"。例如: "sparkoperator.k8s.io/submission-id":"db08a66a-c0b7-4d32-8013-02ac4f8eff4c"

需要轉換為: sparkoperator_k8s_io_submission_id:db08a66a-c0b7-4d32-8013-02ac4f8eff4c

成本分攤模型選項

成本分攤模型選項,包含單資源模型和權重混合資源模型,具體分為如下幾類。

  • CPU模型:大盤預設選項。使用CPU資源請求量估算Pod成本

  • 記憶體模型:使用記憶體資源請求量估算Pod成本。

  • CPU-記憶體混合模型(推薦權重):對CPU指標和記憶體指標加權估算Pod成本,使用系統推薦權重。

  • CPU-記憶體混合模型(自訂權重):對CPU指標和記憶體指標加權估算Pod成本。使用此分攤模型,您需要先選擇分攤模型為CPU-記憶體混合模型(自訂權重),再編輯CPU權重設定

關於成本分攤模型選擇的詳細介紹,請參見成本估算策略介紹

時間範圍

選擇大盤時間範圍,預設為最近7天。您可以設定該項查看不同時間範圍的成本、資源趨勢。

費用概覽

image.png

image.png

功能

序號

描述

應用花費及計算資源使用率

即時查看應用的成本,對資源使用率進行分析。指標說明如下:

  • 應用花費:當前所選應用在大盤所查詢時間範圍的花費成本,按原價賬單成本統計。

  • 應用當前副本數:統計分析該應用峰穀值的Pod副本數。

  • 計算資源使用率:CPU和記憶體的利用率(Usage / Request)。

  • 所在節點每小時成本:應用所在的每個節點每核時的單價。

  • 應用已耗用時間:按應用的已耗用時間統計。

  • 總消耗的核時資源數:應用總消耗的核時資源數。

  • 應用占整個叢集/命名空間的資源使用率:該應用資源在叢集、命名空間中的資源佔比。

Pod維度業務成本分析

查看應用中包含的各Pod的資源情況和即時估算成本。

應用預估花費及Pod規模趨勢

  • 應用預估花費趨勢:一段時間內應用每小時費用成本、單位核時價格的變化的趨勢。

  • 應用Pod規模趨勢:應用的Pod規模副本數趨勢統計。

CPU、記憶體和GPU請求和使用趨勢

CPU、記憶體、GPU的請求和使用趨勢圖含義:

  • Y軸:整體叢集的計算資源總容量(Capacity),代表整體叢集能承載的應用資源數。

  • 藍色柱狀圖:當前小時叢集中所有被分配(Request)的計算資源需求數。

  • 黃色柱狀圖:當前小時叢集中真實Pod容器中進程使用的計算資源(Usage),即應用真實使用資源。

應用已指派且未使用資源=藍色柱狀圖-黃色柱狀圖

叢集剩餘資源可分配量=Y軸-藍色柱狀圖

分析浪費流程:

  • 未分配資源浪費:您可以參考叢集剩餘資源可分配量,使用叢集中未被分配使用的浪費資源。通過調整叢集中Pod的資源需求量(Request),或適當降配。推薦保持剩餘資源可分配量為總叢集資源的20%左右。

  • 已指派未使用資源浪費:您可以參考叢集已指派未使用部分資源量,配合命名空間大盤中浪費應用、Pod的排名,找到分配資源量過大但實際使用資源量較小的應用,對資源分派量(Request)進行降配。

  • 彈性擴縮情境:在業務呈現周期波動等常見情境中,參考柱狀圖的波動水位規劃資源容量,以及配置合適的彈性策略。

付費策略及Pod用量

image.png

功能

序號

描述

更換節點付費策略成本節省預測性分析

分析當前應用中所有節點全部更換為不同付費售賣策略後,可節省或會帶來的超額成本,協助您最佳化資源群組合和付費策略。

查看應用視角的成本分析

②③

包含應用所在節點付費策略統計,應用所在節點的每小時成本和付費策略統計,用於分析應用中所在節點的不同付費策略分布與趨勢。

應用各Pod的資源、成本閑置排名

通過成本費用分析部門成本消耗情況,協助您識別閑置率高的應用,指標說明如下:

  • Pod資源請求量排名:統計分析叢集中Pod資源請求量大的應用,適用於容量規劃等情境。

  • Pod資源使用率排名:查看資源使用率低的Pod應用副本,協助發現浪費應用。

  • Pod資源閑置排行:Pod未被使用的資源占已指派資源的比重,能夠反映Pod的資源浪費情況。

    通過識別命名空間中資源浪費最多的Pod,您可以直觀看出造成命名空間資源浪費的主要應用,從而分析浪費原因,有針對性地設計資源最佳化策略。

註冊叢集可使用ACK成本洞察分析雲上、雲下IDC節點及應用成本

成本洞察支援註冊叢集中IDC節點以及節點上應用的成本洞察分析能力。成本洞察預設以0.3元/Core*Hour的單價計算註冊叢集中IDC節點以及節點上應用的成本。您可以通過以下方式配置自訂IDC節點的單價。

  • 為所有IDC節點配置統一的價格

    在kube-system命名空間下,通過為ack-cost-exporter的Deployment中配置env環境變數參數DefaultIDCPricePerCPUCoreHour,配置所有IDC節點的統一價格。

    說明

    此處價格為每單位CPU核時(元/Core*Hour)的價格。

    env:
    # 配置每台IDC節點每單位CPU核時價格為0.3元。
    - name: DefaultIDCPricePerCPUCoreHour
      value: "0.3"
  • 為某個節點配置單獨的價格

    在對應節點Node中增加label"node.kubernetes.io/price-per-day”,為該節點單獨配置節點價格。

    說明

    此處價格為此節點一天的總價。

    執行以下命令,為某個節點配置定義每天該節點總價為100元。

    kubectl label nodes <node-name> node.kubernetes.io/price-per-day="100"

常見問題

為什麼開啟成本可視化後沒有資料顯示?

  • 檢查RAM角色授權操作已完成。具體操作,請參見開啟成本分析功能的步驟3。 成本分析需要叢集的監控資料和費用資料,監控資料在開啟後3min內即可開始採集,費用相關的資料需要從叢集開啟成本分析後的第二天08: 00才有資料顯示。

  • 檢查叢集是否配置NAT Gateway。由於部分地區不支援通過內網endpoint查詢賬單,請確認您的叢集具備訪問公網能力。

  • 花費日環比明日預測花費需要連續採集兩天的費用資料後才顯示。

為什麼命名空間的費用相加與實際的費用賬單不相等?

命名空間的費用是通過成本估算來進行核算的,並非直接通過賬單分析得出。因此,在做費用估算的時候,是通過目錄價進行計算的,當叢集的花費包含代金券、折扣、節約計劃等抵扣策略的時候,會出現一定的資料偏差。但是,可以通過命名空間的比例乘以叢集的總費用進行費用的分賬。

為什麼有些節點上的Pod資料無法擷取成本資料?

檢查RAM角色授權操作已完成,並確認授權策略中包含"ecs:DescribeDisks"許可權。具體操作,請參見開啟成本分析功能的步驟3

為什麼賬單中展示的雲產品沒有包括叢集使用的所有雲產品?

成本分析只統計本叢集獨享的雲產品,對於多叢集共用的雲產品,不在成本分析的賬單統計範圍內。

成本洞察功能依賴費用與成本控制台的費用標籤功能,即依賴於雲產品標籤中的特定標識(key:value=ack.aliyun.com:{{叢集ClusterId}})來實現叢集成本的追蹤與統計。如果您在費用標籤頁面關閉了此標籤,那麼叢集層級的成本統計將會失效。為瞭解決成本統計失效問題,您需要重新在費用標籤管理頁面啟用ack.aliyun.comack.alibabacloud.com/nodepool-id標籤。

為什麼本月/本周累計花費比實際低

叢集從成本洞察組件成功開通後才開始統計產生的費用,不會統計組件開通前的資料。