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. Salin file Terraform yang ada ke file baru, atau perbarui file Terraform, lalu tambahkan kode 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 # "policycontroller"
      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 "policy_controller" dari resource Terraform yang ada. Anda dapat menemukan blok di bagian blok "configmanagement". Jika menggunakan resource untuk hanya mengelola Pengontrol Kebijakan, Anda dapat menghapus seluruh blok configmanagement. Jika Anda menggunakan resource untuk mengelola Config Sync, pastikan Anda hanya menghapus blok Policy Controller. Misalnya, blok configmanagement Anda mungkin mirip dengan hal berikut:

    resource "google_gke_hub_feature_membership" "feature_member" {
       provider   = google-beta
       location   = "global"
       feature    = "configmanagement"
       membership = google_gke_hub_membership.membership.membership_id
       configmanagement {
          version = "1.8.0"
          config_sync {
             source_format = "unstructured"
             git {
             }
          }
          # if you're still using the config_sync block, delete only the policy_controller block
          policy_controller {
             enabled                    = true
             template_library_installed = true
             referential_rules_enabled  = true
          }
       }
    }
    
  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
    
  5. Opsional: Setelah impor selesai, Anda dapat menghapus blok impor dari resource Terraform. Atau, Anda dapat membiarkan pemblokiran impor dalam konfigurasi sebagai catatan asal resource.

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: