Questa pagina spiega come eseguire la migrazione dall'API ConfigManagement
all'API PolicyController
per la gestione di Policy Controller.
L'API PolicyController
offre le stesse funzionalità per l'installazione e la gestione di Policy Controller.
A partire da aprile 2025, la versione 1.21 e successive dell'API configManagement
non supporta più l'installazione o gli aggiornamenti di Policy Controller. Il tentativo di eseguire l'upgrade
o installare Policy Controller con questo metodo non riuscirà e verrà visualizzato un errore. Segui le
istruzioni riportate in questa pagina per eseguire la migrazione e continuare
a utilizzare Policy Controller.
I passaggi per eseguire la migrazione completa variano a seconda del metodo di installazione utilizzato per installare Policy Controller.
Se utilizzi i comandi gcloud CLI PolicyController
che iniziano con
gcloud container fleet policycontroller
, stai già utilizzando l'API PolicyController
. Non è richiesto alcun intervento. In caso contrario, rivedi le istruzioni per il metodo
che hai utilizzato per installare Policy Controller:
config management
Se utilizzi i comandi gcloud CLI che iniziano con gcloud alpha container fleet config-management
,
passa all'utilizzo dei comandi gcloud CLI Policy Controller che iniziano
con gcloud container fleet policycontroller
. Consulta la
documentazione di gcloud CLI
per un elenco di comandi. Non sono necessarie altre operazioni.
Se il tuo file apply spec
di Google Cloud CLI
contiene il blocco policyController
, rimuovilo per garantire la compatibilità con
Config Sync.
Terraform
Se utilizzi una risorsa Terraform che configura Policy Controller con il
nome della funzionalità "configmanagement"
,
devi passare a una risorsa Terraform con il nome della funzionalità "policycontroller"
completando i seguenti passaggi:
Copia il file Terraform esistente in un nuovo file o aggiorna il file Terraform e aggiungi quanto segue:
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" } } }
Sostituisci quanto segue:
MEMBERSHIP
: il nome dell'appartenenza del cluster registrato in cui è installato Policy Controller.PROJECT_ID
: il tuo ID progetto.
Rimuovi il blocco
"policy_controller"
dalla risorsa Terraform esistente. Puoi trovare il blocco sotto il blocco"configmanagement"
. Se utilizzi la risorsa solo per gestire Policy Controller, puoi rimuovere l'intero bloccoconfigmanagement
. Se utilizzi la risorsa per gestire Config Sync, assicurati di rimuovere solo il blocco Policy Controller. Ad esempio, il bloccoconfigmanagement
potrebbe essere simile al seguente: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 le impostazioni della funzionalità di appartenenza a Policy Controller completando uno dei seguenti passaggi:
Esegui questo 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"
Aggiungi un blocco import alla risorsa 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" }
Applica le impostazioni di Policy Controller:
terraform apply
(Facoltativo) Al termine dell'importazione, puoi rimuovere il blocco di importazione dalla risorsa Terraform. In alternativa, puoi lasciare il blocco di importazione nella configurazione come record dell'origine della risorsa.
Config Connector
Per interrompere l'utilizzo della specifica configmanagement.policyController
, completa i seguenti passaggi:
Crea una nuova specifica
GKEHubFeatureMembership
con i campipolicycontroller
obbligatori. Assicurati di impostare il camporesourceID
supolicyController
.Se hai un
GKEHubFeatureMembership
esistente che utilizza il campospec.configmanagement.policyController
, rimuovi tutti i campipolicycontroller
dalla specificaconfigmanagement
.
kubectl
Se utilizzi i comandi kubectl
per gestire Policy Controller con un oggetto ConfigManagement
, passa all'utilizzo dei comandi Policy Controller di gcloud CLI che iniziano con gcloud container fleet policycontroller
. Non sono necessarie altre operazioni.
Se il tuo oggetto ConfigManagement
ha il blocco policyController
, rimuovilo per la compatibilità con Config Sync.
Per saperne di più sull'API Policy Controller, puoi consultare le seguenti risorse:
- Installare Policy Controller con i comandi
gcloud container fleet policycontroller
- Consulta la documentazione di riferimento di Config Connector
GKEHubFeature
. - Consulta la documentazione di riferimento di Terraform
google_gke_hub_feature
.