Von der ConfigManagement API zur PolicyController API migrieren

Auf dieser Seite wird erläutert, wie Sie zur Verwaltung von Policy Controller von der ConfigManagement API zur PolicyController API migrieren. Die PolicyController API bietet dieselben Funktionen zum Installieren und Verwalten von Policy Controller.

Die Schritte für die vollständige Migration unterscheiden sich je nach der Installationsmethode, die Sie für Policy Controller verwendet haben.

Wenn Sie gcloud CLI-PolicyController-Befehle 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, mit der Sie Policy Controller installiert haben:

config management

Wenn Sie gcloud CLI-Befehle verwenden, die mit gcloud alpha container fleet config-management beginnen, verwenden Sie stattdessen gcloud CLI-Policy Controller-Befehle, die mit gcloud container fleet policycontroller beginnen. Eine Liste der Befehle finden Sie in der Dokumentation zur gcloud CLI. Sie müssen nichts weiter unternehmen.

Wenn Ihre apply spec-Datei der Google Cloud CLI 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. Gehen Sie dazu so vor:

  1. Erstellen Sie eine neue Terraform-Datei oder aktualisieren Sie Ihre Terraform-Datei mit dem folgenden Block:

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

    Ersetzen Sie Folgendes:

    • MEMBERSHIP: Name der Mitgliedschaft des registrierten Clusters, auf dem Policy Controller installiert ist.
    • PROJECT_ID: Ihre Projekt-ID.
  2. Entfernen Sie den Block "policycontroller" aus dem Block "configmanagement". Wenn Sie "configmanagement" nur zum Verwalten des Richtlinienkontrollers verwenden, können Sie den gesamten Block entfernen.

  3. Importieren Sie die Einstellungen für die Policy Controller-Mitgliedschaftsfunktion. Gehen Sie dazu so vor:

    1. Führen Sie dazu diesen Befehl aus:

      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. Fügen Sie Ihrer Terraform-Ressource einen Importblock hinzu:

      import {
         to = google_gke_hub_feature_membership.policycontroller
         id = "projects/PROJECT_ID/locations/global/features/policycontroller/membershipId/MEMBERSHIP_NAME"
      }
      
  4. Wenden Sie die Policy Controller-Einstellungen an:

    terraform apply
    

Config Connector

So stellen Sie die Verwendung der configmanagement.policyController-Spezifikation ein:

  1. Erstelle oder aktualisiere die GKEHubFeatureMembership-Spezifikation, indem du die spec.ResourceID-Nummer in das Feld policycontroller eingibst.

  2. Wenn Sie bereits eine GKEHubFeatureMembership haben, in der das Feld spec.configmanagement.policyController verwendet wird, entfernen Sie alle policycontroller-Felder aus der configmanagement-Spezifikation.

kubectl

Wenn Sie Policy Controller mit einem ConfigManagement-Objekt über kubectl-Befehle verwalten, verwenden Sie stattdessen Policy Controller-Befehle der gcloud CLI, die mit gcloud container fleet policycontroller beginnen. Sie müssen nichts weiter unternehmen.

Wenn Ihr ConfigManagement-Objekt den Block policyController enthält, entfernen Sie ihn, um für die Kompatibilität mit Config Sync zu sorgen.

Weitere Informationen zur Policy Controller API finden Sie in den folgenden Ressourcen: