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
- Assurez-vous d'avoir configuré vos environnements vSphere et Google Cloud, comme décrit dans la section Configurer une infrastructure minimale.
Présentation de la procédure
Voici les principales étapes à suivre:
- 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.
- Connectez-vous à Google Cloud CLI avec un compte disposant des autorisations nécessaires pour créer des comptes de service.
- 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.
- 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.
- 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
Le nom d'utilisateur et le mot de passe de votre compte vCenter
Votre adresse vCenter Server
Le certificat CA racine du serveur vCenter
Nom de votre centre de données vSphere
Le nom de votre cluster vSphere
Nom de votre magasin de données vSphere
Le nom de votre réseau vSphere
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
L'ID du projet Cloud que vous avez choisi
Chemin d'accès au fichier de clé JSON pour le compte de service d'accès au composant que vous avez configuré dans la section précédente.
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.
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
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.
- Téléchargez
gkeadm
dans votre répertoire actuel.
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 vCenteradmin-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.
Dans la console Google Cloud, accédez à la page Clusters d'Anthos.
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é.
Cliquez sur Create Cluster (Créer le cluster).
Dans la boîte de dialogue, cliquez sur Sur site.
À côté de VMware vSphere, cliquez sur Configurer.
Vérifiez les conditions préalables, puis cliquez sur Continuer.
Paramètres de base du cluster
- Saisissez un nom pour le cluster d'utilisateur.
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.
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
Sélectionnez la version d'Anthos clusters on VMware pour votre cluster d'utilisateur.
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.
Dans la section Adresses IP de nœuds, spécifiez le mode IP du cluster statique.
À 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:
- Saisissez l'adresse IP de la passerelle du cluster d'utilisateur.
- Saisissez le masque de sous-réseau pour les nœuds de cluster d'utilisateur.
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.
Cliquez sur + Ajouter une adresse IP si nécessaire pour saisir d'autres adresses IP.
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.
Spécifiez les informations suivantes dans la section Configuration de l'hôte:
- Saisissez les adresses IP des serveurs DNS que votre cluster d'utilisateur peut utiliser.
- Saisissez les adresses IP des serveurs NTP.
Cliquez sur Continuer pour accéder à la section Équilibreur de charge.
Équilibreur de charge
Configurez MetalLB en tant qu'équilibreur de charge.
Dans le champ Type d'équilibreur de charge, laissez MetalLB sélectionné.
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.
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.
- Cliquez sur + Ajouter une plage d'adresses IP.
- Saisissez un nom pour le pool d'adresses.
- 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.
- Sous Attribution d'adresses IP, sélectionnez Automatique.
- Lorsque vous avez fini, cliquez sur Terminé.
Cliquez sur Continuer.
Plan de contrôle
Utilisez les valeurs par défaut fournies dans cette section. Cliquez sur Continuer.
Fonctionnalités
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é.
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.
Ouvrez
user-cluster.yaml
pour y apporter des modifications.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
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
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.