Configurer un cluster d'utilisateur pour qu'il soit géré par l'API Anthos On-Prem

Les clusters d'utilisateur Anthos sur VMware (GKE On-Prem) créés avec gkectl ne sont pas configurés pour fonctionner avec l'API Anthos On-Prem, qui est l'API hébergée par Google Cloud activée automatiquement lorsque vous créez des clusters d'utilisateur dans la console Google Cloud. Si vous souhaitez utiliser la console pour gérer le cycle de vie des clusters créés à l'aide de gkectl, vous devez configurer le cluster à l'aide de la commande gkectl enroll cluster.

Conditions requises

Le cluster d'utilisateur doit répondre aux exigences suivantes :

  • Version 1.11 ou ultérieure
  • Enregistré auprès d'un parc (opération effectuée automatiquement à la création du cluster à partir de la version 1.8)
  • Si votre organisation a configuré une liste d'autorisation qui permet au trafic des API Google et d'autres adresses de transiter par votre serveur proxy, ajoutez ce qui suit à la liste d'autorisation :

    • gkeonprem.googleapis.com
    • gkeonprem.mtls.googleapis.com

Enregistrer un cluster d'utilisateur

Exécutez les étapes suivantes sur votre poste de travail administrateur.

  1. Connectez-vous à votre compte Google :

    gcloud auth login --no-browser
    
  2. Créez un compte de service pour autoriser gkectl à enregistrer le cluster :

    gcloud iam service-accounts create SA_NAME \
        --project SA_PROJECT_ID
    

    Remplacez les éléments suivants :

    • SA_NAME : nom que vous souhaitez attribuer au compte de service. Vous pouvez utiliser un nom décrivant l'objectif du compte de service, tel que enrollment-sa.
    • SA_PROJECT_ID : ID du projet parent de votre compte de service. Le projet dans lequel vous créez le compte de service peut être le même que celui dans lequel le compte de service est utilisé, ou bien il peut s'agir d'un projet différent.
  3. Créez une clé JSON pour votre compte de service :

    gcloud iam service-accounts keys create SA_NAME-key.json \
       --iam-account=SA_NAME@SA_PROJECT_ID.iam.gserviceaccount.com
    
  4. Activer l'API Anthos On-Prem dans votre projet hôte parc :

    gcloud services enable \
        --project FLEET_HOST_PROJECT_ID \
        gkeonprem.googleapis.com
    

    Remplacez FLEET_HOST_PROJECT_ID par l'ID de votre projet hôte de parc. Il doit s'agir du même projet Google Cloud que vos clusters d'administrateur et d'utilisateur, que vous spécifiez dans le champ gkeConnect.projectID du fichier de configuration du cluster.

  5. Attribuez le rôle gkeonprem.admin à votre compte de service :

    gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \
        --member "serviceAccount:SA_NAME@SA_PROJECT_ID.iam.gserviceaccount.com" \
        --role "roles/gkeonprem.admin"
    
  6. Configurez les identifiants par défaut de l'application de sorte qu'ils utilisent le compte de service. Cela permet de s'assurer que gcloud CLI va bien utiliser le compte de service que vous avez créé précédemment.

    export GOOGLE_APPLICATION_CREDENTIALS=PATH_TO_SA_KEY/SA_NAME-key.json
    
  7. Exécutez la commande gkectl enroll cluster. Remplacez les éléments suivants :

    • CLUSTER_NAME par le nom du cluster d'utilisateur.
    • ADMIN_CLUSTER_KUBECONFIG par le chemin d'accès au fichier kubeconfig de votre cluster d'administrateur.
    gkectl enroll cluster --cluster-name=CLUSTER_NAME \
      --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    Si vous souhaitez enregistrer plusieurs clusters d'utilisateur dans un projet, vous pouvez utiliser le même compte de service et la même clé, puis simplement exécuter gkectl enroll cluster pour chaque cluster.