ConfigManagement API から PolicyController API に移行する

このページでは、Policy Controller を管理するために ConfigManagement API から PolicyController API に移行する方法について説明します。PolicyController API は、Policy Controller のインストールと管理に同じ機能を提供します。

完全に移行する手順は、Policy Controller のインストールに使用したインストール方法によって異なります。

gcloud container fleet policycontroller で始まる gcloud CLI PolicyController コマンドを使用している場合は、すでに PolicyController API を使用しています。なんらかのご対応を行っていただく必要はありません。それ以外の場合は、Policy Controller のインストールに使用した方法の手順を確認してください。

config management

gcloud alpha container fleet config-management で始まる gcloud CLI コマンドを使用している場合は、gcloud container fleet policycontroller で始まる gcloud CLI Policy Controller コマンドに切り替えます。コマンドのリストについては、gcloud CLI のドキュメントをご覧ください。その他の対応は必要ございません。

Google Cloud CLI apply spec ファイルpolicyController ブロックがある場合は、Config Sync との互換性を確保するために削除します。

Terraform

機能名 "configmanagement" で Policy Controller を構成する Terraform リソースを使用している場合は、次の手順で機能名 "policycontroller" の Terraform リソースに切り替える必要があります。

  1. 次のブロックを使用して、新しい Terraform ファイルを作成するか、Terraform ファイルを更新します。

    resource "google_gke_hub_feature" "feature" {
      name = "policycontroller"
      location = "global"
    }
    
    resource "google_gke_hub_feature_membership" "feature_member" {
      feature = google_gke_hub_feature.feature.name
      location = "global"
      membership = MEMBERSHIP_NAME
      project = PROJECT_ID
       policycontroller {
          policy_controller_hub_config {
            install_spec = "INSTALL_SPEC_ENABLED"
        }
      }
    }
    

    次のように置き換えます。

    • MEMBERSHIP: Policy Controller がインストールされている登録済みクラスタのメンバーシップ名。
    • PROJECT_ID: プロジェクト ID。
  2. "configmanagement" ブロックから "policycontroller" ブロックを削除します。"configmanagement" を使用して Policy Controller のみを管理する場合は、ブロック全体を削除できます。

  3. 次のいずれかの方法で、Policy Controller メンバーシップ機能の設定をインポートします。

    1. 次のコマンドを実行します。

      terraform import "google_gke_hub_feature.policycontroller" "projects/PROJECT_ID/locations/global/features/policycontroller"
      terraform import "google_gke_hub_feature_membership.policycontroller" "projects/PROJECT_ID/locations/global/features/policycontroller/membershipId/MEMBERSHIP_NAME"
      
    2. Terraform リソースにインポート ブロックを追加します。

      import {
         to = google_gke_hub_feature_membership.policycontroller
         id = "projects/PROJECT_ID/locations/global/features/policycontroller/membershipId/MEMBERSHIP_NAME"
      }
      
  4. Policy Controller の設定を適用します。

    terraform apply
    

Config Connector

configmanagement.policyController 仕様の使用を停止するには、次の操作を行います。

  1. policycontroller フィールドに spec.ResourceID 番号を入力して、GKEHubFeatureMembership 仕様を作成または更新します。

  2. spec.configmanagement.policyController フィールドを使用する既存の GKEHubFeatureMembership がある場合は、configmanagement 仕様から policycontroller フィールドを削除します。

kubectl

kubectl コマンドを使用して ConfigManagement オブジェクトで Policy Controller を管理している場合は、gcloud container fleet policycontroller で始まる gcloud CLI Policy Controller コマンドに切り替えます。その他の対応は必要ございません。

ConfigManagement オブジェクトpolicyController ブロックがある場合は、Config Sync との互換性を確保するために削除します。

Policy Controller API の詳細については、次のリソースをご覧ください。