Configurer un cluster qui sera 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 console Google Cloud, la 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 concernant 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 des clusters ou gérer le cycle de vie des clusters créés à l'aide de bmctl, vous devez enregistrer 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'enregistrement 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 GKE sur Bare Metal sont enregistrés dans un parc au moment de la création du cluster. Lorsque vous créez un cluster à l'aide de bmctl, 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 des exemples, consultez la documentation Gestion de parc.

Afficher les clusters enregistrés

Tous les clusters de votre parc sont affichés sur les clusters GKE Enterprise et les clusters GKE de la console. Cela vous donne à la fois un aperçu de l'ensemble de votre parc et, pour GKE sur Bare Metal, vous permet de voir quels clusters sont gérés par l'API GKE On-Prem.

Pour afficher les clusters de votre parc:

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

Conditions requises

  • Seuls les clusters d'utilisateur et d'administrateur peuvent être enregistrés auprès de l'API GKE On-Prem. Il n'est pas possible d'enregistrer des clusters hybrides et autonomes.
  • Version 1.13 ou ultérieure

  • Si vous n'êtes pas propriétaire du projet, vous devez au minimum disposer du rôle Identity and Access Management roles/gkeonprem.admin sur 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. Si nécessaire, configurez la gcloud CLI.

    1. Si vous devez installer la gcloud CLI, consultez la documentation de gcloud CLI. Si nécessaire, mettez à jour les composants de gcloud CLI:

      gcloud components update
      
  2. Assurez-vous que l'API GKE On-Prem est activée dans le projet. Pour activer l'API, exécutez la commande suivante:

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

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

    Si vous obtenez une erreur PERMISSION_DENIED, 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 à la Google Cloud CLI à l'aide du compte ayant accès au projet.

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

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

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

  4. Si votre organisation a configuré une liste d'autorisation qui permet au trafic provenant 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

Si la version 1.15.3 ou une version ultérieure de votre cluster est installée, vous pouvez l'enregistrer à l'aide de l'outil de ligne de commande bmctl.

Enregistrer un cluster d'utilisateur

gcloud CLI

Veillez à faire défiler la page si nécessaire pour remplir l'espace réservé ADMIN_CLUSTER_NAME pour l'option --admin-cluster-membership.

gcloud container bare-metal clusters enroll USER_CLUSTER_NAME  \
    --project=PROJECT_ID \
    --admin-cluster-membership=projects/PROJECT_ID/locations/global/memberships/ADMIN_CLUSTER_NAME \
    --location=REGION

Remplacez les éléments suivants :

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

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

  • ADMIN_CLUSTER_NAME: cluster d'administrateur qui gère le cluster d'utilisateur. Le nom du cluster d'administrateur est le dernier segment du nom complet du cluster qui identifie de manière unique le cluster dans Google Cloud.

  • 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. La région ne peut plus être modifiée une fois le cluster enregistré.

bmctl 1.15.3+

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

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

    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. La région ne peut plus être modifiée une fois le cluster enregistré.

  2. Mettez à jour le cluster :

    bmctl update cluster -c USER_CLUSTER_NAME \
      --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    Remplacez les éléments suivants :

    • USER_CLUSTER_NAME: nom du cluster d'utilisateur à mettre à jour.

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

Enregistrer un cluster d'administrateur

gcloud CLI

Veillez à faire défiler la page si nécessaire pour remplir l'espace réservé ADMIN_CLUSTER_NAME pour l'option --admin-cluster-membership.

gcloud container bare-metal admin-clusters enroll ADMIN_CLUSTER_NAME \
    --project=PROJECT_ID \
    --admin-cluster-membership=projects/PROJECT_ID/locations/global/memberships/ADMIN_CLUSTER_NAME \
    --location=REGION

Remplacez les éléments suivants :

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

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

    ADMIN_CLUSTER_NAME et PROJECT_ID permettent de former le nom de cluster complet 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. La région ne peut plus être modifiée une fois le cluster enregistré.

bmctl 1.15.3+

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

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

    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. La région ne peut plus être modifiée une fois le cluster enregistré.

  2. Mettez à jour le cluster :

    bmctl update cluster -c ADMIN_CLUSTER_NAME \
    --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    Remplacez les éléments suivants :

    • ADMIN_CLUSTER_NAME: nom du cluster d'administrateur à mettre à jour.

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

Obtenir des informations sur votre cluster

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

Cluster d'utilisateur

  • Pour décrire un cluster d'utilisateur:
gcloud container bare-metal clusters describe USER_CLUSTER_NAME \
    --project=PROJECT_ID \
    --location=REGION
  • Pour répertorier vos clusters d'utilisateur:
gcloud container bare-metal clusters list \
    --project=PROJECT_ID \
    --location=-

Lorsque vous définissez --location=-, cela signifie que tous les clusters de toutes les régions sont répertoriés. Si vous devez réduire la liste, définissez --location sur la région que vous avez spécifiée lors de l'enregistrement du cluster.

Cluster d'administrateur

  • Pour décrire un cluster d'administrateur:
gcloud container bare-metal admin-clusters describe ADMIN_CLUSTER_NAME \
    --project=PROJECT_ID \
    --location=REGION
  • Pour répertorier vos clusters d'administrateur:
gcloud container bare-metal admin-clusters list \
    --project=PROJECT_ID \
    --location=-

Lorsque vous définissez --location=-, cela signifie que tous les clusters de toutes les régions sont répertoriés. Si vous devez réduire la liste, définissez --location sur la région que vous avez spécifiée lors de l'enregistrement du 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 afin de pouvoir gérer le cluster à partir de la console Google 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 :