1.3. オプション: CLI を使用した cost management Operator のインストール
クラスターの作成を自動化する場合は、オプションで OperatorHub の代わりに OpenShift CLI を使用して Cost Management Metrics Operator をインストールできます。OpenShift Container Platform CLI では、cost management で OpenShift Container Platform クラスターのインテグレーションを作成できます。サービス認証を使用する場合は、その認証を使用するように Operator を設定する必要があります。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 - OpenShift Container Platform クラスターのクラスター管理者権限を持っている。
手順
パッケージマニフェストにサポートされているインストールモードと使用可能なチャネルがあることを確認するには、次のコマンドを入力します。
oc describe packagemanifests costmanagement-metrics-operator -n openshift-marketplaceOperatorGroupオブジェクトとサブスクリプションオブジェクトを作成します。- サブスクリプションオブジェクトを作成するには、OpenShift のドキュメント CLI を使用した OperatorHub からのインストール を参照してください。
トークン認証を使用していない場合は、サービスアカウント認可を使用するように Operator を設定します。この方法を使用するには、クラウド管理者ロールを持つユーザーアクセスグループにサービスアカウントを追加します。サービスアカウントがユーザーグループの権限を継承していることを確認します。
詳細は、cost managment リソースへのアクセスの制限 を参照してください。
-
Red Hat Hybrid Cloud Console サービスアカウント から
client_idおよびclient_secretを取得します。 サービスアカウントの
client_idの値を base64 でエンコードします。ターミナルで次のように入力します。echo -n "<red_hat_service_account_client_id>" | base64サービスアカウントの `client_secret` の値を base64 でエンコードします。ターミナルで次のように入力します。
echo -n "<red_hat_service_account_client_secret>" | base64
-
Red Hat Hybrid Cloud Console サービスアカウント から
シークレットを保存するための YAML ファイルを作成します。
client_idとclient_secretをdata.client_idおよびdata.client_secretフィールドに貼り付けます。.yaml の例
kind: Secret apiVersion: v1 metadata: name: service-account-auth-secret namespace: costmanagement-metrics-operator data: client_id: <base64_encoded_red_hat_service_account_client_id> client_secret: <base64_encoded_red_hat_service_account_client_secret>次のコマンドを使用して、シークレット YAML ファイルをデプロイします。
oc apply -f example.yaml
cost management Operator にサービス認証を使用するには、Operator のカスタムリソース定義を編集します。
authentication.typeがservice-accountに設定されるように、カスタムリソースの YAML の例を編集する必要があります。また、authentication.secret_nameがシークレットの名前に設定されるように行を追加する必要があります。この前の例では、シークレットの名前はservice-account-auth-secretです。カスタムリソースの例
kind: CostManagementMetricsConfig apiVersion: costmanagement-metrics-cfg.openshift.io/v1beta1 metadata: name: costmanagementmetricscfg-sample-v1beta1 namespace: costmanagement-metrics-operator spec: authentication: type: service-account secret_name: service-account-auth-secret packaging: max_reports_to_store: 30 max_size_MB: 100 prometheus_config: collect_previous_data: true context_timeout: 120 disable_metrics_collection_cost_management: false disable_metrics_collection_resource_optimization: false source: check_cycle: 1440 create_source: false name: '' upload: upload_cycle: 360 upload_toggle: trueRed Hat Hybrid Cloud Console のウィザードを使用せずにインテグレーションを自動的に作成するには、カスタムリソースの YAML 例を編集して、
source.create_sourceをtrueに設定し、source.nameを名前に設定します。この例では、名前はcluster2に設定されています。ソース作成の例
kind: CostManagementMetricsConfig apiVersion: costmanagement-metrics-cfg.openshift.io/v1beta1 metadata: name: costmanagementmetricscfg-sample-v1beta1 namespace: costmanagement-metrics-operator spec: authentication: type: service-account secret_name: service-account-auth-secret packaging: max_reports_to_store: 30 max_size_MB: 100 prometheus_config: collect_previous_data: true context_timeout: 120 disable_metrics_collection_cost_management: false disable_metrics_collection_resource_optimization: false source: check_cycle: 1440 create_source: true name: 'cluster2' upload: upload_cycle: 360 upload_toggle: true
カスタム CA 証明書を持つプロキシーの場合は、この証明書を Cost Management Metrics Operator に注入するための追加の設定を作成する必要があります。詳細は、OpenShift Container Platform ドキュメントの カスタム CA 証明書の注入 を参照してください。