Container Service for Kubernetes (ACK) のコスト分析機能は、リソース使用量を分析し、名前空間、ノードプール、アプリケーション全体でコストを配分するのに役立ちます。また、クラスターの支出に基づいてコスト削減の機会を特定します。
コストディメンション
コスト分析を有効にすると、以下のディメンションでコストを分析できます:
クラスター
名前空間
ノードプール
アプリケーション (Deployment、StatefulSet、DaemonSet、Job、CronJob)
前提条件
開始する前に、以下のものが揃っていることを確認してください:
Kubernetes 1.18.8 以降を実行している ACK マネージドクラスターまたは ACK 専用クラスター。アップグレードについては、「クラスターの手動アップグレード」をご参照ください。
クラスターで Managed Service for Prometheus が有効になっていること。設定手順については、「Prometheus モニタリングの有効化」をご参照ください。
課金
コスト分析メトリック
コスト分析は、課金データとクラウドリソースの料金からメトリックを生成し、Managed Service for Prometheus にレポートします。ストレージの保持期間などのデフォルト設定を変更すると、追加料金が発生する場合があります。
コスト配分タグ
コスト分析は、コスト配分タグを使用して課金データをフィルターし、ノードプールの分析と関連付けます。この機能を有効にする前に、これらのタグを設定してください:
費用とコスト コンソールに移動します。
[コスト配分タグ] ページで、左側のパネルから有効にするタグを選択し、[選択したタグ] エリアに移動して、[有効化] をクリックします。
次のタグを有効にします:
ack.aliyun.comack.alibabacloud.com/nodepool-id
コスト分析の有効化
Container Service for Kubernetes コンソール にログインします。左側のナビゲーションウィンドウで、クラスターリスト をクリックします。
クラスターリスト ページで、対象クラスターの名前をクリックします。左側のナビゲーションウィンドウで、 をクリックします。
クラスターに課金データへのアクセス権限を付与します。
権限付与のプロセスはクラスターのタイプによって異なります:
課金データへのアクセス権限の付与
ACK マネージドクラスター
システムは、必要な権限を自動的に付与し、AliyunCSManagedCostRole リソースアクセス管理 (RAM) ロールを作成します。Prometheus のマネージドサービスは、このロールを引き受けて、経費とコストの課金データにアクセスします。
または、「RAM クイック承認」ページから直接権限を付与することもできます。
ACK 専用クラスター
ワーカーロールポリシーに課金権限を手動で追加します:
画面の指示に従って、ack-cost-exporter コンポーネントをインストールします。
インストール後、ページは自動的に [コスト分析] にリダイレクトされます。
コスト分析の無効化
コストメトリックの収集を停止するには、ack-cost-exporter コンポーネントをアンインストールします:
Container Service for Kubernetes コンソール にログインします。左側のナビゲーションウィンドウで、クラスターリスト をクリックします。
クラスターリスト ページで、対象クラスターの名前をクリックします。左側のナビゲーションウィンドウで、アドオン管理 をクリックします。
[アドオン] ページで ack-cost-exporter を見つけ、[アンインストール] をクリックします。確認ダイアログボックスで、[OK] をクリックします。
よくある質問
ack-cost-exporter のインストールまたはアンインストールに失敗した場合はどうすればよいですか?
残存リソースを手動で削除してから、操作を再試行してください。ご利用のクラスターに対して以下のコマンドを実行します:
# Deployment と Service を削除
kubectl delete deployment ack-cost-exporter -n kube-system
kubectl delete service alibaba-cloud-price-exporter -n kube-system
kubectl delete service alibaba-cloud-billing-exporter -n kube-system
kubectl delete service alibaba-cloud-cost-exporter -n kube-system
# ServiceMonitor を削除
kubectl delete ServiceMonitor alibaba-cloud-price-exporter -n kube-system
kubectl delete ServiceMonitor alibaba-cloud-billing-exporter -n kube-system
kubectl delete ServiceMonitor alibaba-cloud-cost-exporter -n kube-system
# RBAC リソースを削除
kubectl delete ClusterRoleBinding ack-cost-exporter-cluster-role-binding
kubectl delete ClusterRoleBinding ack-cost-exporter-cluster-role-binding-v1
kubectl delete ServiceAccount ack-cost-exporter -n kube-system
kubectl delete ClusterRole ack-cost-exporter-cluster-roleインストールに失敗した場合は、クリーンアップ後に ack-cost-exporter を再インストールしてください。詳細については、「コンポーネントの管理」をご参照ください。