Créer un cluster d'administrateur à l'aide de la console Google Cloud

Utilisez la console Google Cloud pour créer un cluster d'administrateur pour le logiciel Google Distributed Cloud uniquement pour VMware afin d'utiliser une interface utilisateur graphique pour obtenir des conseils structurés. Vous pouvez également créer un cluster d'administrateur à l'aide de gkectl ou de la consoleGoogle Cloud .

Avant de commencer

  • Assurez-vous d'avoir configuré votre poste de travail administrateur et de pouvoir vous y connecter, comme décrit dans Créer un poste de travail administrateur.

  • Assurez-vous que les fichiers de clé JSON des comptes de service se trouvent sur votre poste de travail administrateur.

  • Consultez le document de planification des adresses IP. Assurez-vous de disposer de suffisamment d'adresses IP pour les trois nœuds du plan de contrôle et une adresse IP virtuelle du plan de contrôle. Si vous prévoyez de créer des clusters d'utilisateur kubeception, vous devez disposer de suffisamment d'adresses IP pour les nœuds de plan de contrôle de ces clusters d'utilisateur.

  • Consultez la présentation de l'équilibrage de charge et examinez votre décision concernant le type d'équilibreur de charge que vous souhaitez utiliser. Pour les équilibreurs de charge manuels, vous devez configurer l'équilibreur de charge avant de créer votre cluster d'administrateur.

  • Si vous utilisez gkectl pour créer le cluster d'administrateur, décidez si vous souhaitez utiliser un registre public ou privé pour les composants Google Distributed Cloud. Pour en savoir plus sur l'utilisation d'un registre Docker privé, consultez privateRegistry. Ni Terraform ni la console Google Cloud ne sont compatibles avec l'utilisation d'un registre Docker privé pour les composants système.

  • Choisissez le type de système d'exploitation à exécuter sur vos nœuds de cluster d'administrateur.

  • Si votre organisation exige que le trafic sortant passe par un serveur proxy, assurez-vous d'ajouter à la liste d'autorisation les API requises et l'adresse d'Artifact Registry.

  • Dans les versions 1.29 et ultérieures, les vérifications préliminaires côté serveur sont activées par défaut. Les vérifications préliminaires côté serveur nécessitent des règles de pare-feu supplémentaires. Dans la section Règles de pare-feu pour les clusters d'administrateur, recherchez "Vérifications préaliminaires" et assurez-vous que toutes les règles de pare-feu requises sont configurées. Les vérifications préliminaires côté serveur sont exécutées sur le cluster d'amorçage au lieu d'être exécutées localement sur le poste de travail administrateur.

Présentation de la procédure

Avant de créer le cluster d'administrateur, vous devez exécuter la commande gkectl register bootstrap sur votre station de travail administrateur. Cette commande déploie un cluster Kubernetes in Docker (kind) sur le poste de travail administrateur. Ce cluster d'amorçage héberge les contrôleurs Kubernetes nécessaires à la création du cluster d'administrateur. Lorsque vous créez le cluster d'administrateur, les contrôleurs du cluster d'amorçage provisionnent les nœuds, exécutent les vérifications préliminaires et enregistrent le cluster d'administrateur dans le parc. Le cluster d'amorçage est automatiquement supprimé une fois le cluster d'administrateur créé.

Voici les principales étapes à suivre pour créer un cluster d'administrateur à l'aide de la console :

  1. Dans la console, vous saisissez les informations requises par gkectl register bootstrap. La console affiche la commande gkectl register bootstrap avec les informations que vous avez saisies. La commande affichée inclut également des indicateurs pour les chemins d'accès que vous devrez spécifier avant d'exécuter la commande.

  2. Sur votre poste de travail administrateur, exécutez gkectl register bootstrap pour créer le cluster d'amorçage. Une fois la création du cluster d'amorçage terminée, le résultat de la commande vous indique de terminer la configuration du cluster d'administrateur. Le processus continue de s'exécuter jusqu'à ce que le cluster d'administrateur soit créé.

  3. Vous revenez à la console pour terminer de saisir les informations nécessaires à la création du cluster. Lors de la création du cluster, la commande gkectl register bootstrap affiche des informations sur la progression et écrit des journaux sur votre poste de travail administrateur. Lorsque le cluster d'administrateur est créé, le cluster d'amorçage est automatiquement supprimé.

Commencer à configurer le cluster

  1. Dans la console, accédez à la page Créer un cluster sur VMware.

    Accéder à la page "Créer un cluster sur VMware"

  2. Sélectionnez le projet Google Cloud dans lequel vous souhaitez créer le cluster.

    Lorsque vous créerez le cluster d'amorçage dans une section ultérieure, l'ID du projet sélectionné s'affichera dans la commande gkectl register bootstrap avec l'indicateur --project-id.

  3. Assurez-vous que l'option Créer un cluster d'administrateur est sélectionnée.

  4. Cliquez sur Suivant : Installer l'environnement d'amorçage.

Installer l'environnement d'amorçage

Dans cette section, vous allez saisir les informations requises par la commande gkectl register bootstrap. Lorsque vous saisissez des valeurs dans les champs de l'interface utilisateur, la console copie les valeurs dans les indicateurs correspondants de la commande gkectl register bootstrap affichée dans la section Environnement d'amorçage à partir du poste de travail administrateur en bas de la page.

Paramètres de base de l'environnement d'amorçage

  1. Saisissez un nom pour le cluster d'administrateur. La console utilise le nom du cluster comme valeur pour l'indicateur --target-cluster-name dans la commande gkectl register bootstrap affichée en bas de la page. Le nom ne peut pas comporter plus de 20 caractères.

  2. Dans le champ Emplacement de l'API Google Cloud , sélectionnez une région Google Clouddans la liste. Ce paramètre spécifie la région dans laquelle les API et les services suivants s'exécutent :

    • API GKE On-Prem (gkeonprem.googleapis.com)
    • Service de parc (gkehub.googleapis.com)
    • Connecter le service (gkeconnect.googleapis.com)

    Ce paramètre contrôle également la région dans laquelle les éléments suivants sont stockés :

    • Métadonnées du cluster dont l'API GKE On-Prem a besoin pour gérer le cycle de vie du cluster
    • Données Cloud Logging et Cloud Monitoring des composants système
    • Journal d'audit d'administrateur créé par Cloud Audit Logs

    Le champ Google Cloud API Location correspond au flag --location dans la commande gkectl register bootstrap.

  3. Dans le champ Version du cluster d'administrateur, saisissez la version à utiliser pour créer le cluster. La version que vous sélectionnez ici doit correspondre à celle du bundle que vous spécifiez dans le flag --bundle-path de la commande gkectl register bootstrap.

Configuration de vCenter

Si vous avez utilisé gkeadm pour créer votre poste de travail administrateur, ouvrez le fichier de configuration de ce poste de travail afin de pouvoir copier les valeurs de la section vCenter dans les champs de la console. Notez que le fichier de configuration du cluster d'administrateur généré contient également ces informations.

La plupart des champs de cette section sont immuables. Consultez la section vCenter de la documentation de référence sur le fichier de configuration du cluster d'administrateur pour savoir si un champ est modifiable ou non.

  1. Dans le champ Adresse, saisissez l'adresse vCenter Server.

    • Fichier de configuration du poste de travail administrateur : utilisez la valeur du champ vCenter.credentials.address.

    • Le champ Adresse correspond à l'indicateur --vcenter-address de la commande gkectl register bootstrap.

  2. Dans le champ Centre de données, saisissez le nom de votre centre de données vCenter.

    • Fichier de configuration du poste de travail administrateur : utilisez la valeur du champ vCenter.datacenter.

    • Le champ Datacenter correspond à l'indicateur --vcenter-datacenter de la commande gkectl register bootstrap.

  3. Dans le champ Nom du cluster, saisissez le nom de votre cluster vCenter.

    • Fichier de configuration du poste de travail administrateur : utilisez la valeur du champ vCenter.cluster.

    • Le champ Nom du cluster correspond à l'indicateur --vcenter-cluster dans la commande gkectl register bootstrap.

  4. Dans le champ Pool de ressources, saisissez le nom ou le chemin d'accès à votre pool de ressources vCenter.

    • Fichier de configuration du poste de travail administrateur : utilisez la valeur du champ vCenter.resourcePool.

    • Le champ Pool de ressources correspond à l'indicateur --vcenter-resource-pool de la commande gkectl register bootstrap.

  5. Configurez une option de stockage en saisissant l'une des valeurs suivantes :

    • Champ Datastore : saisissez le nom de votre datastore vCenter. La valeur que vous spécifiez doit être un nom, et non un chemin d'accès. Si vous devez saisir un chemin d'accès, saisissez-le dans le champ Dossier.

      • Fichier de configuration du poste de travail administrateur : utilisez la valeur du champ vCenter.datastore.

      • Le champ Datastore correspond à l'indicateur --vcenter-datastore de la commande gkectl register bootstrap.

    • Champ Nom de la règle de stockage : saisissez le nom de la règle de stockage de VM pour les nœuds du cluster. Pour en savoir plus, consultez Configurer une règle de stockage.

      • Fichier de configuration du poste de travail administrateur : utilisez la valeur du champ vCenter.storagePolicyName.

      • Le champ Nom de la règle de stockage correspond à l'indicateur --vcenter-storage-policy dans la commande gkectl register bootstrap.

    Vous devez saisir une valeur dans le champ Datastore ou Nom de la règle de stockage, mais pas les deux.

  6. Vous pouvez éventuellement saisir le nom du dossier vCenter dans le champ Dossier, où se trouveront les VM de votre cluster.

    • Fichier de configuration du poste de travail administrateur : utilisez la valeur du champ vCenter.folder.

    • Le champ Dossier correspond au flag --vcenter-folder de la commande gkectl register bootstrap.

  7. Dans le champ Réseau, saisissez le nom de votre réseau vCenter.

    • Fichier de configuration du poste de travail administrateur : utilisez la valeur du champ vCenter.network.

    • Le champ Réseau correspond à l'option --vcenter-network dans la commande gkectl register bootstrap.

  8. Dans le champ Chemin d'accès au certificat CA, saisissez le chemin d'accès au certificat CA racine de votre serveur vCenter.

    • Si vous avez utilisé gkeadm pour créer votre station de travail administrateur, gkeadm a copié le fichier de certificat CA que vous aviez localement sur votre station de travail administrateur.

    • Le champ chemin d'accès au certificat CA correspond à --vcenter-ca-cert-path dans la commande gkectl register bootstrap.

Obtenir le certificat CA

Après avoir créé le cluster d'amorçage, vous devrez fournir le certificat CA vCenter au format PEM dans le champ Données du certificat CA de la page Informations de base sur le cluster. Exécutez la commande suivante pour afficher le certificat :

cat CA_CERT_PATH

Remplacez CA_CERT_PATH par le chemin d'accès au certificat CA racine de votre serveur vCenter. Si vous exécutez cette commande en local, utilisez le chemin d'accès dans vCenter.caCertPath dans le fichier de configuration de votre poste de travail administrateur.

Copiez l'intégralité du certificat dans un éditeur de texte afin de pouvoir le coller dans le champ Données du certificat CA de la page Principes de base du cluster une fois le cluster d'amorçage créé.

Amorcer l'environnement depuis le poste de travail administrateur

Lorsque vous exécutez la commande gkectl register bootstrap, vous êtes invité à saisir le nom d'utilisateur et le mot de passe du compte vCenter. Assurez-vous d'avoir les identifiants à portée de main. Si vous avez utilisé gkeadm pour créer la station de travail administrateur, le nom d'utilisateur et le mot de passe se trouvent dans le fichier credential.yaml.

  1. Faites défiler la page jusqu'à la section Amorcer l'environnement depuis le poste de travail administrateur pour afficher la commande gkectl register bootstrap.

    Laissez cette page ouverte pendant que vous accédez à votre station de travail administrateur pour créer le cluster d'amorçage.

  2. Copiez et collez la commande gkectl register bootstrap dans un éditeur de texte afin de pouvoir spécifier des valeurs pour les indicateurs suivants :

        ./gkectl register bootstrap \
          ...
          --bundle-path=BUNDLE_PATH \
          ...
          --component-access-service-account-key-path=COMPONENT_ACCESS_SA_PATH \
          --register-service-account-key-path=CONNECT_REGISTER_SA_PATH \
          --stackdriver-service-account-key-path=LOG_MON_SA_PATH \
          --cloud-audit-logging-service-account-key-path=CLOUD_AUDIT_SA_PATH \
          --admin-kubeconfig-out=KUBECONFIG_NAME
    

    Remplacez les éléments suivants par les chemins d'accès au poste de travail administrateur :

    • BUNDLE_PATH : chemin d'accès au fichier de bundle. Si vous avez utilisé gkeadm pour créer la station de travail administrateur, le fichier du bundle se trouve dans /var/lib/gke/bundles/. Le nom du fichier dépend de la version de Google Distributed Cloud (par exemple, gke-onprem-vsphere-1.31.0-gke.889-full.tgz).
    • COMPONENT_ACCESS_SA_PATH : chemin d'accès au fichier de clé du compte de service d'accès au composant.
    • CONNECT_REGISTER_SA_PATH : chemin d'accès au fichier de clé du compte de service connect-register.
    • LOG_MON_SA_PATH : chemin d'accès au fichier de clé du compte de service de journalisation et de surveillance.
    • CLOUD_AUDIT_SA_PATH : chemin d'accès au compte de service de journalisation des audits. Si vous n'avez pas créé de compte de service de journalisation d'audit, spécifiez le chemin d'accès au fichier de clé pour le compte de service de journalisation et de surveillance.
    • KUBECONFIG_NAME : nom du fichier kubeconfig créé par la commande gkectl register bootstrap. Si vous ne spécifiez pas cette option, la commande crée le fichier avec le nom kubeconfig dans le répertoire de travail actuel. S'il existe déjà un fichier nommé kubeconfig, la commande l'écrase.

    De plus, si vous avez utilisé gkeadm pour créer votre poste de travail administrateur, gkectl a été téléchargé dans le répertoire /usr/bin/. Dans ce cas, supprimez ./ du début de la commande, car gkectl ne se trouve pas dans le répertoire de travail actuel.

  3. Utilisez SSH pour vous connecter à votre poste de travail administrateur.

  4. Copiez la commande et collez-la dans une fenêtre de terminal sur votre poste de travail administrateur.

  5. Lorsque vous y êtes invité, saisissez (ou copiez et collez) le nom d'utilisateur vCenter. Le nom d'utilisateur n'est pas renvoyé à l'écran.

  6. Lorsque vous y êtes invité, saisissez (ou copiez et collez) le mot de passe vCenter. Le mot de passe n'est pas affiché à l'écran.

La commande exécute de nombreuses validations. Une fois que gkectl a créé le cluster d'amorçage, vous obtenez un résultat semblable à celui-ci, qui est tronqué par souci de lisibilité :

Running workstation validations
- Validation Category: Workstation
    - [SUCCESS] Workstation OS
    - [SUCCESS] Workstation Hardware
    - [SUCCESS] Workstation Package
    - [SUCCESS] Workstation NTP
    - [SUCCESS] Workstation Docker
...
All validation results were SUCCESS.
Unpacking GKE on-prem bundle: /var/lib/gke/bundles/gke-onprem-vsphere-1.31.0-gke.889-full.tgz
...
Successfully created and registered the bootstrap cluster
...
Waiting for preflight checks to run or OnPremAdminCluster to be applied...... -

Le processus continue de s'exécuter jusqu'à ce que le cluster d'administrateur soit créé.

Si vous quittez la commande gkectl register bootstrap avant la création du cluster d'administrateur, la création du cluster d'administrateur échoue. Vous devrez alors supprimer le cluster d'amorçage à l'aide de la commande suivante :

gkectl delete bootstrap \
    --target-cluster-name=ADMIN_CLUSTER_NAME \
    --project-id=PROJECT_ID \
    --location=REGION \
     --register-service-account-key-path=CONNECT_REGISTER_SA_PATH

Terminer de configurer le cluster d'administrateur

Revenez à la console et procédez comme suit :

  1. Sur la page Installer l'environnement bootstrap, cliquez sur Vérifier la connexion.

    En cas de réussite, la console affiche Connexion établie.

    La connexion au cluster d'amorçage doit être établie avant de continuer. Si la connexion n'est pas établie, vérifiez les arguments que vous avez spécifiés pour la commande gkectl register bootstrap :

    • Assurez-vous que la valeur de --target-cluster-name correspond au nom du cluster d'administrateur affiché dans la section Principes de base de l'environnement d'amorçage.

    • Assurez-vous que la valeur de --project-id correspond à l'ID du projet que vous avez sélectionné dans la console.

    Si vous devez modifier le nom du cluster d'amorçage, l'ID de projet ou d'autres valeurs d'indicateurs, procédez comme suit :

    1. Saisissez Ctrl-C pour quitter gkectl register bootstrap.
    2. Supprimez le cluster d'amorçage :

      gkectl delete bootstrap \
        --target-cluster-name=ADMIN_CLUSTER_NAME \
        --project-id=PROJECT_ID \
        --location=REGION \
        --register-service-account-key-path=CONNECT_REGISTER_SA_PATH
      
    3. Réexécutez la commande gkectl register bootstrap.

  2. Cliquez sur Suivant : Principes de base des clusters pour commencer à configurer le cluster d'administrateur.

Paramètres de base du cluster

  1. Dans le champ Données du certificat CA, copiez et collez l'intégralité du certificat CA vCenter au format PEM, comme décrit précédemment dans la section Obtenir le certificat CA.

  2. Dans la section Autorisation, saisissez les adresses e-mail des utilisateurs auxquels vous souhaitez accorder le rôle Kubernetes clusterrole/view en lecture seule. Notez que votre adresse e-mail est automatiquement ajoutée. Les règles de contrôle des accès basé sur les rôles (RBAC) appliquées permettent aux utilisateurs d'exécuter des commandes en lecture seule via la passerelle Connect.

  3. Cliquez sur Next Control Plane (Prochain plan de contrôle).

Plan de contrôle

  1. Examinez les paramètres par défaut dans la section Plan de contrôle et modifiez-les si nécessaire.

  2. Dans la section Adresses IP des nœuds du plan de contrôle, saisissez les adresses IP dans les champs suivants :

    • Passerelle : adresse IP de la passerelle par défaut pour le sous-réseau contenant vos nœuds de cluster.

    • Masque de réseau : masque de réseau pour le sous-réseau contenant vos nœuds de cluster.

    • Adresses IP : saisissez l'adresse IP et, éventuellement, le nom d'hôte des trois nœuds du plan de contrôle.

  3. Cliquez sur Suivant : Mise en réseau.

Mise en réseau

Dans cette section, vous allez spécifier les informations réseau nécessaires pour créer le cluster d'administrateur.

  1. Dans la section Plages CIDR des services et des pods, acceptez les valeurs par défaut pour les plages d'adresses IP des services et des pods Kubernetes, ou saisissez d'autres plages d'adresses CIDR.

    • CIDR du service : la plage la plus petite possible est /24. Plage maximale possible : /12.

    • CIDR des pods : la plage la plus petite possible est /18. La plage la plus étendue possible est /8.

  2. Dans la section Configuration de l'hôte, spécifiez les serveurs NTP, les serveurs DNS et, éventuellement, les domaines de recherche DNS utilisés par les VM qui sont vos nœuds de cluster. Une fois le cluster créé, vous ne pouvez plus modifier ces valeurs.

  3. Cliquez sur Suivant : Équilibreur de charge.

Équilibreur de charge

Dans cette section, vous allez sélectionner le type d'équilibreur de charge à utiliser. Pour en savoir plus, consultez la page Présentation de l'équilibrage de charge.

  1. Dans la liste Type d'équilibreur de charge, sélectionnez un équilibreur de charge :

    • Groupé avec MetalLB : l'équilibreur de charge MetalLB est groupé et nécessite moins de configuration que l'équilibrage de charge manuel. Les composants MetalLB s'exécutent sur vos nœuds de cluster. Vous n'avez donc pas besoin de créer de VM distinctes pour votre équilibreur de charge.

    • Manuel : vous pouvez utiliser l'équilibreur de charge de votre choix à condition de le configurer avant de créer le cluster. Tout équilibreur de charge que vous configurez manuellement nécessite de configurer des mappages entre les adresses IP virtuelles, les adresses de nœud et les valeurs NodePort.

  2. Dans le champ Adresse IP virtuelle du plan de contrôle, saisissez l'adresse IP virtuelle à utiliser pour le trafic envoyé au serveur d'API Kubernetes.

  3. Cliquez sur Vérifier et créer.

    La console affiche les messages d'état de vérification des paramètres et de création du cluster dans votre centre de données.

    En cas de problème de configuration, la console affiche un message d'erreur suffisamment clair pour que vous puissiez résoudre le problème de configuration et tenter à nouveau de créer le cluster.

Des informations sur le processus de création du cluster sont générées sur votre poste de travail administrateur. Si les vérifications préliminaires réussissent, vous obtenez un résultat semblable au suivant :

[2023-03-22 23:12:47+0000] Waiting for cluster kubeconfig to become ready OK
[2023-03-22 23:15:47+0000] Writing kubeconfig file
[2023-03-22 23:15:47+0000] kubeconfig of cluster being created is present at gkectl-workspace/abm-cluster-1/abm-cluster-1-kubeconfig
[2023-03-22 23:15:47+0000] Please restrict access to this file as it contains authentication credentials of your cluster.
[2023-03-22 23:15:47+0000] Waiting for cluster to become ready OK
[2023-03-22 23:20:17+0000] Please run
[2023-03-22 23:20:17+0000] kubectl --kubeconfig gkectl-workspace/abm-cluster-1/abm-cluster-1-kubeconfig get nodes
[2023-03-22 23:20:17+0000] to get cluster nodes status.
[2023-03-22 23:20:17+0000] Waiting for node pools to become ready OK
[2023-03-22 23:20:37+0000] Waiting for metrics to become ready in GCP OK
[2023-03-22 23:25:38+0000] Waiting for cluster API provider to install in the created admin cluster OK
[2023-03-22 23:25:48+0000] Moving admin cluster resources to the created admin cluster
[2023-03-22 23:25:51+0000] Waiting for node update jobs to finish OK
[2023-03-22 23:27:41+0000] Flushing logs... OK
[2023-03-22 23:27:41+0000] Deleting membership... OK
[2023-03-22 23:27:42+0000] Deleting bootstrap cluster.

Se connecter au cluster d'administrateur

La commande gkectl register bootstrap crée un fichier kubeconfig pour le cluster d'administrateur sur votre station de travail administrateur. Si vous n'avez pas spécifié l'indicateur --admin-kubeconfig-out lorsque vous avez exécuté gkectl register bootstrap, la commande crée un fichier kubeconfig appelé kubeconfig dans le répertoire dans lequel vous avez exécuté la commande.

Vous devez restreindre l'accès à ce kubeconfig, car il contient les identifiants d'authentification du cluster.

Vous pouvez également exécuter des commandes kubectl en lecture seule via la passerelle de connexion.

  1. Exécutez la commande suivante sur un ordinateur sur lequel gcloud CLI est installé pour obtenir une entrée kubeconfig pouvant accéder au cluster via la passerelle Connect.

    gcloud container fleet memberships get-credentials ADMIN_CLUSTER_NAME \
        --project=PROJECT_ID
    

    Le résultat ressemble à ce qui suit :

    Starting to build Gateway kubeconfig...
    Current project_id: PROJECT_ID
    A new kubeconfig entry "connectgateway_PROJECT_ID_global_ADMIN_CLUSTER_NAME" has been generated and set as the current context.
    
  2. Vous pouvez maintenant exécuter des commandes kubectl en lecture seule via la passerelle de connexion, telles que les suivantes :

    kubectl get pods -A
    

    Si vous avez besoin de droits d'administrateur complets pour le cluster d'administrateur, consultez Configurer la passerelle Connect.