Cómo migrar de la API de ConfigManagement a la API de PolicyController

En esta página, se explica cómo migrar de la API de ConfigManagement a la API de PolicyController para administrar Policy Controller. La API de PolicyController ofrece las mismas capacidades para instalar y administrar Policy Controller.

Los pasos para migrar por completo difieren según el método de instalación que hayas usado para instalar Policy Controller.

Si usas comandos PolicyController de gcloud CLI que comienzan con gcloud container fleet policycontroller, ya estás usando la API de PolicyController. No se requiere ninguna acción. De lo contrario, revisa las instrucciones del método que usaste para instalar Policy Controller:

config management

Si usas comandos de gcloud CLI que comienzan con gcloud alpha container fleet config-management, cambia a los comandos de Policy Controller de gcloud CLI que comienzan con gcloud container fleet policycontroller. Revisa la documentación de la CLI de gcloud para obtener una lista de los comandos. No es necesario que realices ninguna otra acción.

Si tu archivo apply spec de Google Cloud CLI tiene el bloque policyController, quítalo para garantizar la compatibilidad con el Sincronizador de configuración.

Terraform

Si usas un recurso de Terraform que configura Policy Controller con el nombre de la función "configmanagement", debes cambiar a un recurso de Terraform con el nombre de la función "policycontroller". Para ello, completa los siguientes pasos:

  1. Crea un archivo Terraform nuevo o actualiza el existente con el siguiente bloque:

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

    Reemplaza lo siguiente:

    • MEMBERSHIP: Es el nombre de la membresía del clúster registrado que tiene instalado Policy Controller.
    • PROJECT_ID: el ID de tu proyecto
  2. Quita el bloque "policycontroller" del bloque "configmanagement". Si usas "configmanagement" para solo administrar Policy Controller, puedes quitar todo el bloque.

  3. Para importar la configuración de la función de membresía de Policy Controller, completa uno de los siguientes pasos:

    1. Ejecuta el siguiente comando:

      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. Agrega un bloque de importación a tu recurso de Terraform:

      import {
         to = google_gke_hub_feature_membership.policycontroller
         id = "projects/PROJECT_ID/locations/global/features/policycontroller/membershipId/MEMBERSHIP_NAME"
      }
      
  4. Aplica la configuración de Policy Controller:

    terraform apply
    

Config Connector

Para dejar de usar la especificación configmanagement.policyController, completa los siguientes pasos:

  1. Para crear o actualizar tu especificación GKEHubFeatureMembership, ingresa el número spec.ResourceID en el campo policycontroller.

  2. Si tienes un GKEHubFeatureMembership existente que usa el campo spec.configmanagement.policyController, quita los campos policycontroller de la especificación configmanagement.

kubectl

Si usas comandos kubectl para administrar Policy Controller con un objeto ConfigManagement, cambia a usar los comandos de Policy Controller de gcloud CLI que comienzan con gcloud container fleet policycontroller. No es necesario que realices ninguna otra acción.

Si tu objeto ConfigManagement tiene el bloque policyController, quítalo para que sea compatible con Sincronizador de configuración.

Te recomendamos que revises los siguientes recursos para obtener más información sobre la API de Policy Controller: