すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:コストインサイトの有効化

最終更新日:Dec 12, 2024

Container Service for Kubernetes (ACK) のコストインサイト機能は、財務部門がリソース使用量を分析し、複数のディメンションからコストを割り当てるのに役立ちます。 この機能は、コスト削減に関する提案も提供します。 このトピックでは、コストインサイト機能を有効または無効にする方法について説明します。

前提条件

  • クラスターのKubernetesバージョンは1.18.8以降です。 クラスターのKubernetesバージョンが1.18.8より前の場合は、Kubernetesバージョンを更新します。 詳細については、「ACKクラスターの更新」をご参照ください。

  • Prometheusのマネージドサービスが有効になっています。 詳細については、「Prometheusのマネージドサービスの有効化」をご参照ください。

コストインサイトの有効化

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[コストスイート] > [コストインサイト] を選択します。

  3. AliyunCSManagedCostRole Resource Access Management (RAM) ロールをクラスターに割り当て、ack-cost-exporterコンポーネントをインストールします。

    1. 課金管理でACKクラスターに課金データへのアクセスを許可する

      • ACK管理クラスターを使用する場合、システムは自動的に必要な権限を付与します。 承認が完了すると、システムは自動的にAliyunCSManagedCostRoleロールを作成します。 Managed Service for Prometheusは、RAMロールを引き受けて、費用と費用の請求データにアクセスします。

        [Cloud Resource Access Authorization] ハイパーリンクをクリックすることもできます。 [クラウドリソースアクセス権限付与] ページで、[権限付与に同意する] をクリックします。

      • ACK専用クラスターを使用する場合は、次の手順を実行して承認を完了します。

        1. [コストインサイト] ページで、[Kubernetes WorkerRole-***] をクリックします。

        2. RAMロールの詳細ページの [権限] タブで、[ポリシー] 列の [k8sWorkerRole ****] をクリックします。

        3. ポリシー詳細ページの [ポリシードキュメント] タブで、[ポリシードキュメントの変更] をクリックします。

        4. 表示されるコードエディターで、[ステートメント] フィールドに次の内容を追加し、[次へ] をクリックして [OK] をクリックします。

                  {
                      "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"
                  }
          説明

          複数のアクションを指定するには、次のアクションの内容を入力する前に、各アクションの内容の末尾にコンマ (,) を追加します。

    2. ack-cost-exporterコンポーネントのインストール

      画面の指示に従って、ack-cost-exporterコンポーネントをインストールします。 コンポーネントのインストール後、自動的に [コストインサイト] ページにリダイレクトされます。

コストインサイトの無効化

コストインサイト機能を使用する必要がない場合は、ack-cost-exporterコンポーネントをアンインストールして、機能を無効にすることができます。

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[操作] > [アドオン] を選択します。

  3. [アドオン] ページで、ack-cost-exporterを見つけ、[アンインストール] をクリックします。 [アンインストール] メッセージで、[OK] をクリックします。

よくある質問

ack-cost-exporterコンポーネントのインストールまたはアンインストールに失敗した場合はどうすればよいですか?

  • ack-cost-exporterのインストールに失敗した場合は、次のコマンドを実行して、ack-cost-exporterに関連するリソースを削除します。 次に、ack-cost-exporterを再度インストールします。 ack-cost-exporterのインストール方法の詳細については、「コンポーネントの管理」をご参照ください。

    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
    
    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
    
    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のアンインストールに失敗した場合は、次のコマンドを実行して、ack-cost-exporterに関連するリソースを削除します。

    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
    
    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
    
    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