Bermigrasi dari ConfigManagement API ke PolicyController API

Halaman ini menjelaskan cara melakukan migrasi dari ConfigManagement API ke PolicyController API untuk mengelola Pengontrol Kebijakan. PolicyController API menawarkan kemampuan yang sama untuk menginstal dan mengelola Pengontrol Kebijakan

Langkah-langkah untuk melakukan migrasi sepenuhnya berbeda-beda, bergantung pada metode penginstalan yang Anda gunakan untuk menginstal Pengontrol Kebijakan.

Jika menggunakan perintah PolicyController gcloud CLI yang dimulai dengan gcloud container fleet policycontroller, Anda sudah menggunakan PolicyController API. Anda tidak perlu melakukan apa pun. Jika tidak, tinjau petunjuk untuk metode yang Anda gunakan untuk menginstal Pengontrol Kebijakan:

config management

Jika Anda menggunakan perintah gcloud CLI yang dimulai dengan gcloud alpha container fleet config-management, beralihlah untuk menggunakan perintah Pengontrol Kebijakan gcloud CLI yang dimulai dengan gcloud container fleet policycontroller. Tinjau dokumentasi gcloud CLI untuk mengetahui daftar perintah. Anda tidak perlu melakukan tindakan lain.

Jika file apply spec Google Cloud CLI Anda memiliki blok policyController, hapus blok tersebut untuk memastikan kompatibilitas dengan Config Sync.

Terraform

Jika menggunakan resource Terraform yang mengonfigurasi Policy Controller dengan nama fitur "configmanagement", Anda harus beralih ke resource Terraform dengan nama fitur "policycontroller" dengan menyelesaikan langkah-langkah berikut:

  1. Buat file Terraform baru, atau perbarui file Terraform Anda, dengan blok berikut:

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

    Ganti kode berikut:

    • MEMBERSHIP: nama keanggotaan cluster terdaftar yang telah menginstal Policy Controller.
    • PROJECT_ID: project ID Anda.
  2. Hapus blok "policycontroller" dari blok "configmanagement". Jika menggunakan "configmanagement" untuk hanya mengelola Pengontrol Kebijakan, Anda dapat menghapus seluruh blok.

  3. Impor setelan fitur langganan Pengontrol Kebijakan dengan menyelesaikan salah satu langkah berikut:

    1. Jalankan perintah berikut:

      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. Tambahkan blok impor ke resource Terraform Anda:

      import {
         to = google_gke_hub_feature_membership.policycontroller
         id = "projects/PROJECT_ID/locations/global/features/policycontroller/membershipId/MEMBERSHIP_NAME"
      }
      
  4. Terapkan setelan Pengontrol Kebijakan:

    terraform apply
    

Config Connector

Untuk berhenti menggunakan spesifikasi configmanagement.policyController, selesaikan langkah-langkah berikut:

  1. Buat atau perbarui spesifikasi GKEHubFeatureMembership dengan memasukkan nomor spec.ResourceID ke kolom policycontroller.

  2. Jika Anda sudah memiliki GKEHubFeatureMembership yang menggunakan kolom spec.configmanagement.policyController, hapus kolom policycontroller dari spesifikasi configmanagement.

kubectl

Jika Anda menggunakan perintah kubectl untuk mengelola Policy Controller dengan objek ConfigManagement, beralihlah untuk menggunakan perintah Policy Controller gcloud CLI yang dimulai dengan gcloud container fleet policycontroller. Anda tidak perlu melakukan tindakan lain.

Jika objek ConfigManagement Anda memiliki blok policyController, hapus blok tersebut agar kompatibel dengan Config Sync.

Sebaiknya tinjau referensi berikut untuk mempelajari lebih lanjut Policy Controller API: