本文介紹如何查看集群成本洞察及集群成本洞察的能力。
索引
前提條件
確保Kubernetes集群的版本為1.18.8及以上,否則請升級集群。具體操作,請參見升級ACK集群。
已開啟阿里云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.
通過控制臺配置
創建RAM用戶。具體操作,請參見創建RAM用戶。
創建自定義權限策略。具體操作,請參見創建自定義權限策略。ack-cost-exporter組件所需的權限策略內容如下。
{ "Version": "1", "Statement": [ { "Action": [ "bssapi:QueryInstanceBill", "bssapi:DescribeInstanceBill" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "ecs:DescribeDisks", "ecs:DescribeSpotPriceHistory", "ecs:DescribeInstances", "ecs:DescribePrice" ], "Resource": "*", "Effect": "Allow" }, { "Action": "eci: DescribeContainerGroupPrice", "Resource": "*", "Effect": "Allow" } ] }
為RAM用戶添加權限。具體操作,請參見為RAM用戶授權。
為RAM用戶創建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.
通過控制臺安裝
登錄容器服務管理控制臺,在左側導航欄選擇集群。
在集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇 。
若Helm頁面存在ack-cost-exporter安裝記錄,請刪除對應的安裝記錄后,再按照后續操作重新接入。
在集群管理頁左側導航欄,選擇 。
在組件管理頁面,單擊日志與監控頁簽,找到ack-cost-exporter組件,單擊右下角的安裝。然后單擊確定。
注意事項
在開啟成本洞察功能后第二天08: 00自動顯示賬單數據。
選擇右上角下拉菜單,可查看不同時間范圍的集群成本可視化大盤數據。
集群維度成本分析
篩選維度
功能 | 序號 | 描述 |
集群成本統計選項 | ① | 集群成本統計指標選項,包含優惠后實際賬單成本和原價賬單成本統計:
關于應付金額和官網價的詳細介紹,請參見明細賬單。 說明 集群中應用部分成本統計只會按原價賬單成本進行統計,包括Namespace、Pod等應用維度成本統計。 |
成本分攤模型選項 | ② | 成本分攤模型選項,包含單資源模型和權重混合資源模型,具體分為如下幾類。
關于成本分攤模型選擇的詳細介紹,請參見成本分攤模型概述。 |
時間范圍 | ③ | 選擇大盤時間范圍,默認為最近7天。您可以設置該項查看不同時間范圍的成本、資源趨勢。 |
費用概覽
功能 | 序號 | 描述 |
通過昨日、本周、本月花費統計對集群成本概要分析 | ① | 成本費用統計,其中昨日集群花費、花費日環比、本周累計花費和本月累計花費為本集群的云資源的賬單成本統計。 本周累計、本月累計花費分別為自然周、自然月的賬單花費統計。由于賬單出賬周期存在T+1延遲,周一將不顯示本周累計花費數據,每月第一日也將不顯示本月累計花費的統計值。 花費日環比為昨日集群成本與前一天之間的環比:
|
通過成本趨勢判斷集群成本、資源浪費概要情況 | ② | 集群花費和集群容量趨勢圖,黃色曲線表示成本消費,藍色曲線表示實際的集群容量。通常情況下,兩條曲線會存在一定的相關性。 對比兩者相關性,如果發現兩者呈現趨勢不一致,表明集群的單位核成本異常。請檢查是否有資源花費過高。 |
成本詳情及趨勢
功能 | 序號 | 描述 |
以命名空間維度查看實時成本估算、費用分攤和實時成本估算趨勢 | ①②⑦ | ①為集群內各命名空間的實時估算成本,命名空間成本是其中所有Pod估算成本之和,②為各命名空間的費用分攤值,是命名空間按估算比例對集群實際費用的分攤,⑦為集群中各命名空間的實時估算成本趨勢圖。 說明
在一個集群中,可能存在各種不同規格、不同付費方式的節點類型。當您通過命名空間進行分賬時,不能僅通過每個命名空間的資源申請值進行判斷,還需要考慮命名空間下Pod所在節點的情況。 成本洞察將每個節點的實時費用進行了轉換。在統計命名空間維度的費用時,轉換為: Σ(Pod資源申請/節點容量)*節點單位價格 這種方式可以精確估算命名空間的成本費用。用戶折扣、代金券抵扣、包年包月等各種延遲計費策略可能會導致命名空間的成本費用和集群的實際賬單費用不一致。但您可以通過命名空間的成本占比乘以集群總費用的方式獲得命名空間級別的分賬。 |
通過云產品費用趨勢與比例分析云產品成本 | ③④ | ③為集群中各云產品的成本花費占比統計,④為集群中各云產品的成本花費趨勢統計。 一個集群中會包含多種云產品,不同云產品的使用方式、計費模型不同,會導致云產品產生的費用存在差異。您可以通過成本趨勢和組合查看不同的云產品消費情況,從而進行成本決策。 |
通過集群總成本趨勢分析集群成本 | ⑤ | 每日集群的總費用成本趨勢統計。 |
通過節點池成本費用趨勢分析集群成本 | ⑥ | 集群中各節點池或虛擬節點(Virtual Node)的節點賬單成本分析。 |
集群的計算資源請求、使用率趨勢 | ⑧ | 使用場景:
趨勢圖含義:
應用已分配且未使用資源=綠色柱狀圖-黃色柱狀圖 集群剩余資源可分配量=Y軸-綠色柱狀圖 分析流程:
|
集群計費詳細信息
云產品維度、云產品實例維度的集群每日賬單列表。
使用成本洞察分析云下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。 成本分析需要集群的監控數據和費用數據,監控數據在開啟后3min內即可開始采集,費用相關的數據需要從集群開啟成本分析后的第二天08: 00才有數據顯示。
檢查集群是否配置NAT網關。由于部分地域不支持通過內網endpoint查詢賬單,請確認您的集群具備訪問公網能力。
花費日環比和明日預測花費需要連續采集兩天的費用數據后才顯示。
為什么命名空間的費用相加與實際的費用賬單不相等?
命名空間的費用是通過成本估算來進行核算的,并非直接通過賬單分析得出。因此,在做費用估算的時候,是通過目錄價進行計算的,當集群的花費包含代金券、折扣、節約計劃等抵扣策略的時候,會出現一定的數據偏差。但是,可以通過命名空間的比例乘以集群的總費用進行費用的分賬。
為什么有些節點上的Pod數據無法獲取成本數據?
檢查RAM角色授權操作已完成,并確認授權策略中包含"ecs:DescribeDisks"權限。具體操作,請參見開啟成本分析功能的步驟3。
為什么賬單中展示的云產品沒有包括集群使用的所有云產品?
成本分析只統計本集群獨享的云產品,對于多集群共享的云產品,不在成本分析的賬單統計范圍內。成本洞察功能依賴阿里云用戶中心標簽統計功能,依賴云產品key:ack.aliyun.com value:{{集群ClusterId}}標。如您在阿里云用戶中心費用標簽頁面關閉此標簽,集群成本統計將會失效。此時,您需要在阿里云用戶中心費用標簽頁面按照頁面提示開啟ack.aliyun.com標簽和ack.alibabacloud.com/nodepool-id標簽的分析統計功能。
為什么本月/本周累計花費比實際低?
集群從成本洞察組件成功開通后才開始統計產生的費用,不會統計組件開通前的數據。