Cette page explique comment exécuter des vérifications préliminaires sur votre fichier de configuration GKE sur VMware.
Présentation
Lors de l'installation, vous exécutez gkectl create-config
pour générer un fichier de configuration GKE sur VMware. Le fichier de configuration guide votre installation : vous fournissez des informations sur votre environnement vSphere, votre réseau et votre équilibreur de charge, ainsi que sur l'apparence souhaitée de vos clusters. Vous pouvez générer un fichier de configuration avant ou après la création d'un poste de travail administrateur. Pour que certaines vérifications réussissent, elles doivent être exécutées à partir du poste de travail administrateur.
Après avoir modifié le fichier pour répondre aux besoins de votre environnement et de vos clusters, vous pouvez l'utiliser pour créer des clusters dans votre environnement sur site.
Avant de créer des clusters, vous devez exécuter gkectl check-config
pour valider le fichier de configuration à l'aide de plusieurs vérifications préliminaires.
Si la commande renvoie des messages FAILURE
, corrigez les problèmes et validez à nouveau le fichier. Si une validation de fonctionnalité renvoie des messages WARNING, vous devez résoudre les problèmes sous-jacents pour pouvoir utiliser cette fonctionnalité.
Modes de vérification préliminaire et ignorer les validations
gkectl check-config
dispose d'un mode par défaut et d'un mode rapide :
En mode par défaut, la commande valide tous les champs. En outre, le mode par défaut crée des machines virtuelles (VM) vSphere temporaires dans le cadre de ses validations, ce qui peut prendre plus de temps.
En mode rapide, la commande ignore les vérifications qui créent des VM de test et n'exécute que les vérifications rapides. Pour activer le mode rapide, vous devez transmettre l'option
--fast
.
Vous pouvez ignorer des validations spécifiques en transmettant d'autres options, décrites à la section gkectl check-config --help
.
Trafic entre le poste de travail administrateur et les VM de test
En mode "Par défaut", la vérification préalable crée des VM de test pour le cluster. Chaque VM de test exécute un serveur HTTP qui écoute sur le port 443 et sur les ports de nœud que vous avez spécifiés dans votre fichier de configuration.
Plusieurs adresses IP sont attribuées aux VM de test. Si votre fichier de configuration indique que vos nœuds de cluster obtiendront leurs adresses IP à partir d'un serveur DHCP, la vérification préliminaire utilise le serveur DHCP pour attribuer des adresses IP aux VM de test. Si votre fichier de configuration indique que vos nœuds de cluster se verront attribuer des adresses IP statiques, la vérification préliminaire attribue les adresses IP statiques que vous avez spécifiées dans vos fichiers de bloc d'adresses IP aux VM de test.
La vérification préliminaire, exécutée sur le poste de travail administrateur, envoie des requêtes HTTP aux VM de test à l'aide des différentes adresses IP attribuées aux VM. Les requêtes sont envoyées au port 443 et aux ports de nœud que vous avez spécifiés dans votre fichier de configuration.
Quand dois-je exécuter les vérifications préliminaires ?
Il est recommandé d'exécuter les vérifications préliminaires aussi tôt que possible, avant de tenter de créer des clusters. L'exécution des vérifications préliminaires peut vous aider à vérifier que vous avez correctement configuré votre réseau et votre environnement vSphere.
Si vous utilisez GKE sur VMware version 1.2.0-gke.6, exécutez gkectl check-config
deux fois:
Exécutez
gkectl check-config --fast
.Exécutez
gkectl prepare
.Exécutez à nouveau
gkectl check-config
, sans l'option--fast
.
Ces deux exécutions sont nécessaires car gkectl prepare
importe le modèle de VM de l'image d'OS du nœud de cluster dans votre environnement vSphere. Ce modèle de VM doit être en place avant d'exécuter l'ensemble des validations.
Dans GKE sur VMware version 1.2.1 et ultérieures, la commande check-config
importe elle-même le modèle de VM. Vous pouvez donc exécuter l'ensemble des validations avant d'exécuter gkectl prepare
:
Exécutez
gkectl check-config
, sans l'option--fast
.Exécutez
gkectl prepare
.
Les vérifications préliminaires permettent de valider les valeurs que vous avez fournies au fichier. Vous n'avez pas besoin de remplir tous les champs du fichier de configuration pour effectuer des vérifications préliminaires sur le fichier. Vous pouvez valider le fichier de manière itérative lorsque vous renseignez ses champs. Par exemple, si vous ne souhaitez valider que votre configuration vCenter, vous pouvez ne remplir que les champs vcenter
et effectuer des vérifications sur ceux-ci.
N'oubliez pas que votre configuration GKE sur VMware devient immuable après la création de vos clusters. L'exécution de vérifications préliminaires vous permet d'identifier et de résoudre les problèmes de configuration avant de créer vos clusters.
Conserver la VM de test pour le débogage
À partir de la version 1.2.1 de GKE sur VMware, la commande gkectl check-config
comporte une option --cleanup
.
Lorsque la commande gkectl check-config
effectue un ensemble complet de validations, elle crée une VM de test et une clé SSH associée. Si vous souhaitez conserver la VM de test et la clé SSH à des fins de débogage, définissez --cleanup
sur "false".
La valeur par défaut de --cleanup
est "true".
Liste des vérifications préliminaires
Les vérifications préliminaires valident chaque champ du fichier de configuration. Voici les vérifications actuelles :
Catégorie | Description | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Fichier de configuration | Valide généralement le format et les valeurs de chaque champ et spécification. L'option L'option | ||||||||||||||||
Internet | Valide l'accès Internet aux domaines requis. Valide la configuration du proxy en fonction de l'emplacement où vous exécutez gkectl. L'option |
||||||||||||||||
Image de l'OS | Valide l'existence des images de l'OS. L'option |
||||||||||||||||
Version d'OS Windows | Valide la version du système d'exploitation Windows. Vérifie que la version de Windows est compatible avec l'outil de ligne de commande |
||||||||||||||||
Version du cluster | Valide la version du cluster d'administrateur, la version du cluster d'utilisateur et la version de L'option |
||||||||||||||||
État du cluster | Vérifiez que le cluster d'utilisateur ou d'administrateur est opérationnel avant la mise à niveau :
L'option |
||||||||||||||||
Entrée | Vérifie si le cluster d'utilisateur possède un objet passerelle Istio avant la mise à niveau. | ||||||||||||||||
Adresse IP réservée | Valide que suffisamment d'adresses IP sont disponibles pour la création et la mise à niveau. L'option |
||||||||||||||||
Google Cloud |
--skip-validation-gcp permet de l'ignorer.
| ||||||||||||||||
Accès à gcr.io/gke-on-prem-release |
Valide l'accès au registre d'images de conteneurs de GKE sur VMware hébergé dans Container Registry.
L'option |
||||||||||||||||
Registre Docker |
privateregistryconfig S'il est configuré, il valide l'accès au registre Docker.
L'option |
||||||||||||||||
vCenter | Vérifie que tous les champs vcenter sont présents, et vérifie également les éléments suivants:
L'option |
||||||||||||||||
Stockage |
| ||||||||||||||||
Charge de travail CSI |
Vérifie que le cluster peut exécuter correctement une charge de travail utilisant un PersistentVolume provisionné de manière dynamique créé via le pilote CSI vSphere. Cette vérification s'exécute lors de la mise à niveau, et uniquement s'il existe des volumes vSphere dans l'arborescence et aucun volume CSI vSphere. Cette vérification:
|
||||||||||||||||
Hôtes pour les groupes d'anti-affinité | Valide que le nombre d'hôtes physiques vCenter est d'au moins trois si
Pour désactiver L'option |
||||||||||||||||
Équilibreur de charge | Valide la configuration de l'équilibrage de charge :
--skip-validation-load-balancer permet de l'ignorer.
|
||||||||||||||||
Mise en réseau | Valide la disponibilité des plages CIDR, des adresses IP virtuelles et des adresses IP statiques fournies (le cas échéant). Vérifie que les adresses IP ne se chevauchent pas. L'option |
||||||||||||||||
DNS | Valide la disponibilité du serveur DNS fourni. L'option |
||||||||||||||||
NTP | Vérifie que le serveur NTP (Network Time Protocol) est disponible. L'option |
||||||||||||||||
IPV | Pingue les adresses IP virtuelles fournies. Cette vérification réussit si le ping échoue, ce qui indique que l'adresse IP virtuelle attendue n'est pas déjà prise. L'option |
||||||||||||||||
Adresses IP de nœuds | Pingue les adresses IP de nœuds fournies. Cette vérification réussit si le ping échoue, ce qui indique que l'adresse IP de nœud attendue n'est pas déjà prise. L'option |
Résultats des vérifications préliminaires
Les vérifications préliminaires peuvent renvoyer les résultats suivants :
- SUCCESS
- Le champ et sa valeur ont été validés.
- FAILURE
- Le champ et/ou sa valeur n'ont pas été validés. Si une vérification renvoie un message
FAILURE
, corrigez les problèmes et validez à nouveau le fichier. - SKIPPED
La vérification a été ignorée, probablement parce qu'elle n'est pas pertinente pour votre configuration. Par exemple, si vous utilisez un serveur DHCP, les vérifications DNS et les vérifications d'adresses IP de nœuds, qui ne concernent qu'une configuration IP statique, sont ignorées.
Si vous transmettez une option qui ignore une vérification, la vérification ignorée ne renvoie pas de résultat SKIPPED ; elle n'est pas exécutée et n'apparaît pas du tout dans le résultat de la commande.
- UNKNOWN
La vérification ignorée a renvoyé un code différent de zéro. Vous pouvez considérer que les vérifications qui renvoient UNKNOWN ont échoué. La valeur UNKNOWN indique généralement que la vérification n'a pas réussi à exécuter un package système, tel que nslookup ou gcloud.
Prochainement
Les vérifications préliminaires suivantes seront ajoutées dans une prochaine version :
- Serveur NTP
Exécuter des vérifications préliminaires
Pour exécuter des vérifications préliminaires, exécutez la commande suivante :
gkectl check-config --config [CONFIG]
où [CONFIG] est le chemin d'accès à votre fichier de configuration GKE sur VMware.
Exécuter en mode rapide
Si vous le préférez, vous pouvez exécuter des vérifications préliminaires en "mode rapide", ce qui ignore les validations qui créent des VM de test temporaires, telles que les validations des adresses IP virtuelles d'équilibrage de charge et les validations des adresses IP de nœuds. Pour ce faire, transmettez --fast
:
gkectl check-config --config [CONFIG] --fast
Ignorer des validations spécifiques
Vous pouvez transmettre des options permettant d'ignorer précisément des validations spécifiques, telles que DNS, proxy et mise en réseau. Chacune de ces options est précédée de --skip-[VALIDATION]
.
Pour en savoir plus sur les options disponibles permettant d'ignorer des validations, exécutez la commande suivante. Vous pouvez également consulter la documentation de référence sur gkectl check-config :
gkectl check-config --help
Par exemple, pour ignorer les validations de l'équilibreur de charge, procédez comme suit :
gkectl check-config --config my-config.yaml --skip-validation-load-balancer
Annuler des vérifications préliminaires
Si vous avez commencé à exécuter des vérifications préliminaires et que vous souhaitez les annuler, appuyez deux fois sur CTRL + C. Si une vérification préliminaire a créé une VM de test, l'annulation devrait également nettoyer automatiquement la VM.
Nettoyer une VM de test
Si une VM de test est toujours présente après la fin des vérifications préliminaires, vous pouvez la supprimer de vCenter. Le nom d'une VM de test se présente sous la forme suivante :
check-config-[dhcp|static]-[random number]
Pour supprimer la VM, procédez comme suit :
Effectuez un clic droit sur la VM, puis cliquez sur Alimentation > Mettre hors tension.
Une fois la VM éteinte, effectuez un nouveau clic droit sur la VM, puis cliquez sur Supprimer du disque.
Exemple
Vous trouverez ci-dessous un exemple de résultat de la commande. Dans cet exemple, la configuration en cours de validation utilise le mode d'équilibrage de charge intégré et des adresses IP statiques sans registre Docker externe :
- Validation Category: Config Check - [SUCCESS] Config - Validation Category: Internet Access - [SUCCESS] Internet access to required domains - Validation Category: GCP - [SUCCESS] GCP Service - [SUCCESS] GCP Service Account - Validation Category: Docker Registry - [SUCCESS] gcr.io/gke-on-prem-release access - Validation Category: vCenter - [SUCCESS] Credentials - [SUCCESS] Version - [SUCCESS] Datacenter - [SUCCESS] Datastore - [SUCCESS] Data Disk - [SUCCESS] Resource Pool - [SUCCESS] Network - [SUCCESS] VSphere CSI Driver - Validation Category: F5 BIG-IP - [SUCCESS] Admin Cluster F5 (credentials, partition and user role) - [SUCCESS] User Cluster F5 (credentials, partition and user role) - Validation Category: Network Configuration - [SUCCESS] CIDR, VIP and static IP (availability and overlapping) - Validation Category: DNS - [SUCCESS] DNS (availability) - Validation Category: VIPs - [SUCCESS] ping (availability) - Validation Category: Node IPs - [SUCCESS] ping (availability) Now running slow validation checks. ... Reusing VM template "gke-on-prem-osimage-xxx" that already exists in vSphere. Creating test VMs with admin cluster configuration... DONE Waiting to get IP addresses from test VMs... DONE Waiting for test VMs to become ready... DONE Reusing VM template "gke-on-prem-osimage-xxx" that already exists in vSphere. Creating test VMs with user cluster configuration... DONE Waiting to get IP addresses from test VMs... DONE Waiting for test VMs to become ready... DONE - Validation Category: F5 BIG-IP - [SUCCESS] Admin Cluster VIP and NodeIP - [SUCCESS] Admin Cluster F5 Access - [SUCCESS] User Cluster VIP and NodeIP - [SUCCESS] User Cluster F5 Access - Validation Category: Internet Access - [SUCCESS] Internet access to required domains - Validation Category: vCenter on test VMs - [SUCCESS] Test VM: VCenter Access and Permission - Validation Category: DNS on test VMs - [SUCCESS] Test VM: DNS Availability - Validation Category: TOD on test VMs - [SUCCESS] Test VM: TOD Availability - Validation Category: Docker Registry - [SUCCESS] gcr.io/gke-on-prem-release access Deleting test VMs with admin cluster configuration... DONE Deleting test VMs with user cluster configuration... DONE
Problèmes connus
Pour la version 1.3.0-gke.16 :
Vous devez exécuter des vérifications rapides (
gkectl check-config --fast
) pour vos vérifications préliminaires si les deux conditions suivantes s'appliquent :Vous avez configuré GKE sur VMware pour utiliser un proxy.
Vous avez installé l'un des groupes suivants :
- Bundle
/var/lib/gke/bundles/gke-onprem-vsphere-1.3.0-gke.16.tgz
de la page Téléchargements. - Bundle
/var/lib/gke/bundles/gke-onprem-vsphere-1.3.0-gke.16.tgz
du poste de travail administrateur.
- Bundle
Vous ne pouvez exécuter l'ensemble complet de validation que si vous avez installé l'ensemble complet. Par exemple :
/var/lib/gke/bundles/gke-onprem-vsphere-1.3.0-gke.16-full.tgz
Pour la version 1.2.0-gke.6 :
Si vous utilisez des pools de ressources imbriqués ou le pool de ressources par défaut,
gkectl check-config
échoue lorsque vous essayez d'exécuter un ensemble complet de validations. Cependant, vous pouvez exécuter un plus petit ensemble de validations en transmettant l'option--fast
.gkectl check-config --config [CONFIG] --fast
Étapes suivantes
- Effectuez l'installation à l'aide d'adresses IP statiques
- Effectuez l'installation à l'aide d'un serveur DHCP