Migrer de l'API ConfigManagement vers l'API PolicyController

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:

  1. Créez un fichier Terraform ou mettez à jour votre fichier Terraform avec le bloc suivant:

    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
      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.
  2. Supprimez le bloc "policycontroller" du bloc "configmanagement". Si vous utilisez "configmanagement" pour uniquement gérer le contrôleur de stratégie, vous pouvez supprimer l'ensemble du bloc.

  3. Importez les paramètres de la fonctionnalité d'appartenance de Policy Controller en procédant comme suit:

    1. 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"
      
    2. 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"
      }
      
  4. Appliquez les paramètres de Policy Controller:

    terraform apply
    

Config Connector

Pour arrêter d'utiliser la spécification configmanagement.policyController, procédez comme suit:

  1. Créez ou modifiez votre spécification GKEHubFeatureMembership en saisissant le numéro spec.ResourceID dans le champ policycontroller.

  2. Si vous disposez d'un GKEHubFeatureMembership existant qui utilise le champ spec.configmanagement.policyController, supprimez tous les champs policycontroller de la spécification configmanagement.

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: