本文介紹如何查看叢集成本洞察及叢集成本洞察的能力。
前提條件
確保Kubernetes叢集的版本為1.18.8及以上,否則請升級叢集。具體操作,請參見手動升級叢集。
已開啟阿里雲Prometheus監控。具體操作,請參見開啟阿里雲Prometheus監控。
開啟成本洞察功能
開啟成本洞察
步驟一:為成本洞察組件配置RAM許可權
通過onectl配置
在本地安裝配置onectl。具體操作,請參見通過onectl管理註冊叢集。
執行以下命令,為成本洞察組件配置RAM許可權。
onectl ram-user grant --addon ack-cost-exporter預期輸出:
Ram policy ack-one-registered-cluster-policy-ack-cost-exporter granted to ram user ack-one-user-ce313528c3 successfully.
通過控制台配置
建立自訂權限原則。ack-cost-exporter組件所需的權限原則內容如下。
為RAM使用者建立AccessKey。
警告建議您參見AccessKey網路訪問限制策略配置網路原則,將AccessKey調用來源控制在可信的網路環境內,提升AccessKey的安全性。
使用AccessKey在註冊叢集中建立名為alibaba-addon-secret的Secret資源。執行以下命令,建立ack-cost-exporter組件使用的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>'
步驟二:安裝ack-cost-exporter組件
通過onectl安裝
執行以下命令,安裝ack-cost-exporter組件。
onectl addon install ack-cost-exporter預期輸出:
Addon ack-cost-exporter, version **** installed.通過控制台安裝
登入Container Service管理主控台,在左側導覽列選擇叢集列表。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇。
若Helm頁面存在ack-cost-exporter安裝記錄,請刪除對應的安裝記錄後,再按照後續操作重新接入。
在叢集管理頁左側導覽列,選擇。
在組件管理頁面,單擊日誌與監控頁簽,找到ack-cost-exporter組件,單擊右下角的安裝。然後單擊確認。
跨帳號開啟成本洞察
在使用帳號A的ACK註冊叢集納管帳號B下的ACK叢集時,需要在帳號B的ACK叢集中授權成本洞察功能,以便該功能可以訪問帳號B的賬單資料。
步驟一:為帳號B配置RAM許可權並安裝組件
登入Container Service管理主控台,在左側導覽列選擇叢集列表。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇。
授予訪問ACK叢集賬單資料的許可權。
ACK託管叢集:系統會自動授予相關許可權。完成授權後,系統會建立AliyunCSManagedCostRole角色,阿里雲Prometheus使用該角色訪問您在費用與成本的賬單資料並進行成本洞察。
您也可以單擊存取控制快速授權連結,在存取控制快速授權頁面,單擊確認授權。
ACK專有叢集:
說明帳號B中ack叢集無需安裝Prometheus,若您已安裝,請先卸載ack-arms-prometheus組件。具體操作,請參見管理組件。
步驟二:為帳號A安裝組件
在註冊叢集所在帳號A中安裝Prometheus。具體操作,請參見將阿里雲Prometheus接入註冊叢集。
在註冊叢集所在的帳號A中,配置ack-cost-exporter組件參數
AckRegisteredClusterId為帳號B中ACK叢集的clusterId。登入Container Service管理主控台,在左側導覽列選擇叢集列表。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇。
若Helm頁面存在ack-cost-exporter安裝記錄,請刪除對應的安裝記錄後,再按照後續操作重新接入。
在叢集管理頁左側導覽列,選擇。
在組件管理頁面,單擊日誌與監控頁簽,找到ack-cost-exporter組件,單擊右下角的安裝。
在安裝組件 ack-cost-exporter頁面中,配置registeredAckClusterId為帳號B中叢集的clusterId,然後單擊確定。
注意事項
開啟成本洞察功能後,賬單資料將在次日08:00自動顯示。選擇右上方下拉式功能表,可查看不同時間範圍的叢集成本資料。
叢集維度成本分析
篩選維度

功能 | 序號 | 描述 |
叢集成本統計選項 | ① | 叢集成本統計指標選項。
更多資訊,請參見賬單詳情。 說明 叢集中應用部分成本統計只會按原價賬單成本進行統計,包括Namespace、Pod等應用維度成本統計。 |
成本分攤模型選項 | ② | 成本分攤模型選項,包含單資源模型和權重混合資源模型,詳情請參見成本估算策略介紹。
|
時間範圍 | ③ | 大盤時間範圍,預設為最近7天。您可以設定該項查看不同時間範圍的成本、資源趨勢。 |
叢集成本概覽

功能 | 序號 | 描述 |
查看成本分攤模型 | ① | 此資料結果與選擇的成本分攤模型選項有關。大盤預設CPU模型選項,使用CPU資源請求量估算Pod成本。 |
通過昨日、本周、本月花費統計對叢集成本概要分析 | ② | 成本費用統計,其中昨日叢集花費、花費日環比、本周累計花費和本月累計花費為本叢集的雲資源的賬單成本統計。 本周累計、本月累計花費分別為自然周、自然月的賬單花費統計。由於賬單出賬周期存在T+1延遲,周一將不顯示本周累計花費資料,每月第一日也將不顯示本月累計花費的統計值。 花費日環比為昨日叢集成本與前一天之間的環比。綠色表示降低,紅色表示增長。 |
通過成本趨勢判斷叢集成本、資源浪費概要情況 | ③ | 叢集花費和叢集容量趨勢圖,黃色曲線表示成本消費,藍色曲線表示實際的叢集容量。通常情況下,兩條曲線會存在一定的相關性。 對比兩者相關性,如果發現兩者呈現趨勢不一致,表明叢集的單位核成本異常。請檢查是否有資源花費過高。 |
以命名空間維度查看即時成本估算和費用分攤 | ④⑤ | ④為叢集內各命名空間的即時估算成本,命名空間成本是其中所有Pod估算成本之和,⑤為各命名空間的費用分攤值,是命名空間按估算比例對叢集實際費用的分攤。 說明
一個叢集中的節點規格和付費類型可能不同。通過命名空間分賬時,不能僅通過每個命名空間的資源申請值進行判斷,還需要考慮命名空間下Pod所在節點的情況。 成本洞察將每個節點的即時費用進行了轉換。在統計命名空間維度費用時,轉換為 使用者折扣、代金券抵扣、訂用帳戶等各種延遲計費策略可能會導致命名空間的成本費用和叢集的實際賬單費用不一致。您可通過命名空間的成本佔比乘以叢集總費用的方式進行分賬。 |
穩定性&效率分析

功能 | 序號 | 描述 |
查看叢集總資源用量 | ① | 叢集中各種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,以規避風險。 |
關於穩定性&效率分析功能的更多資訊,請參見使用成本洞察識別叢集資源風險。
叢集費用分析

功能 | 序號 | 描述 |
通過雲產品費用趨勢與比例分析雲產品成本 | ①② | ③為叢集中各雲產品的成本花費佔比統計,④為叢集中各雲產品的成本花費趨勢統計。 一個叢集中會包含多種雲產品,不同雲產品的使用方式、計費模型不同,會導致雲產品產生的費用存在差異。可通過成本趨勢和組合查看不同的雲產品消費情況,以進行成本決策。 |
通過叢集總成本趨勢分析叢集成本 | ③ | 每日叢集的總費用成本趨勢統計。 |
通過節點池成本費用趨勢分析叢集成本 | ④ | 叢集中各節點池或虛擬節點的節點賬單成本分析。 |
以命名空間維度查看即時成本估算趨勢 | ⑤ | 叢集中節點的規格和付費類型可能不同。通過命名空間進行分賬時,不能僅通過每個命名空間的資源申請值進行判斷,還需要考慮命名空間下Pod所在節點的情況。 成本洞察將每個節點的即時費用進行了轉換。在統計命名空間維度費用時,轉換為 使用者折扣、代金券抵扣、訂用帳戶等各種延遲計費策略可能會導致命名空間的成本費用和叢集的實際賬單費用不一致。您可通過命名空間的成本佔比乘以叢集總費用的方式進行分賬。 |
叢集的計算資源請求、使用率趨勢 | ⑥ | 使用情境:
趨勢圖含義:
分析流程:
|
叢集計費詳細資料 | ⑦⑧ | 雲產品維度、雲產品執行個體維度叢集每日賬單列表。 |
使用成本洞察分析雲下IDC節點及應用的成本
成本洞察支援註冊叢集中IDC節點以及節點上應用的成本洞察分析能力。成本洞察預設以0.2元/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。 成本分析需要叢集的監控資料和費用資料,監控資料在開啟後3分鐘內開始採集,費用資料將在叢集開啟成本分析後的第二天08: 00顯示。
檢查叢集是否配置NAT Gateway。由於部分地區不支援通過內網endpoint查詢賬單,請確認您的叢集具備訪問公網能力。
花費日環比和明日預測花費需要連續採集兩天的費用資料後才顯示。
為什麼命名空間的費用相加與實際的費用賬單不相等?
命名空間的費用通過成本估算得出,並非直接通過賬單分析。費用估算通過目錄價進行計算。因此,當叢集的花費包含代金券、折扣、節約計劃等抵扣策略時,可能出現一些資料偏差。您可通過命名空間的比例乘以叢集總費用進行分賬。
為什麼有些節點上的Pod資料無法擷取成本資料?
檢查RAM角色授權操作已完成,並確認授權策略中包含"ecs:DescribeDisks"許可權。具體操作,請參見開啟成本分析功能的步驟3。
為什麼賬單中展示的雲產品沒有包括叢集使用的所有雲產品?
成本分析只統計本叢集獨享的雲產品。多叢集共用的雲產品不在成本分析的賬單統計範圍內。
成本洞察功能依賴費用與成本控制台的費用標籤功能,即依賴於雲產品標籤中的特定標識(key:value=ack.aliyun.com:{{叢集ClusterId}})來實現叢集成本的追蹤與統計。如果您在費用標籤頁面關閉了此標籤,那麼叢集層級的成本統計將會失效。為瞭解決成本統計失效問題,請重新在費用標籤管理頁面啟用ack.aliyun.com和ack.alibabacloud.com/nodepool-id標籤。
為什麼本月/本周累計花費比實際低
叢集從成本洞察組件成功開通後才開始統計產生的費用,不會統計組件開通前的資料。