Créer des clusters de base

Il s'agit de la deuxième partie d'un guide qui vous guide tout au long d'une petite démonstration de faisabilité de l'installation de clusters Anthos sur VMware (GKE On-Prem). La première partie est consacrée à la configuration d'une infrastructure minimale, qui vous montre comment planifier vos adresses IP et configurer l'infrastructure vSphere et Google Cloud nécessaire à votre déploiement. Ce document s'appuie sur la configuration et la planification que vous avez effectuées dans la section précédente. Il explique comment créer un poste de travail administrateur, un cluster d'administrateur et un cluster d'utilisateur dans votre environnement vSphere. Vous pouvez ensuite déployer une application.

Comme pour la configuration de l'infrastructure de cette installation simple, les clusters que vous configurez à l'aide de ce document peuvent ne pas être adaptés à vos besoins de production réels et à vos cas d'utilisation. Pour en savoir plus, connaître les bonnes pratiques et obtenir des instructions pour les installations de production, consultez les guides d'installation.

Avant de commencer

Présentation de la procédure

Voici les principales étapes à suivre:

  1. Assurez-vous de disposer de toutes les informations nécessaires pour configurer des clusters Anthos sur VMware, y compris votre nom d'utilisateur et votre mot de passe vCenter, et les adresses IP que vous avez préparées dans la section précédente.
  2. Connectez-vous à Google Cloud CLI avec un compte disposant des autorisations nécessaires pour créer des comptes de service.
  3. Créez un poste de travail administrateur avec les ressources et les outils dont vous avez besoin pour créer des clusters d'administrateur et d'utilisateur, y compris les comptes de service supplémentaires dont vous avez besoin pour terminer la configuration.
  4. Créez un cluster d'administrateur afin d'héberger le plan de contrôle Kubernetes pour vos clusters d'administrateur et d'utilisateur, ainsi que pour gérer et mettre à jour les clusters d'utilisateur.
  5. Créez un cluster d'utilisateur capable d'exécuter des charges de travail réelles.

Recueillir des informations

Avant de commencer à remplir les fichiers de configuration des clusters Anthos sur VMware, assurez-vous de disposer de toutes les informations nécessaires que vous avez préparées dans la section Configurer une infrastructure minimale. Vous aurez besoin de toutes les valeurs suivantes pour configurer des clusters Anthos sur VMware et terminer cette configuration.

Détails de vCenter

Adresses IP

Assurez-vous de disposer de toutes les adresses IP que vous avez choisies dans la section Planifier vos adresses IP, y compris:

  • Une adresse IP pour votre poste de travail administrateur.
  • Dix adresses IP pour vos nœuds de cluster d'administrateur et d'utilisateur, y compris les adresses de deux nœuds supplémentaires pouvant être utilisés lors des mises à niveau du cluster
  • Adresse IP virtuelle (VIP) pour le serveur d'API Kubernetes du cluster d'administrateur.
  • Adresse IP virtuelle pour le serveur d'API Kubernetes du cluster d'utilisateur.
  • Adresse IP virtuelle d'entrée pour le cluster d'utilisateur.
  • Dix adresses IP virtuelles de service pour le cluster d'utilisateur.
  • Plage CIDR pour les pods et les services d'un cluster d'utilisateur si vous devez utiliser des plages autres que celles par défaut, comme décrit dans Éviter le chevauchement.

Vous avez également besoin:

  • Adresse IP d'un serveur DNS.
  • Adresse IP d'un serveur NTP.
  • Adresse IP de la passerelle par défaut pour le sous-réseau qui contient votre poste de travail administrateur et vos nœuds de cluster.

Détails de Google Cloud

Connectez-vous à Google Cloud CLI

La configuration de clusters Anthos sur VMware nécessite plusieurs comptes de service avec des autorisations différentes. Bien que vous deviez créer manuellement votre compte de service d'accès au composant, l'outil de ligne de commande gkeadm peut créer et configurer pour vous les versions par défaut des comptes restants lors de la création du poste de travail administrateur. Pour ce faire, vous devez toutefois être connecté à Google Cloud CLI avec un compte disposant des autorisations nécessaires pour créer et configurer des comptes de service, car gkeadm utilise votre propriété account gcloud CLI actuelle.

  1. Connectez-vous à la gcloud CLI. Vous pouvez utiliser n'importe quel compte Google, mais il doit disposer des autorisations requises. Si vous avez suivi la partie précédente de ce guide, vous vous êtes probablement déjà connecté avec un compte approprié pour créer votre compte de service d'accès au composant.

    gcloud auth login
    
  2. Vérifiez que votre propriété account gcloud CLI est correctement définie:

    gcloud config list
    

    Le résultat affiche la valeur de la propriété account du SDK. Exemple :

    [core]
    account = my-name@google.com
    disable_usage_reporting = False
    Your active configuration is: [default]
    

Créez un poste de travail d'administrateur.

Avant de pouvoir créer des clusters, vous devez configurer SSH, puis vous connecter à un poste de travail administrateur. Le poste de travail administrateur est une VM autonome contenant les outils et les ressources nécessaires pour créer des clusters Anthos dans votre environnement vSphere. La procédure décrite dans cette section utilise l'outil de ligne de commande gkeadm, disponible pour Linux 64 bits, Windows 10, Windows Server 2019 et macOS 10.15, ainsi que leurs versions ultérieures.

Générer des modèles

Exécutez la commande suivante pour générer les fichiers de configuration du modèle:

./gkeadm create config

L'exécution de cette commande génère les fichiers de configuration de modèle suivants dans votre répertoire actuel:

  • credential.yaml, que vous utilisez pour fournir vos informations de connexion vCenter
  • admin-ws-config.yaml, que vous utilisez pour fournir les paramètres de configuration de votre poste de travail administrateur

Remplir le fichier d'identifiants

Dans credential.yaml, renseignez votre nom d'utilisateur et votre mot de passe vCenter. Exemple :

kind: CredentialFile
items:
- name: vCenter
  username: "my-account-name"
  password: "AadmpqGPqq!a"

Remplir le fichier de configuration du poste de travail administrateur

Ouvrez admin-ws-config.yaml pour y apporter des modifications. Une fois l'installation terminée, ce fichier contient toutes les informations dont gkeadm a besoin pour créer un poste de travail administrateur. Certains champs sont déjà renseignés avec des valeurs par défaut ou générées. Ne modifiez pas ces valeurs pour cette installation simple.

Remplissez les autres champs comme indiqué dans les informations recueillies précédemment. Vous trouverez ci-dessous un exemple de fichier de configuration complet si vous ne savez pas comment mettre en forme des champs ou la documentation de référence sur le fichier de configuration du poste de travail administrateur. Vous pouvez ouvrir la page dans un onglet ou une fenêtre séparés afin de pouvoir la consulter lorsque vous renseignez les valeurs des champs.

Champ ou section Instructions
gcp.componentAccessServiceAccountKeyPath Chemin du fichier de clé JSON que vous avez créé pour votre compte de service d'accès au composant.
vCenter.credentials.address Adresse IP ou nom d'hôte de votre serveur vCenter.
vCenter.datacenter Nom de votre centre de données vCenter.
vCenter.datastore Nom de votre magasin de données vCenter.
vCenter.cluster Nom de votre cluster vCenter.
vCenter.network Nom du réseau vCenter dans lequel vous souhaitez créer le poste de travail administrateur.
vCenter.resourcePool Définissez ce champ sur "CLUSTER_NAME/Resources", en remplaçant CLUSTER_NAME par le nom de votre cluster vSphere.
vCenter.caCertPath Chemin d'accès au certificat CA racine de votre serveur vCenter.
proxyURL Si la machine que vous utilisez pour exécuter gkeadm doit utiliser un serveur proxy pour accéder à Internet, définissez ce champ sur l'URL du serveur proxy.
adminWorkstation.ipAllocationMode Définissez ce champ sur "static".
adminWorkstation.network.hostConfig.ip Adresse IP que vous avez sélectionnée précédemment pour votre poste de travail administrateur.
adminWorkstation.network.hostConfig.gateway Adresse IP de la passerelle par défaut pour le sous-réseau que vous souhaitez utiliser pour votre poste de travail administrateur et vos nœuds de cluster.
adminWorkstation.network.hostConfig.netmask Masque de réseau pour le réseau contenant votre poste de travail d'administrateur.
adminWorkstation.network.hostConfig.dns Adresses IP des serveurs DNS que votre poste de travail administrateur peut utiliser.
adminWorkstation.proxyURL Si votre réseau est situé derrière un serveur proxy et que vous souhaitez que votre poste de travail administrateur et vos clusters utilisent le même serveur proxy, définissez ce champ sur l'URL du serveur proxy.

Exemple de fichier de configuration de poste de travail administrateur

Voici un exemple de fichier de configuration de poste de travail administrateur renseigné :

gcp:
  componentAccessServiceAccountKeyPath: "/usr/local/google/home/me/keys/component-access-key.json"
vCenter:
  credentials:
    address: "vc01.example"
    fileRef:
      path: "credential.yaml"
      entry: "vCenter"
  datacenter: "vc01"
  datastore: "vc01-datastore-1"
  cluster: "vc01-workloads-1"
  network: "vc01-net-1"
  resourcePool: "vc01-workloads-1/Resources"
  caCertPath: "/usr/local/google/home/stevepe/certs/vc01-cert.pem"
proxyUrl: ""
adminWorkstation:
  name: gke-admin-ws-220304-014925
  cpus: 4
  memoryMB: 8192
  diskGB: 50
  dataDiskName: gke-on-prem-admin-workstation-data-disk/gke-admin-ws-220304-014925-data-disk.vmdk
  dataDiskMB: 512
  network:
    ipAllocationMode: "static"
    hostConfig:
      ip: "172.16.20.49"
      gateway: "172.16.20.1"
      netmask: "255.255.255.0"
      dns:
      - "203.0.113.1"
  proxyUrl: ""
  ntpServer: ntp.ubuntu.com

Créer votre poste de travail administrateur

Créez votre poste de travail administrateur à l'aide de la commande suivante:

./gkeadm create admin-workstation --auto-create-service-accounts

Exécutez cette commande:

  • Crée votre poste de travail administrateur
  • Il crée automatiquement les comptes de service supplémentaires dont vous avez besoin pour l'installation.
  • Il crée des fichiers de configuration pour vos clusters d'administrateur et d'utilisateur.

La sortie donne des informations détaillées sur la création de votre poste de travail administrateur et fournit une commande que vous pouvez utiliser pour obtenir une connexion SSH à votre poste de travail administrateur :

...
Admin workstation is ready to use.
Admin workstation information saved to /usr/local/google/home/me/my-admin-workstation
This file is required for future upgrades
SSH into the admin workstation with the following command:
ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.20.49
********************************************************************

Pour en savoir plus sur la création d'un poste de travail administrateur, consultez la section Créer un poste de travail administrateur.

Se connecter au poste de travail administrateur

Utilisez la commande affichée dans le résultat précédent pour obtenir une connexion SSH à votre poste de travail administrateur. Exemple :

ssh -i /usr/local/google/home/me/.ssh/gke-admin-workstation ubuntu@172.16.20.49

Afficher les fichiers générés

Sur votre poste de travail administrateur, répertoriez les fichiers du répertoire d'accueil:

ls -1

La sortie doit inclure:

  • admin-cluster.yaml, un fichier de configuration de modèle permettant de créer votre cluster d'administrateur.
  • user-cluster.yaml, un fichier de configuration de modèle permettant de créer votre cluster d'utilisateur
  • Des fichiers de clés JSON pour deux comptes de service gkeadm créés pour vous: un compte de service connect-register et un compte de service logging-monitoring. Notez le nom du fichier de clé JSON pour votre compte de service connect-register. Vous en aurez besoin plus tard lorsque vous créerez vos clusters.

Exemple :

admin-cluster.yaml
admin-ws-config.yaml
sa-key.json
connect-register-sa-2203040617.json
credential.yaml
log-mon-sa-2203040617.json
logs
vc01-cert.pem
user-cluster.yaml

Créer un cluster d'administrateur

Maintenant que vous disposez d'un poste de travail administrateur configuré avec vCenter et d'autres détails, vous pouvez l'utiliser pour créer un cluster d'administrateur dans votre environnement vSphere. Avant de commencer cette étape, assurez-vous de disposer d'une connexion SSH à votre poste de travail administrateur, comme décrit ci-dessus. Toutes les commandes suivantes sont exécutées sur le poste de travail administrateur.

Spécifier des adresses IP statiques pour votre cluster d'administrateur

Pour spécifier les adresses IP statiques que vous avez planifiées précédemment pour vos nœuds de cluster d'administrateur, créez un fichier de bloc d'adresses IP nommé admin-cluster-ipblock.yaml.

Vous avez besoin de cinq adresses IP pour les nœuds suivants de votre cluster d'administrateur :

  • Trois nœuds pour exécuter le plan de contrôle et les modules complémentaires du cluster d'administrateur

  • Un nœud supplémentaire à utiliser temporairement lors des mises à niveau

  • Un nœud pour exécuter le plan de contrôle du cluster d'utilisateur que vous créerez plus tard

Voici un exemple de fichier de bloc d'adresses IP contenant des adresses pour cinq nœuds :

blocks:
  - netmask: 255.255.255.0
    gateway: 172.16.20.1
    ips:
    - ip: 172.16.20.50
      hostname: admin-vm-1
    - ip: 172.16.20.51
      hostname: admin-vm-2
    - ip: 172.16.20.52
      hostname: admin-vm-3
    - ip: 172.16.20.53
      hostname: admin-vm-4
    - ip: 172.16.20.54
      hostname: admin-vm-5

Le champ ips est un tableau d'adresses IP et de noms d'hôte. Il s'agit des adresses IP et des noms d'hôte qu'Anthos Clusters on VMware attribue aux nœuds du cluster d'administrateur.

Dans le fichier de bloc d'adresses IP, vous spécifiez également un masque de sous-réseau et une passerelle par défaut pour les nœuds du cluster d'administrateur.

Renseigner le fichier de configuration du cluster d'administrateur

Ouvrez admin-cluster.yaml pour y apporter des modifications. Une fois l'installation terminée, ce fichier contient toutes les informations dont gkectl a besoin pour créer un cluster d'administrateur pour cette installation de base. Certains champs sont déjà renseignés avec des valeurs par défaut, des valeurs générées ou des valeurs que vous avez fournies lors de la configuration de votre poste de travail administrateur, telles que les détails de vCenter. Ne modifiez pas ces valeurs pour cette installation simple.

Remplissez les autres champs comme indiqué dans les informations recueillies précédemment. Si vous ne savez pas comment mettre en forme des champs, consultez l'exemple de fichier de configuration complet ci-dessous ou la documentation de référence sur le fichier de configuration du cluster d'administrateur. Vous pouvez ouvrir la page dans un onglet ou une fenêtre séparés afin de pouvoir la consulter lorsque vous renseignez les valeurs des champs.

Champ ou section Instructions
vCenter.dataDisk Nom que vous souhaitez utiliser pour le disque de machine virtuelle (VMDK) que le programme d'installation crée pour stocker les données d'objet Kubernetes.
network.hostConfig.dnsServers Adresses IP des serveurs DNS que vos VM de cluster peuvent utiliser.
network.hostConfig.ntpServers Adresses IP des serveurs de temps que les VM de votre cluster peuvent utiliser.
network.ipMode.type Définissez ce champ sur "static".
network.ipMode.ipBlockFilePath Chemin d'accès au fichier de bloc d'adresses IP que vous avez créé précédemment.
network.serviceCIDR et network.podCIDR Ne modifiez ces valeurs que si vous devez utiliser des plages autres que celles par défaut, comme décrit dans Éviter le chevauchement.
loadBalancer.vips.controlPlaneVIP Adresse IP virtuelle (VIP) que vous avez choisie pour le serveur d'API Kubernetes du cluster d'administrateur.
loadbalancer.kind Définissez ce champ sur "MetalLB".
antiAffinityGroups Définir ce champ sur "false"
gkeConnect.projectID Définissez ce champ sur l'ID de votre projet Google.
gkeConnect.registerServiceAccountKeyPath Définissez ce champ sur la clé JSON de votre compte de service connect-register.

Exemple de fichier de configuration de cluster d'administrateur

Voici un exemple de fichier de configuration de cluster d'administrateur renseigné :

apiVersion: v1
kind: AdminCluster
name: "gke-admin-01"
bundlePath: "/var/lib/gke/bundles/gke-onprem-vsphere-1.11.0-gke.543-full.tgz"
vCenter:
  address: "vc01.example"
  datacenter: "vc-01"
  cluster: "vc01-workloads-1"
  resourcePool: "my-cluster/Resources"
  datastore: "vc01-datastore-1"
  caCertPath: "/usr/local/google/home/me/certs/vc01-cert.pem""
  credentials:
    fileRef:
      path: "credential.yaml"
      entry: "vCenter"
  dataDisk: "vc01-admin-disk.vmdk"
network:
  hostConfig:
    dnsServers:
    - "203.0.113.1"
    - "198.51.100.1"
    ntpServers:
    - "216.239.35.4"
  ipMode:
    type: "static"
  serviceCIDR: "10.96.232.0/24"
  podCIDR: "192.168.0.0/16"
  vCenter:
    networkName: "vc01-net-1"
loadBalancer:
  vips:
    controlPlaneVIP: "172.16.20.59"
  kind: "MetalLB"
antiAffinityGroups:
  enabled: false
componentAccessServiceAccountKeyPath: "sa-key.json"
gkeConnect:
  projectID: "my-project-123"
  registerServiceAccountKeyPath: "connect-register-sa-2203040617.json"
stackdriver:
  projectID: "my-project-123"
  clusterLocation: "us-central1"
  enableVPC: false
  serviceAccountKeyPath: "log-mon-sa-2203040617.json"
  disableVsphereResourceMetrics: false

Valider le fichier de configuration du cluster d'administrateur

Vérifiez que le fichier de configuration de votre cluster d'administrateur est valide et qu'il peut être utilisé pour créer un cluster :

gkectl check-config --config admin-cluster.yaml

Importer des images d'OS dans vSphere

Exécutez gkectl prepare avec le fichier de configuration terminé pour importer des images d'OS de nœud dans vSphere:

gkectl prepare --config admin-cluster.yaml --skip-validation-all

En exécutant cette commande, vous importez les images dans vSphere et les marquez comme modèles de VM, y compris l'image de votre cluster d'administrateur.

Créer le cluster d'administrateur

Créez le cluster d'administrateur :

gkectl create admin --config admin-cluster.yaml

Reprendre la création du cluster d'administrateur après un échec

Si la création du cluster d'administrateur échoue ou est annulée, vous pouvez exécuter à nouveau la commande create :

gkectl create admin --config admin-cluster.yaml

Localiser le fichier kubeconfig du cluster d'administrateur

La commande gkectl create admin crée un fichier kubeconfig nommé kubeconfig dans le répertoire actuel. Vous aurez besoin de ce fichier kubeconfig ultérieurement pour interagir avec votre cluster d'administrateur.

Vérifier que votre cluster d'administrateur est en cours d'exécution

Vérifiez que votre cluster d'administrateur est en cours d'exécution :

kubectl get nodes --kubeconfig kubeconfig

Le résultat affiche les nœuds du cluster d'administrateur. Exemple :

gke-admin-master-hdn4z            Ready    control-plane,master ...
gke-admin-node-7f46cc8c47-g7w2c   Ready ...
gke-admin-node-7f46cc8c47-kwlrs   Ready ...

Créer un cluster d'utilisateur

Vous pouvez créer un cluster d'utilisateur pour cette installation simple dans la console Google Cloud ou depuis la ligne de commande sur votre poste de travail administrateur. Actuellement, vous ne pouvez créer des clusters d'utilisateur que dans la console Google Cloud.

Console

Cette approche utilise un service Google Cloud appelé l'API GKE On-Prem pour créer et gérer des clusters dans votre environnement vSphere. Lorsque vous créez un cluster d'utilisateur depuis la console Google Cloud, cette API est automatiquement activée dans le projet hôte de parc que vous avez choisi. Pour en savoir plus, consultez Créer un cluster d'utilisateur dans la console Google Cloud. Cette approche implique également qu'en tant que créateur de cluster, vous pouvez vous connecter automatiquement à votre nouveau cluster dans la console Google Cloud avec votre identité Google. Toutefois, vous devrez configurer l'authentification pour tous les autres utilisateurs.

  1. Dans la console Google Cloud, accédez à la page Clusters d'Anthos.

    Accéder à la page "Clusters Anthos"

  2. Sélectionnez le projet Google Cloud dans lequel vous souhaitez créer le cluster. Le projet sélectionné sera également votre projet hôte du parc. Il doit s'agir du même projet que celui dans lequel le cluster d'administrateur est enregistré. Une fois le cluster d'utilisateur créé, il est automatiquement enregistré dans le parc du projet sélectionné.

  3. Cliquez sur Create Cluster (Créer le cluster).

  4. Dans la boîte de dialogue, cliquez sur Sur site.

  5. À côté de VMware vSphere, cliquez sur Configurer.

  6. Vérifiez les conditions préalables, puis cliquez sur Continuer.

Paramètres de base du cluster

  1. Saisissez un nom pour le cluster d'utilisateur.
  2. Sous Cluster d'administration, sélectionnez dans la liste le cluster d'administrateur que vous avez créé précédemment. Si le cluster d'administrateur que vous souhaitez utiliser ne s'affiche pas, consultez la section de dépannage Le cluster d'administrateur ne s'affiche pas dans la liste déroulante Paramètres de base du cluster.

  3. Dans le champ emplacement de l'API GCP, sélectionnez la région Google Cloud dans la liste. En plus de contrôler la région dans laquelle l'API GKE On-Prem s'exécute, ce paramètre contrôle la région dans laquelle les éléments suivants sont stockés :

    • Métadonnées du cluster d'utilisateur dont l'API GKE On-Prem a besoin pour gérer le cycle de vie du cluster
    • Données de journalisation, de surveillance et d'audit pour les composants système
  4. Sélectionnez la version d'Anthos clusters on VMware pour votre cluster d'utilisateur.

  5. Cliquez sur Continuer pour accéder à la section Mise en réseau.

Mise en réseau

Dans cette section, vous spécifiez les adresses IP des nœuds, des pods et des services de votre cluster. Pour cette installation simple, votre cluster a besoin d'une adresse pour trois nœuds et d'une adresse IP supplémentaire qui peut être utilisée pour un nœud temporaire lors de la mise à niveau du cluster d'utilisateur.

  1. Dans la section Adresses IP de nœuds, spécifiez le mode IP du cluster statique.

  2. À l'aide des adresses que vous avez planifiées précédemment pour les nœuds de votre cluster d'utilisateur, renseignez les informations suivantes:

    1. Saisissez l'adresse IP de la passerelle du cluster d'utilisateur.
    2. Saisissez le masque de sous-réseau pour les nœuds de cluster d'utilisateur.
    3. Dans la section Adresses IP, saisissez les adresses IP et éventuellement les noms d'hôte des nœuds de calcul du cluster d'utilisateur. Vous pouvez saisir une adresse IP individuelle v4 (telle que 192.0.2.1) ou un bloc CIDR d'adresses IPv4 (par exemple, 192.0.2.0/24).

      • Si vous saisissez un bloc CIDR, ne saisissez pas de nom d'hôte.
      • Si vous saisissez une adresse IP individuelle, vous pouvez éventuellement saisir un nom d'hôte. Si vous ne saisissez pas de nom d'hôte, les clusters Anthos sur VMware utilisent le nom de la VM dans vSphere comme nom d'hôte.
    4. Cliquez sur + Ajouter une adresse IP si nécessaire pour saisir d'autres adresses IP.

  3. Conservez les valeurs fournies par défaut dans la section CIDR des services et des pods, sauf si vous devez utiliser des plages autres que celles par défaut, comme décrit dans la section Éviter le chevauchement.

  4. Spécifiez les informations suivantes dans la section Configuration de l'hôte:

    1. Saisissez les adresses IP des serveurs DNS que votre cluster d'utilisateur peut utiliser.
    2. Saisissez les adresses IP des serveurs NTP.
  5. Cliquez sur Continuer pour accéder à la section Équilibreur de charge.

Équilibreur de charge

Configurez MetalLB en tant qu'équilibreur de charge.

  1. Dans le champ Type d'équilibreur de charge, laissez MetalLB sélectionné.

  2. Dans la section Adresses IP virtuelles, saisissez les informations suivantes :

    • Adresse IP virtuelle de plan de contrôle : l'adresse IP de destination à utiliser pour le trafic envoyé au serveur d'API Kubernetes du cluster d'utilisateur. Cette adresse IP doit se trouver dans le même domaine L2 que les nœuds du cluster d'administrateur. N'ajoutez pas cette adresse dans la section Pools d'adresses.

    • Adresse IP virtuelle d'entrée : adresse IP à configurer sur l'équilibreur de charge pour le proxy d'entrée. Il doit être inclus dans le pool d'adresses que vous spécifiez dans la section Pools d'adresses.

  3. Dans la section Pools d'adresses, spécifiez un pool d'adresses pour l'équilibreur de charge, y compris l'adresse IP virtuelle d'entrée. Il s'agit des adresses IP virtuelles de service que vous avez planifiées précédemment.

    1. Cliquez sur + Ajouter une plage d'adresses IP.
    2. Saisissez un nom pour le pool d'adresses.
    3. Saisissez la plage d'adresses IP au format CIDR (par exemple, 192.0.2.0/26) ou au format de plage (par exemple, 192.0.2.64-192.0.2.72). Les adresses IP de chaque pool ne peuvent pas se chevaucher et doivent se trouver dans le même sous-réseau que les nœuds du cluster.
    4. Sous Attribution d'adresses IP, sélectionnez Automatique.
    5. Lorsque vous avez fini, cliquez sur Terminé.
  4. Cliquez sur Continuer.

Plan de contrôle

Utilisez les valeurs par défaut fournies dans cette section. Cliquez sur Continuer.

Fonctionnalités

  1. Désactivez l'option Activer les groupes d'anti-affinités. Lorsque vous avez configuré l'infrastructure minimale, vous n'avez créé qu'un seul hôte ESXi. Par conséquent, vous ne devez pas activer les groupes d'anti-affinité.

  2. Cliquez sur Continuer.

Pools de nœuds

Votre cluster doit comporter au moins un pool de nœuds. Un pool de nœuds représente le modèle des groupes de nœuds créés dans ce cluster. Pour en savoir plus, consultez la page Créer et gérer des pools de nœuds.

Examinez les valeurs par défaut configurées pour le pool de nœuds. Les valeurs par défaut sont suffisantes pour l'infrastructure minimale, mais vous pouvez les ajuster si nécessaire.

Vérifier et terminer

Cliquez sur Vérifier et terminer pour créer le cluster d'utilisateur. La création du cluster d'utilisateur prend au moins 10 minutes. La console Google Cloud affiche les messages d'état de vérification des paramètres et de création du cluster dans votre centre de données.

Vous êtes automatiquement connecté au cluster après l'avoir créé. Les autres opérateurs doivent suivre les étapes décrites dans la section Se connecter à un cluster depuis la console Cloud pour accéder au cluster.

Si vous rencontrez une erreur lors de la vérification des paramètres, la console Google Cloud affiche un message d'erreur qui devrait être suffisamment clair pour résoudre le problème de configuration, puis réessayez de créer le cluster.

Pour en savoir plus sur les erreurs possibles et sur la façon de les corriger, consultez la page Résoudre les problèmes de création de cluster d'utilisateur dans la console Google Cloud.

Créer le fichier kubeconfig du cluster d'utilisateur

Pour accéder au cluster utilisateur de votre centre de données à partir de la ligne de commande, vous devez obtenir un fichier kubeconfig à partir du cluster d'administrateur. Lorsque la console Cloud indique que l'état du cluster d'utilisateur est opérationnel, exécutez la commande suivante sur le poste de travail administrateur pour enregistrer un nouveau fichier kubeconfig pour le cluster d'utilisateur localement. Remplacez les éléments suivants :

  • CLUSTER_NAME : nom du cluster d'utilisateur nouvellement créé.
  • ADMIN_CLUSTER_KUBECONFIG : chemin d'accès au fichier kubeconfig du cluster d'administrateur.
  • USER_CLUSTER_KUBECONFIG : nom du fichier kubeconfig du cluster d'utilisateur généré par la commande
kubectl get secret admin \
--kubeconfig ADMIN_CLUSTER_KUBECONFIG \
-n CLUSTER_NAME \
-o=jsonpath='{.data.admin\.conf}' | base64 -d > USER_CLUSTER_KUBECONFIG

Une fois le fichier enregistré, vous pouvez commencer à accéder au cluster d'utilisateur à l'aide de kubectl, comme dans l'exemple suivant:

kubectl --kubeconfig USER_CLUSTER_KUBECONFIG get namespaces

Ligne de commande

Assurez-vous de disposer d'une connexion SSH à votre poste de travail administrateur, comme décrit ci-dessus, avant de commencer cette procédure. Toutes les commandes suivantes sont exécutées sur le poste de travail administrateur.

Spécifier des adresses IP statiques pour votre cluster d'utilisateur

Pour spécifier les adresses IP statiques que vous avez planifiées précédemment pour vos nœuds de cluster d'utilisateur, créez un fichier de bloc d'adresses IP nommé user-cluster-ipblock.yaml. Vous avez besoin de trois adresses IP pour vos nœuds de cluster d'utilisateur et d'une adresse supplémentaire à utiliser temporairement lors des mises à niveau. Voici un exemple de fichier de bloc d'adresses IP avec quatre adresses :

blocks:
  - netmask: 255.255.255.0
    gateway: 172.16.20.1
    ips:
    - ip: 172.16.20.55
      hostname: user-vm-1
    - ip: 172.16.20.56
      hostname: user-vm-2
    - ip: 172.16.20.57
      hostname: user-vm-3
    - ip: 172.16.20.58
      hostname: user-vm-4

Renseigner le fichier de configuration du cluster d'utilisateur

Lorsque gkeadm a créé votre poste de travail administrateur, il a généré un fichier de configuration nommé user-cluster.yaml. Ce fichier de configuration vous permet de créer votre cluster d'utilisateur. Certains champs sont déjà renseignés avec des valeurs par défaut, des valeurs générées ou des valeurs que vous avez fournies lors de la configuration de votre poste de travail administrateur, telles que les détails de vCenter. Ne modifiez pas ces valeurs pour cette installation simple.

  1. Ouvrez user-cluster.yaml pour y apporter des modifications.

  2. Remplissez les autres champs comme indiqué dans les informations recueillies précédemment. Si vous ne savez pas comment mettre en forme des champs, consultez l'exemple de fichier de configuration complet ci-dessous ou consultez la documentation de référence sur les fichiers de configuration des clusters d'utilisateur. Vous pouvez laisser la page ouverte dans un onglet ou une fenêtre séparés afin de pouvoir vous y référer lorsque vous renseignez les champs.

Champ ou section Instructions
name Nom de votre choix pour le cluster d'utilisateur
network.hostConfig.dnsServers Adresses IP des serveurs DNS que vos VM de cluster peuvent utiliser.
network.hostConfig.ntpServers Adresses IP des serveurs de temps que les VM de votre cluster peuvent utiliser.
network.ipMode.type Définissez ce champ sur "static".
network.ipMode.ipBlockFilePath Chemin d'accès à user-cluster-ipblock.yaml.
network.serviceCIDR et network.podCIDR Ne modifiez ces valeurs que si vous devez utiliser des plages autres que celles par défaut, comme décrit dans Éviter le chevauchement.
loadBalancer.vips.controlPlaneVIP Adresse IP virtuelle (VIP) que vous avez choisie pour le serveur d'API Kubernetes du cluster d'utilisateur.
loadBalancer.vips.ingressVIP Adresse IP virtuelle que vous avez choisi de configurer sur l'équilibreur de charge pour le proxy d'entrée.
loadbalancer.kind Définissez ce champ sur "MetalLB".
loadbalancer.metalLB.addressPools Spécifiez un pool d'adresses pour l'équilibreur de charge : il s'agit des adresses IP virtuelles de service que vous avez planifiées précédemment. Indiquez un name pour le pool d'adresses et l'addresses choisi. Le pool d'adresses doit inclure l'adresse IP virtuelle du proxy d'entrée.
nodePools Utilisez les valeurs préremplies fournies pour un pool de nœuds unique, en spécifiant le name que vous avez choisi. Définissez enableLoadBalancer sur true pour votre pool de nœuds. Cette étape est nécessaire pour utiliser MetalLB, car elle s'exécute sur vos nœuds de cluster.
antiAffinityGroups Définir ce champ sur "false"
gkeConnect.projectID Définissez ce champ sur l'ID de votre projet Google.
gkeConnect.registerServiceAccountKeyPath Définissez ce champ sur la clé JSON de votre compte de service connect-register.

Exemple de fichier de configuration de cluster d'utilisateur

Voici un exemple de fichier de configuration de cluster d'utilisateur renseigné :

apiVersion: v1
kind: UserCluster
name: "my-user-cluster"
gkeOnPremVersion: "1.11.0-gke.543"
network:
  hostConfig:
    dnsServers:
    - "203.0.113.1"
    - "198.51.100.1"
    ntpServers:
    - "216.239.35.4"
  ipMode:
    type: "static"
  serviceCIDR: "10.96.0.0/20"
  podCIDR: "192.168.0.0/16"
loadBalancer:
  vips:
    controlPlaneVIP: "172.16.20.61"
    ingressVIP: "172.16.20.62"
  kind: "MetalLB"
  metalLB:
    addressPools:
    - name: "uc-address-pool"
      addresses:
      - "172.16.20.62-172.16.20.72"
nodePools:
- name: "uc-node-pool"
  cpus: 4
  memoryMB: 8192
  replicas: 3
  enableLoadBalancer: true
antiAffinityGroups:
  enabled: false
gkeConnect:
  projectID: "my-project-123"
  registerServiceAccountKeyPath: "connect-register-sa-2203040617.json"
stackdriver:
  projectID: "my-project-123"
  clusterLocation: "us-central1"
  enableVPC: false
  serviceAccountKeyPath: "log-mon-sa-2203040617.json"
  disableVsphereResourceMetrics: false
autoRepair:
  enabled: true

Valider la configuration et créer le cluster

  1. Vérifiez que le fichier de configuration de votre cluster utilisateur est valide et qu'il peut être utilisé pour créer un cluster :

    gkectl check-config --kubeconfig kubeconfig --config user-cluster.yaml
    
  2. Créez le cluster d'utilisateur :

    gkectl create cluster --kubeconfig kubeconfig --config user-cluster.yaml
    

    La création du cluster prend environ 30 minutes.

Localiser le fichier kubeconfig du cluster d'utilisateur

La commande gkectl create cluster crée un fichier kubeconfig nommé USER_CLUSTER_NAME-kubeconfig dans le répertoire actuel. Vous aurez besoin de ce fichier kubeconfig ultérieurement pour interagir avec votre cluster d'utilisateur.

Vérifier que le cluster d'utilisateur est en cours d'exécution

Vérifiez que votre cluster d'utilisateur est en cours d'exécution :

kubectl get nodes --kubeconfig USER_CLUSTER_KUBECONFIG

Remplacez USER_CLUSTER_KUBECONFIG par le chemin d'accès de votre fichier kubeconfig.

Le résultat affiche les nœuds du cluster d'utilisateur. Exemple :

my-user-cluster-node-pool-69-d46d77885-7b7tx   Ready ...
my-user-cluster-node-pool-69-d46d77885-lsvzk   Ready ...
my-user-cluster-node-pool-69-d46d77885-sswjk   Ready ...

Étapes suivantes

Vous avez terminé cette installation minimale de Clusters Anthos sur VMware. Vous pouvez également voir votre installation en action en déployant une application.