Cette page explique comment passer de l'API ConfigManagement
à l'API PolicyController
pour gérer Policy Controller.
L'API PolicyController
offre les mêmes fonctionnalités pour installer et gérer Policy Controller.
La procédure de migration complète diffère selon la méthode d'installation que vous avez utilisée pour installer Policy Controller.
Si vous utilisez des commandes PolicyController
gcloud CLI commençant par gcloud container fleet policycontroller
, vous utilisez déjà l'API PolicyController
. Aucune action n'est requise de votre part. Sinon, consultez les instructions de la méthode que vous avez utilisée pour installer Policy Controller:
config management
Si vous utilisez des commandes gcloud CLI commençant par gcloud alpha container fleet config-management
, passez aux commandes gcloud CLI du contrôleur de règles commençant par gcloud container fleet policycontroller
. Consultez la documentation de gcloud CLI pour obtenir la liste des commandes. Aucune autre action n'est requise de votre part.
Si le fichier apply spec
de la CLI Google Cloud contient le bloc policyController
, supprimez-le pour assurer la compatibilité avec Config Sync.
Terraform
Si vous utilisez une ressource Terraform qui configure Policy Controller avec le nom de fonctionnalité "configmanagement"
, vous devez passer à une ressource Terraform avec le nom de fonctionnalité "policycontroller"
en procédant comme suit:
Copiez votre fichier Terraform existant dans un nouveau fichier, ou mettez à jour votre fichier Terraform, puis ajoutez les éléments suivants:
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" } } }
Remplacez les éléments suivants :
MEMBERSHIP
: nom de l'appartenance du cluster enregistré sur lequel Policy Controller est installé.PROJECT_ID
: ID de votre projet.
Supprimez le bloc
"policy_controller"
de votre ressource Terraform existante. Vous trouverez le bloc sous le bloc"configmanagement"
. Si vous utilisez la ressource pour uniquement gérer Policy Controller, vous pouvez supprimer l'ensemble du blocconfigmanagement
. Si vous utilisez la ressource pour gérer Config Sync, assurez-vous de ne supprimer que le bloc Policy Controller. Par exemple, votre blocconfigmanagement
peut se présenter comme suit: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 } } }
Importez les paramètres de la fonctionnalité d'appartenance de Policy Controller en procédant comme suit:
Exécutez la commande suivante :
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"
Ajoutez un bloc d'importation à votre ressource Terraform:
import { to = google_gke_hub_feature_membership.policycontroller id = "projects/PROJECT_ID/locations/global/features/policycontroller/membershipId/MEMBERSHIP_NAME" }
Appliquez les paramètres de Policy Controller:
terraform apply
Facultatif: Une fois l'importation terminée, vous pouvez supprimer le bloc d'importation de votre ressource Terraform. Vous pouvez également laisser le bloc d'importation dans votre configuration en tant qu'enregistrement de l'origine de la ressource.
Config Connector
Pour arrêter d'utiliser la spécification configmanagement.policyController
, procédez comme suit:
Créez ou modifiez votre spécification
GKEHubFeatureMembership
en saisissant le numérospec.ResourceID
dans le champpolicycontroller
.Si vous disposez d'un
GKEHubFeatureMembership
existant qui utilise le champspec.configmanagement.policyController
, supprimez tous les champspolicycontroller
de la spécificationconfigmanagement
.
kubectl
Si vous utilisez des commandes kubectl
pour gérer Policy Controller avec un objet ConfigManagement
, passez aux commandes Policy Controller de la gcloud CLI commençant par gcloud container fleet policycontroller
. Aucune autre action n'est requise de votre part.
Si votre objet ConfigManagement
contient le bloc policyController
, supprimez-le pour assurer la compatibilité avec Config Sync.
Vous pouvez consulter les ressources suivantes pour en savoir plus sur l'API Policy Controller:
- Installer Policy Controller avec des commandes
gcloud container fleet policycontroller
- Consultez la documentation de référence sur
GKEHubFeature
dans Config Connector. - Consultez la documentation de référence sur
google_gke_hub_feature
Terraform.