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.
A partir de abril de 2025, la versión 1.21 y las versiones posteriores de la API de configManagement ya no admitirán la instalación ni las actualizaciones del Policy Controller. Si intentas actualizar o instalar Policy Controller con este método, se producirá un error. Sigue las instrucciones de esta página para migrar y poder seguir usando el Controlador de políticas.
Los pasos para migrar por completo difieren según el método de instalación que usaste para instalar Policy Controller.
Si usas comandos de 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 el Controlador de políticas:
config management
Si usas comandos de gcloud CLI que comienzan con gcloud alpha container fleet config-management, cambia a usar comandos de Policy Controller de gcloud CLI que comiencen con gcloud container fleet policycontroller. Revisa la
documentación de gcloud CLI
para obtener una lista de comandos. No es necesario que realice ninguna otra acción.
Si tu archivo Google Cloud CLI apply spec
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 el Controlador de políticas con el
nombre de la función "configmanagement",
debes cambiar a un recurso de Terraform con el nombre de la función "policycontroller"
completando los siguientes pasos:
Copia tu archivo de Terraform existente en un archivo nuevo o actualiza tu archivo de Terraform y agrega lo siguiente:
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" } } }Reemplaza lo siguiente:
MEMBERSHIP: El nombre de la membresía del clúster registrado que tiene instalado el Policy Controller.PROJECT_ID: ID del proyecto
Quita el bloque
"policy_controller"de tu recurso de Terraform existente. Puedes encontrar el bloque en el bloque"configmanagement". Si usas el recurso solo para administrar el Policy Controller, puedes quitar todo el bloqueconfigmanagement. Si usas el recurso para administrar el Sincronizador de configuración, asegúrate de quitar solo el bloque del Policy Controller. Por ejemplo, tu bloqueconfigmanagementpodría parecerse al siguiente: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 } } }Para importar la configuración de la función de membresía del Policy Controller , completa uno de los siguientes pasos:
Ejecuta el siguiente comando:
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"Agrega un bloque de importación a tu recurso de Terraform:
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" }
Aplica la configuración del Controlador de políticas:
terraform applyOpcional: Una vez que se complete la importación, puedes quitar el bloque de importación de tu recurso de Terraform. Como alternativa, es seguro dejar el bloque de importación en tu configuración como registro del origen del recurso.
Config Connector
Para dejar de usar la especificación configmanagement.policyController, completa los siguientes pasos:
Crea una nueva especificación
GKEHubFeatureMembershipcon los campospolicycontrollerobligatorios. Asegúrate de configurar el camporesourceIDcomopolicyController.Si tienes un
GKEHubFeatureMembershipexistente que usa el campospec.configmanagement.policyController, quita cualquier campopolicycontrollerde la especificaciónconfigmanagement.
kubectl
Si usas comandos de kubectl para administrar el Controlador de políticas con un objeto ConfigManagement, cambia a usar comandos de Policy Controller de gcloud CLI que comiencen con gcloud container fleet policycontroller. No es necesario que realice ninguna otra acción.
Si tu ConfigManagement objeto
tiene el bloque policyController, quítalo para que sea compatible con el Sincronizador de configuración.
Es posible que desees revisar los siguientes recursos para obtener más información sobre la API de Policy Controller:
- Instala el Policy Controller con comandos de
gcloud container fleet policycontroller. - Revisa la documentación de referencia de Config Connector
GKEHubFeature - Revisa la documentación de referencia de Terraform
google_gke_hub_feature.