Nesta página, explicamos como migrar da API ConfigManagement
para a API PolicyController
para gerenciar o Policy Controller.
A API PolicyController
oferece os mesmos recursos para instalar e
gerenciar o Policy Controller.
A partir de abril de 2025, a versão 1.21 e mais recentes da API configManagement
não vão mais oferecer suporte à instalação ou atualizações do Policy Controller. Tentar fazer upgrade
ou instalar o Policy Controller com esse método vai falhar com um erro. Siga as instruções desta página para migrar e continuar usando o Policy Controller.
As etapas para migrar totalmente variam de acordo com o método de instalação usado para instalar o Policy Controller.
Se você usa comandos da CLI gcloud PolicyController
que começam com
gcloud container fleet policycontroller
, já está usando a API PolicyController
. Nenhuma ação é necessária. Caso contrário, leia as instruções do método
usado para instalar o Policy Controller:
config management
Se você usa comandos da CLI gcloud que começam com gcloud alpha container fleet config-management
,
mude para os comandos do Policy Controller da CLI gcloud que começam
com gcloud container fleet policycontroller
. Consulte a
documentação da CLI gcloud
para ver uma lista de comandos. Não é necessário realizar outra ação além dessa.
Se o arquivo apply spec
da Google Cloud CLI
tiver o bloco policyController
, remova-o para garantir a compatibilidade com
o Config Sync.
Terraform
Se você usa um recurso do Terraform que configura o Policy Controller com o
nome do recurso "configmanagement"
,
mude para um recurso do Terraform com o nome do recurso "policycontroller"
seguindo estas etapas:
Copie o arquivo do Terraform para um novo arquivo ou atualize o arquivo e adicione o seguinte:
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" } } }
Substitua:
MEMBERSHIP
: o nome da assinatura do cluster registrado que tem o Policy Controller instalado.PROJECT_ID
: o ID do projeto.
Remova o bloco
"policy_controller"
do recurso do Terraform. Ele fica abaixo do bloco"configmanagement"
. Se você estiver usando o recurso apenas para gerenciar o Policy Controller, remova todo o blococonfigmanagement
. Se você estiver usando o recurso para gerenciar o Config Sync, remova apenas o bloco do Policy Controller. Por exemplo, seu blococonfigmanagement
pode ser semelhante a este: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 } } }
Importe as configurações do recurso de associação do Policy Controller seguindo uma destas etapas:
Execute este 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"
Adicione um bloco de importação ao recurso do 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" }
Aplique as configurações do Policy Controller:
terraform apply
Opcional: depois que a importação for concluída, você poderá remover o bloco de importação do recurso do Terraform. Como alternativa, é seguro deixar o bloco de importação na configuração como um registro da origem do recurso.
Config Connector
Para parar de usar a especificação configmanagement.policyController
, siga estas etapas:
Crie uma nova especificação
GKEHubFeatureMembership
com os campospolicycontroller
obrigatórios. Defina o camporesourceID
comopolicyController
.Se você tiver um
GKEHubFeatureMembership
que usa o campospec.configmanagement.policyController
, remova todos os campospolicycontroller
da especificaçãoconfigmanagement
.
kubectl
Se você usa comandos kubectl
para gerenciar o Policy Controller com um objeto ConfigManagement
, comece a usar os comandos da CLI gcloud do Policy Controller que começam
com gcloud container fleet policycontroller
. Não é necessário realizar outra ação além dessa.
Se o objeto ConfigManagement
tiver o bloco policyController
, remova-o para compatibilidade com o Config Sync.
Consulte os seguintes recursos para saber mais sobre a API Policy Controller:
- Instalar o Controlador de Políticas com comandos
gcloud container fleet policycontroller
- Revise a documentação de referência do Config Connector
GKEHubFeature
. - Consulte a documentação de referência do Terraform
google_gke_hub_feature
.