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 varían según el método de instalación que hayas usado para instalar Policy Controller.
Si usas comandos de PolicyController
de la CLI de gcloud 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 la CLI de gcloud que comienzan con gcloud alpha container fleet config-management
, cambia a usar los comandos de Policy Controller de la CLI de gcloud 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:
Copia tu archivo de Terraform existente en uno nuevo o actualízalo, 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
: Es el nombre de la membresía del clúster registrado que tiene instalado Policy Controller.PROJECT_ID
: el ID de tu proyecto
Quita el bloque
"policy_controller"
de tu recurso de Terraform existente. Puedes encontrar el bloque debajo del bloque"configmanagement"
. Si usas el recurso para solo administrar 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 de Policy Controller. Por ejemplo, tu bloqueconfigmanagement
podrí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 de Policy Controller, completa uno de los siguientes pasos:
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"
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" }
Aplica la configuración de Policy Controller:
terraform apply
Opcional: 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 un registro del origen del recurso.
Config Connector
Para dejar de usar la especificación configmanagement.policyController
, completa los siguientes pasos:
Para crear o actualizar tu especificación
GKEHubFeatureMembership
, ingresa el númerospec.ResourceID
en el campopolicycontroller
.Si tienes un
GKEHubFeatureMembership
existente que usa el campospec.configmanagement.policyController
, quita todos los campospolicycontroller
de la especificaciónconfigmanagement
.
kubectl
Si usas comandos de kubectl
para administrar Policy Controller con un objeto ConfigManagement
, cambia a usar los comandos de Policy Controller de la CLI de gcloud 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 Config Sync.
Te recomendamos que revises los siguientes recursos para obtener más información sobre la API de Policy Controller:
- Cómo instalar Policy Controller con comandos
gcloud container fleet policycontroller
- Revisa la documentación de referencia de
GKEHubFeature
de Config Connector. - Revisa la documentación de referencia de
google_gke_hub_feature
de Terraform.