En esta página se explica cómo migrar de la API ConfigManagement
a la API PolicyController
para gestionar Policy Controller.
La API PolicyController
ofrece las mismas funciones para instalar y gestionar Policy Controller.
A partir de abril del 2025, la versión 1.21 y posteriores de la API configManagement
ya no admitirán la instalación ni las actualizaciones de 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 Policy Controller.
Los pasos para completar la migración varían en función del método de instalación que hayas usado para instalar Policy Controller.
Si usas comandos de gcloud CLI PolicyController
que empiezan por
gcloud container fleet policycontroller
, ya estás usando la API PolicyController
. No es necesario hacer nada. De lo contrario, consulta las instrucciones del método que hayas usado para instalar Policy Controller:
config management
Si usas comandos de gcloud CLI que empiezan por gcloud alpha container fleet config-management
, cambia a los comandos de Policy Controller de gcloud CLI que empiezan por gcloud container fleet policycontroller
. Consulta la documentación de la CLI de gcloud para ver una lista de comandos. No es necesario hacer nada más.
Si tu archivo Google Cloud CLI apply spec
tiene el bloque policyController
, elimínalo para asegurar la compatibilidad con
Config Sync.
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, sigue estos pasos:
Copia tu archivo de Terraform en un archivo nuevo o actualízalo y añade 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" } } }
Haz los cambios siguientes:
MEMBERSHIP
: el nombre de miembro del clúster registrado que tiene instalado Policy Controller.PROJECT_ID
: tu ID de proyecto.
Quita el bloque
"policy_controller"
del recurso de Terraform que tengas. Puedes encontrar el bloque en el bloque"configmanagement"
. Si usas el recurso solo para gestionar Policy Controller, puedes quitar todo el bloqueconfigmanagement
. Si usas el recurso para gestionar Config Sync, asegúrate de eliminar solo el bloque de Policy Controller. Por ejemplo, tu bloqueconfigmanagement
podría ser similar 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 } } }
Importa los ajustes de la función de pertenencia a Policy Controller siguiendo uno de estos 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"
Añade un bloque de importación al 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 los ajustes de Policy Controller:
terraform apply
Opcional: Una vez que se haya completado la importación, puedes quitar el bloque de importación de tu recurso de Terraform. También puedes 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
, sigue estos pasos:
Crea una
GKEHubFeatureMembership
especificación con los campospolicycontroller
necesarios. Asegúrate de que el camporesourceID
tenga el valorpolicyController
.Si tienes un
GKEHubFeatureMembership
que usa el campospec.configmanagement.policyController
, elimina los campospolicycontroller
de la especificaciónconfigmanagement
.
kubectl
Si usas comandos kubectl
para gestionar Policy Controller con un objeto ConfigManagement
, cambia a los comandos de Policy Controller de gcloud CLI que empiezan por gcloud container fleet policycontroller
. No es necesario hacer nada más.
Si tu objeto ConfigManagement
tiene el bloque policyController
, quítalo para que sea compatible con Config Sync.
Te recomendamos que consultes los siguientes recursos para obtener más información sobre la API Policy Controller:
- Instalar Policy Controller con comandos
gcloud container fleet policycontroller
- Consulta la documentación de referencia de
GKEHubFeature
Config Connector. - Consulta la documentación de referencia de
google_gke_hub_feature
Terraform.