Exécuter des vérifications préliminaires

Cet article explique comment exécuter des vérifications préliminaires sur votre fichier de configuration GKE On-Prem.

Présentation

Lors de l'installation, vous exécutez gkectl create-config pour générer un fichier de configuration GKE On-Prem. 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.

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.

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 la version 1.2.0-gke.6 de GKE On-Prem, exécutez gkectl check-config deux fois :

  1. Exécutez gkectl check-config --fast.

  2. Exécutez gkectl prepare.

  3. 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 On-Prem 1.2.1 et versions 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 :

  1. Exécutez gkectl check-config, sans l'option --fast.

  2. 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.

Gardez à l'esprit que votre configuration GKE On-Prem ne peut plus être modifiée 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 On-Prem, la commande gkectl check-config dispose d'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 --skip-validation-config permet de l'ignorer.

L'option --skip-validation-proxy permet d'ignorer la validation du champ proxy.

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 --skip-validation-internet permet de l'ignorer.

Google Cloud
ID du projet
[*].projectid
Valide les ID de projet fournis dans les différents champs de la configuration. Si l'ID du projet est manquant, la validation est ignorée.
Compte de service d'enregistrement
registerserviceaccountkeypath
Permet de vérifier que le compte de service contient les rôles IAM requis. Valide l'activation des API requises.
Compte de service Connect
agentserviceaccountkeypath
Permet de vérifier que le compte de service contient les rôles IAM requis. Valide l'activation des API requises.
Compte de service de la suite Google Cloud Operations
stackdriver.serviceaccountkeypath
Permet de vérifier que le compte de service contient les rôles IAM requis. Valide l'activation des API requises.
L'option --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 GKE On-Prem hébergé dans Container Registry.

L'option --skip-validation-docker permet de l'ignorer.

Registre Docker
privateregistryconfig
Si cette option est configurée, elle permet d'accéder au registre Docker.

L'option --skip-validation-docker permet de l'ignorer.

vCenter Vérifie que tous les champs vcenter sont présents, et vérifie également les éléments suivants:
Identifiants
vcenter.credentials.[*]
Valide l'authentification à vCenter Server à l'aide des identifiants utilisateur fournis.
Version vSphere Valide que la version vSphere utilisée est la version 6.5 ou 6.7 Update 3.
Centre de données
vcenter.datacenter
Valide l'existence du centre de données vSphere.
Datastore
vcenter.datastore
Valide l'existence du datastore vSphere.
Disque de données
vcenter.datadisk
Vérifie que le disque de machine virtuelle (VMDK, virtual machine disk) vSphere n'existe pas déjà dans vSphere.
Pool de ressources
vcenter.resourcepool
Vérifie que le pool de ressources vSphere existe.
Réseau
vcenter.network
Valide l'existence du réseau vSphere.

L'option --skip-validation-infra permet de l'ignorer.

Équilibreur de charge

Valide la configuration de l'équilibrage de charge :

  • Si le mode d'équilibrage de charge est intégré (lbmode: Integrated), vérifie que tous les champs bigip sont présents dans les spécifications admincluster et usercluster.
  • Si le mode d'équilibrage de charge est manuel (lbmode: Manual), vérifie que tous les champs manuallbspec sont présents dans les spécifications admincluster et usercluster.
Équilibrage de charge intégré
bigip.credentials.[*] Valide vos identifiants F5 BIG-IP.
bigip.partition Vérifie que la partition fournie existe.
Rôle utilisateur F5 BIG-IP Vérifie que l'utilisateur F5 BIG-IP fourni possède le rôle Administrateur ou Administrateur de ressources.
bigip.vips.[*] Valide les adresses IP virtuelles fournies.

L'option --fast ou --skip-validation-load-balancer permet de l'ignorer.

Équilibrage de charge manuel
Configuration de la mise en réseau Valide les adresses IP virtuelles, les adresses IP de nœuds, etc.

L'option --fast ou --skip-validation-load-balancer permet de l'ignorer.

[*].manuallbspec.[*] Valide les ports de nœud fournis.
L'option --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 --skip-validation-net-config permet de l'ignorer.

DNS

Valide la disponibilité du serveur DNS fourni.

L'option --skip-validation-dns permet de l'ignorer.

NTP

Vérifie que le serveur NTP (Network Time Protocol) est disponible.

L'option --skip-validation-tod permet de l'ignorer.

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 --skip-validation-vips permet de l'ignorer.

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 --skip-validation-node-ips permet de l'ignorer.

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]

[CONFIG] correspond au chemin d'accès à votre fichier de configuration GKE On-Prem.

Exécution 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 :

  1. Effectuez un clic droit sur la VM, puis cliquez sur Alimentation > Mettre hors tension.

  2. 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 du comportement 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 :

gkectl check-config --config config.yaml
- 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

- 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 (creates test VM); use flag --fast to disable.
- Validation Category: F5 BIG-IP
    - [SUCCESS] Admin Cluster VIP and NodeIP
    - [SUCCESS] User Cluster VIP and NodeIP

All validation results were SUCCESS.

Problème connu

Dans la version 1.2.0-gke.6 de GKE On-Prem, 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

Ce problème sera résolu dans la version 1.2.1.

Étapes suivantes