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

L'API GKE On-Prem est une API hébergée par Google Cloud qui vous permet de gérer le cycle de vie de vos clusters sur site à l'aide d'outils standards : la consoleGoogle Cloud , Google Cloud CLI ou Terraform. Lorsque vous créez un cluster à l'aide de l'un de ces outils, l'API stocke les métadonnées sur l'état de votre cluster dans la région Google Cloud que vous avez spécifiée lors de la création du cluster. Ces métadonnées vous permettent de gérer le cycle de vie du cluster à l'aide des outils standards. Si vous souhaitez utiliser ces outils pour afficher les détails d'un cluster ou gérer le cycle de vie des clusters créés à l'aide de gkectl, vous devez inscrire les clusters dans l'API GKE On-Prem.

Terminologie

L'enregistrement d'un cluster vous permet de gérer son cycle de vie à l'aide de la console, de gcloud CLI ou de Terraform.

L'inscription d'un cluster est un processus distinct de l'enregistrement d'un cluster dans un parc. Un parc est un regroupement logique de clusters Kubernetes que vous pouvez gérer ensemble. Tous les clusters Google Distributed Cloud sont enregistrés dans un parc au moment de leur création. Lorsque vous créez un cluster à l'aide de gkectl, il est enregistré dans le projet Google Cloud que vous spécifiez dans le champ gkeConnect.projectID du fichier de configuration du cluster. Ce projet est appelé projet hôte du parc. Pour en savoir plus sur les parcs, y compris sur les cas d'utilisation, les bonnes pratiques et obtenir des exemples, consultez la documentation sur la gestion de parc.

Afficher les clusters enregistrés

Tous vos clusters de parc s'affichent sur les pages Clusters GKE de la console. Vous obtenez ainsi une vue d'ensemble de votre parc et, pour Google Distributed Cloud, vous pouvez voir quels clusters sont gérés par l'API GKE On-Prem.

Pour afficher les clusters de votre parc, procédez comme suit :

  1. Dans la console, accédez à la page Clusters GKE.
    Accéder aux clusters GKE
  2. Sélectionnez le projet Google Cloud .
    • Si VMware s'affiche dans la colonne Type, le cluster est géré par l'API GKE On-Prem.
    • Si la valeur Externe s'affiche dans la colonne Type, cela signifie que le cluster n'est pas géré par l'API GKE On-Prem.

Conditions requises

  • Les clusters utilisateur doivent être de la version 1.11 ou ultérieure.
  • Les clusters d'administration doivent être à la version 1.13 ou ultérieure.

  • Si vous n'êtes pas propriétaire du projet, vous devez disposer au minimum du rôle Identity and Access Management roles/gkeonprem.admin pour le projet. Pour en savoir plus sur les autorisations incluses dans ce rôle, consultez la section Rôles GKE On-Prem dans la documentation IAM.

Avant de commencer

  1. Configurez gcloud CLI, si nécessaire.

    1. Si vous devez installer gcloud CLI, consultez la documentation de gcloud CLI.

    2. Mettez à jour les composants de gcloud CLI, si nécessaire :

      gcloud components update
      
  2. Pour activer et utiliser l'API GKE On-Prem, procédez comme suit:

    1. Activez l'API dans votre projet:

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

      Remplacez PROJECT_ID par l'ID de votre projet hôte de parc. Il s'agit de l'ID de projet configuré dans la section gkeconnect de votre fichier de configuration de cluster d'administrateur ou de votre fichier de configuration de cluster d'utilisateur.

      Si une erreur PERMISSION_DENIED s'affiche, vérifiez l'ID de projet que vous avez saisi. Si l'ID du projet est correct, exécutez gcloud auth login pour vous connecter à gcloud CLI avec le compte ayant accès au projet.

    2. Si c'est la première fois que vous activez l'API GKE On-Prem dans votre projet, vous devez initialiser l'API. Pour ce faire, appelez une commande de la gcloud CLI qui affiche les versions disponibles que vous pouvez utiliser pour créer un cluster :

      gcloud container vmware clusters query-version-config \
          --project=PROJECT_ID \
          --location=REGION
      

      Remplacez REGION par us-west1 ou une autre région compatible.

  3. 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

    Voici les noms de service de l'API GKE On-Prem.

Enregistrer un cluster d'utilisateur

CLI gcloud

  1. Répertoriez les appartenances au parc des clusters enregistrés :

    gcloud container fleet memberships list \
        --project=PROJECT_ID
    

    Remplacez PROJECT_ID par l'ID de votre projet hôte de parc.

    Notez la région à laquelle appartient le cluster d'administrateur qui gère le cluster d'utilisateur, car vous en aurez besoin à l'étape suivante.

  2. Enregistrez le cluster dans l'API GKE On-Prem :

    gcloud container vmware clusters enroll USER_CLUSTER_NAME \
        --project=<var>PROJECT_ID</var> \
        --admin-cluster-membership=projects/PROJECT_ID/locations/MEMBERSHIP_REGION/memberships/ADMIN_CLUSTER_NAME \
        --location=REGION
    

    Remplacez les éléments suivants :

    • USER_CLUSTER_NAME : nom du cluster d'utilisateur que vous souhaitez inscrire.

    • PROJECT_ID : ID du projet hôte de votre parc.

    • MEMBERSHIP_REGION : région dans laquelle le cluster d'administrateur qui gère le cluster d'utilisateur est membre. Il peut s'agir d'un global ou d'une région Google Cloud .

    • ADMIN_CLUSTER_NAME : nom du cluster d'administrateur qui gère le cluster d'utilisateur.

      ADMIN_CLUSTER_NAME, MEMBERSHIP_REGION et PROJECT_ID forment le nom de cluster entièrement spécifié pour l'option --admin-cluster-membership.

    • REGION : région Google Cloud dans laquelle l'API GKE On-Prem s'exécute et stocke les métadonnées du cluster. Spécifiez us-west1 ou une autre région compatible. Une fois le cluster inscrit, la région ne peut plus être modifiée.

gkectl

Procédez comme suit sur votre poste de travail administrateur.

  1. Ajoutez la section suivante au fichier de configuration du cluster d'administrateur :

    gkeOnPremAPI:
      enabled:true
      location:REGION
    

    Remplacez REGION par la région Google Cloud dans laquelle l'API GKE On-Prem s'exécute et stocke les métadonnées du cluster. Spécifiez us-west1 ou une autre région compatible. Une fois le cluster enregistré, la région ne peut plus être modifiée.

  2. Mettez à jour le cluster :

    gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG_FILE
    

    Remplacez les éléments suivants :

    • ADMIN_CLUSTER_KUBECONFIG : chemin d'accès au fichier kubeconfig du cluster d'administrateur

    • USER_CLUSTER_CONFIG_FILE : chemin d'accès au fichier de configuration du cluster d'utilisateur

Enregistrer un cluster d'administrateur

CLI gcloud

  1. Répertoriez les appartenances au parc des clusters enregistrés :

    gcloud container fleet memberships list \
        --project=PROJECT_ID
    

    Remplacez PROJECT_ID par l'ID de votre projet hôte de parc.

    Notez la région à laquelle appartient le cluster d'administrateur, car vous en aurez besoin à l'étape suivante.

  2. Enregistrez le cluster d'administrateur dans l'API GKE On-Prem :

    gcloud container vmware admin-clusters enroll ADMIN_CLUSTER_NAME \
        --project=PROJECT_ID \
        --admin-cluster-membership=projects/PROJECT_ID/locations/MEMBERSHIP_REGION/memberships/ADMIN_CLUSTER_NAME \
        --location=REGION
    

Remplacez les éléments suivants :

  • ADMIN_CLUSTER_NAME : nom du cluster d'administrateur que vous souhaitez inscrire.

  • PROJECT_ID : ID du projet hôte de votre parc.

  • MEMBERSHIP_REGION : région dont le cluster d'administrateur est membre. Il peut s'agir de global ou d'une région Google Cloud .

    ADMIN_CLUSTER_NAME, MEMBERSHIP_REGION et PROJECT_ID forment le nom de cluster entièrement spécifié pour l'indicateur --admin-cluster-membership.

  • REGION : région Google Cloud dans laquelle l'API GKE On-Prem s'exécute et stocke les métadonnées du cluster. Spécifiez us-west1 ou une autre région compatible. Nous vous recommandons d'utiliser la même région que celle configurée dans stackdriver.clusterLocation dans le fichier de configuration du cluster d'administrateur. Une fois le cluster enregistré, la région ne peut plus être modifiée.

gkectl

Procédez comme suit sur votre poste de travail administrateur.

  1. Ajoutez la section suivante au fichier de configuration du cluster d'administrateur :

    gkeOnPremAPI:
      enabled:true
      location:REGION
    

    Remplacez REGION par la région Google Cloud dans laquelle l'API GKE On-Prem s'exécute et stocke les métadonnées du cluster. Spécifiez us-west1 ou une autre région compatible. Nous vous recommandons d'utiliser la même région que celle configurée dans stackdriver.clusterLocation. Une fois le cluster inscrit, la région ne peut plus être modifiée.

  2. Mettez à jour le cluster :

    gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG_FILE
    

    Remplacez les éléments suivants :

    • ADMIN_CLUSTER_KUBECONFIG : chemin d'accès au fichier kubeconfig du cluster d'administrateur

    • ADMIN_CLUSTER_CONFIG_FILE : chemin d'accès au fichier de configuration du cluster d'administrateur.

Obtenir des informations sur votre cluster

Une fois le cluster inscrit, vous pouvez utiliser les commandes suivantes pour obtenir des informations sur vos clusters:

Cluster d'utilisateur

  • Pour décrire un cluster d'utilisateurs:
gcloud container vmware clusters describe USER_CLUSTER_NAME \
  --project=PROJECT_ID \
  --location=REGION
  • Pour afficher vos clusters d'utilisateurs:
gcloud container vmware clusters list \
  --project=PROJECT_ID \
  --location=-

Lorsque vous définissez --location=-, cela signifie que vous souhaitez lister tous les clusters de toutes les régions. Si vous devez limiter la liste, définissez --location sur la région que vous avez spécifiée lorsque vous avez inscrit le cluster.

Cluster d'administrateur

  • Pour décrire un cluster d'administrateur:
gcloud container vmware admin-clusters describe ADMIN_CLUSTER_NAME \
  --project=PROJECT_ID \
  --location=REGION
  • Pour afficher la liste de vos clusters d'administration:
gcloud container vmware admin-clusters list \
  --project=PROJECT_ID \
  --location=-

Lorsque vous définissez --location=-, cela signifie que vous souhaitez lister tous les clusters de toutes les régions. Si vous devez limiter la liste, définissez --location sur la région que vous avez spécifiée lorsque vous avez enregistré le cluster.

Se connecter au cluster

Une fois le cluster enregistré auprès de l'API GKE On-Prem, vous devez choisir et configurer une méthode d'authentification pour pouvoir gérer le cluster à partir de la consoleGoogle Cloud . La méthode d'authentification que vous sélectionnez contrôle également l'accès au cluster à partir de la ligne de commande. Pour en savoir plus, consultez les ressources suivantes :