Halaman ini menjelaskan cara bermigrasi dari ConfigManagement
API
ke PolicyController
API untuk mengelola Pengontrol Kebijakan.
PolicyController
API menawarkan kemampuan yang sama untuk menginstal dan
mengelola Pengontrol Kebijakan.
Mulai April 2025, configManagement
API versi 1.21 dan yang lebih baru tidak lagi mendukung penginstalan atau update Policy Controller. Mencoba mengupgrade
atau menginstal Policy Controller dengan metode ini akan gagal dengan error. Ikuti petunjuk di halaman ini untuk bermigrasi agar Anda dapat terus menggunakan Policy Controller.
Langkah-langkah untuk bermigrasi sepenuhnya berbeda-beda, bergantung pada metode penginstalan yang Anda gunakan untuk menginstal Policy Controller.
Jika Anda 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 ke penggunaan perintah gcloud CLI Policy Controller yang dimulai
dengan gcloud container fleet policycontroller
. Tinjau
dokumentasi gcloud CLI
untuk mengetahui daftar perintah. Anda tidak perlu melakukan tindakan lain.
Jika file Google Cloud CLI apply spec
Anda memiliki blok policyController
, hapus blok tersebut untuk memastikan kompatibilitas dengan Config Sync.
Terraform
Jika Anda 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:
Salin file Terraform yang ada ke file baru, atau perbarui file Terraform Anda, 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.
Hapus blok
"policy_controller"
dari resource Terraform yang ada. Anda dapat menemukan blok di bawah blok"configmanagement"
. Jika Anda menggunakan resource hanya untuk mengelola Policy Controller, Anda dapat menghapus seluruh blokconfigmanagement
. Jika Anda menggunakan resource untuk mengelola Config Sync, pastikan Anda hanya menghapus blok Policy Controller. Misalnya, blokconfigmanagement
Anda mungkin menyerupai 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 } } }
Impor setelan fitur keanggotaan Policy Controller dengan menyelesaikan salah satu langkah berikut:
Jalankan perintah berikut:
terraform import "google_gke_hub_feature.feature" "projects/PROJECT_ID/locations/global/features/policycontroller" terraform import "google_gke_hub_feature_membership.feature_member" "projects/PROJECT_ID/locations/global/features/policycontroller/membershipId/MEMBERSHIP_NAME"
Tambahkan blok impor ke resource Terraform Anda:
import { to = google_gke_hub_feature_membership.feature_member id = "projects/PROJECT_ID/locations/global/features/policycontroller/membershipId/MEMBERSHIP_NAME" } import { to = google_gke_hub_feature.feature id = "projects/PROJECT_ID/locations/global/features/policycontroller" }
Terapkan setelan Pengontrol Kebijakan:
terraform apply
Opsional: Setelah impor selesai, Anda dapat menghapus blok impor dari resource Terraform. Atau, Anda dapat membiarkan blok impor dalam konfigurasi sebagai catatan asal resource.
Config Connector
Untuk berhenti menggunakan spesifikasi configmanagement.policyController
, selesaikan
langkah-langkah berikut:
Buat spesifikasi
GKEHubFeatureMembership
baru dengan kolompolicycontroller
yang diperlukan. Pastikan Anda menetapkan kolomresourceID
kepolicyController
.Jika Anda memiliki
GKEHubFeatureMembership
yang sudah ada dan menggunakan kolomspec.configmanagement.policyController
, hapus kolompolicycontroller
dari spesifikasiconfigmanagement
.
kubectl
Jika Anda menggunakan perintah kubectl
untuk mengelola Policy Controller dengan objek ConfigManagement
, beralihlah ke penggunaan perintah Policy Controller gcloud CLI yang dimulai dengan gcloud container fleet policycontroller
. Anda tidak perlu melakukan tindakan lain.
Jika objek ConfigManagement
memiliki blok policyController
, hapus blok tersebut agar kompatibel dengan Config Sync.
Anda dapat meninjau referensi berikut untuk mempelajari lebih lanjut Policy Controller API:
- Menginstal Pengontrol Kebijakan dengan perintah
gcloud container fleet policycontroller
- Tinjau dokumentasi referensi
GKEHubFeature
Config Connector - Tinjau dokumentasi referensi
google_gke_hub_feature
Terraform