Auf dieser Seite wird erläutert, wie Sie von der ConfigManagement API zur PolicyController API migrieren, um Policy Controller zu verwalten.
Die PolicyController API bietet dieselben Funktionen zum Installieren und Verwalten von Policy Controller.
Ab April 2025 unterstützt die configManagement API Version 1.21 und höher keine Installation oder Aktualisierung von Policy Controller mehr. Wenn Sie versuchen, Policy Controller mit dieser Methode zu aktualisieren oder zu installieren, tritt ein Fehler auf. Folgen Sie der Anleitung auf dieser Seite, um zu migrieren und Policy Controller weiterhin verwenden zu können.
Die Schritte für die vollständige Migration hängen davon ab, welche Installationsmethode Sie zum Installieren von Policy Controller verwendet haben.
Wenn Sie gcloud CLI-Befehle für PolicyController verwenden, die mit gcloud container fleet policycontroller beginnen, verwenden Sie bereits die PolicyController API. Sie müssen nichts tun. Andernfalls folgen Sie der Anleitung für die Methode, die Sie zum Installieren von Policy Controller verwendet haben:
config management
Wenn Sie gcloud CLI-Befehle verwenden, die mit gcloud alpha container fleet config-management beginnen, wechseln Sie zu gcloud CLI-Befehlen für Policy Controller, die mit gcloud container fleet policycontroller beginnen. Eine Liste der Befehle finden Sie in der
gcloud CLI-Dokumentation. Es sind keine weiteren Maßnahmen erforderlich.
Wenn Ihre Google Cloud CLI apply spec Datei
den Block policyController enthält, entfernen Sie ihn, um die Kompatibilität mit
Config Sync zu gewährleisten.
Terraform
Wenn Sie eine Terraform-Ressource verwenden, die Policy Controller mit dem
Feature-Namen "configmanagement",
konfiguriert, sollten Sie zu einer Terraform-Ressource mit dem Feature-Namen "policycontroller"
wechseln. Führen Sie dazu die folgenden Schritte aus:
Kopieren Sie Ihre vorhandene Terraform-Datei in eine neue Datei oder aktualisieren Sie Ihre Terraform-Datei und fügen Sie Folgendes hinzu:
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" } } }Ersetzen Sie Folgendes:
MEMBERSHIP: Name der Mitgliedschaft des registrierten Clusters, auf dem Policy Controller installiert ist.PROJECT_ID: Ihre Projekt-ID.
Entfernen Sie den Block
"policy_controller"aus Ihrer vorhandenen Terraform-Ressource. Sie finden den Block unter dem"configmanagement"Block. Wenn Sie die Ressource nur zum Verwalten von Policy Controller verwenden, können Sie den gesamten Blockconfigmanagemententfernen. Wenn Sie die Ressource zum Verwalten von Config Sync verwenden, entfernen Sie nur den Policy Controller-Block. Ihrconfigmanagement-Block könnte beispielsweise so aussehen: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 } } }Importieren Sie die Einstellungen für das Policy Controller-Mitgliedschaftsfeature Führen Sie dazu einen der folgenden Schritte aus:
Führen Sie dazu diesen Befehl aus:
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"Fügen Sie Ihrer Terraform-Ressource einen Importblock hinzu:
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" }
Wenden Sie die Policy Controller-Einstellungen an:
terraform applyOptional: Nach Abschluss des Imports können Sie den Importblock aus Ihrer Terraform-Ressource entfernen. Alternativ können Sie den Importblock in Ihrer Konfiguration lassen, um den Ursprung der Ressource zu dokumentieren.
Config Connector
So beenden Sie die Verwendung der configmanagement.policyController-Spezifikation:
Erstellen Sie eine neue
GKEHubFeatureMembershipSpezifikation mit den erforderlichenpolicycontrollerFeldern. Legen Sie das FeldresourceIDaufpolicyControllerfest.Wenn Sie eine vorhandene
GKEHubFeatureMembershiphaben, die das Feldspec.configmanagement.policyControllerverwendet, entfernen Sie allepolicycontroller-Felder aus derconfigmanagement-Spezifikation.
kubectl
Wenn Sie kubectl-Befehle verwenden, um Policy Controller mit einem ConfigManagement-Objekt zu verwalten, wechseln Sie zu gcloud CLI-Befehlen für Policy Controller, die mit gcloud container fleet policycontroller beginnen. Es sind keine weiteren Maßnahmen erforderlich.
Wenn Ihr ConfigManagement Objekt
den Block policyController enthält, entfernen Sie ihn, um die Kompatibilität mit Config Sync zu gewährleisten.
Weitere Informationen zur Policy Controller API finden Sie in den folgenden Ressourcen:
- Policy Controller mit
gcloud container fleet policycontroller-Befehlen installieren - Referenzdokumentation zu Config Connector
GKEHubFeaturefür - Referenzdokumentation zu Terraform
google_gke_hub_feature