Créer un poste de travail administrateur

Cette page explique comment créer la dernière version de la machine virtuelle (VM) de poste de travail administrateur.

Pour mettre à niveau un poste de travail administrateur existant, consultez la page Mettre à jour GKE On-Prem.

Présentation

Le poste de travail administrateur est une VM vSphere qui contient tous les outils dont vous avez besoin pour créer et gérer des clusters GKE On-Prem. Pour créer le poste de travail administrateur, procédez comme suit :

  • Téléchargez le fichier Open Virtual Appliance (OVA) du poste de travail administrateur, une image compressée de la VM du poste de travail administrateur.
  • Utilisez govc, l'interface de ligne de commande dans vSphere, pour importer le fichier OVA dans vSphere en tant que modèle de VM.
  • Copiez et remplissez les fichiers de configuration HashiCorp Terraform.
  • Utilisez Terraform pour créer la VM.

Avant de commencer

  1. Consultez la présentation du poste de travail administrateur.
  2. Suivez la procédure décrite dans la section Préparer l'installation.
  3. Assurez-vous d'avoir installé govc.
  4. Assurez-vous d'avoir installé la version 0.11 de Terraform.

Télécharger le fichier OVA du poste de travail administrateur

Téléchargez la dernière version du fichier OVA du poste de travail administrateur à partir de la section "Téléchargements". La dernière version du fichier OVA est :

gke-on-prem-admin-appliance-vsphere-1.1.2-gke.0.ova

1.1.2-gke.0 est la dernière version de GKE On-Prem. Le fichier OVA inclut tous les composants du cluster, les outils de ligne de commande et toutes les autres entités nécessaires à l'installation et à la gestion des clusters GKE On-Prem. La dernière version du fichier OVA inclut la dernière version de ces entités.

Enregistrez ce fichier sur l'ordinateur que vous utilisez pour créer le poste de travail administrateur.

Utiliser govc pour importer le fichier OVA dans vSphere et le marquer comme modèle de VM

Dans les sections suivantes, vous allez :

  1. créer des variables déclarant les éléments de votre environnement vSphere et vCenter Server ;
  2. importer l'OVA du poste de travail d'administrateur dans vSphere et le marquer comme modèle de VM.

Créer des variables pour govc

Avant d'importer le fichier OVA du poste de travail administrateur dans vSphere, vous devez fournir à govc certaines variables déclarant les éléments de votre environnement vSphere et vCenter Server.

export GOVC_URL=https://[VCENTER_SERVER_ADDRESS]/sdk
export GOVC_USERNAME=[VCENTER_SERVER_USERNAME]
export GOVC_PASSWORD=[VCENTER_SERVER_PASSWORD]
export GOVC_DATASTORE=[VSPHERE_DATASTORE]
export GOVC_DATACENTER=[VSPHERE_DATACENTER]
export GOVC_INSECURE=true

Vous pouvez choisir d'utiliser le pool de ressources par défaut de vSphere ou créer le vôtre :

# If you want to use a resource pool you've configured yourself, export this variable:
export GOVC_RESOURCE_POOL=[VSPHERE_CLUSTER]/Resources/[VSPHERE_RESOURCE_POOL]
# If you want to use vSphere's default resource pool, export this variable instead:
export GOVC_RESOURCE_POOL=[VSPHERE_CLUSTER]/Resources

où :

  • [VCENTER_SERVER_ADDRESS] est le nom d'hôte ou l'adresse IP de votre serveur vCenter ;
  • [VCENTER_SERVER_USERNAME] est le nom d'utilisateur d'un compte détenant le rôle d'administrateur ou des droits équivalents dans le serveur vCenter ;
  • [VCENTER_SERVER_PASSWORD] est le mot de passe du compte serveur vCenter ;
  • [VSPHERE_DATASTORE] est le nom du datastore que vous avez configuré dans votre environnement vSphere ;
  • [VSPHERE_DATACENTER] est le nom du centre de données que vous avez configuré dans votre environnement vSphere ;
  • [VSPHERE_CLUSTER] est le nom du cluster que vous avez configuré dans votre environnement vSphere.
  • Pour utiliser un pool de ressources autre que celui par défaut,
  • [VSPHERE_RESOURCE_POOL] est le nom du pool de ressources que vous avez configuré dans votre environnement vSphere.

Importer le fichier OVA dans vSphere : commutateur standard

Si vous utilisez un commutateur standard vSphere, importez le fichier OVA dans vSphere à l'aide de la commande suivante :

govc import.ova -options - ~/gke-on-prem-admin-appliance-vsphere-1.1.2-gke.0.ova <<EOF
{
  "DiskProvisioning": "thin",
  "MarkAsTemplate": true
}
EOF

Importer le fichier OVA dans vSphere : commutateur distribué

Si vous utilisez un commutateur distribué vSphere, importez le fichier OVA dans vSphere à l'aide de cette commande, où [YOUR_DISTRIBUTED_PORT_GROUP_NAME] est le nom de votre groupe de ports distribué :

govc import.ova -options - ~/gke-on-prem-admin-appliance-vsphere-1.1.2-gke.0.ova <<EOF
{
  "DiskProvisioning": "thin",
  "MarkAsTemplate": true,
  "NetworkMapping": [
      {
          "Name": "VM Network",
          "Network": "[YOUR_DISTRIBUTED_PORT_GROUP_NAME]"
      }
  ]
}
EOF

Copier les fichiers de configuration Terraform

  1. Créez un répertoire pour vos fichiers Terraform :

    mkdir "[TERRAFORM_DIR]"
    

    [TERRAFORM_DIR] est le chemin d'accès au répertoire dans lequel vous souhaitez conserver vos fichiers Terraform.

  2. Copiez l'une des configurations Terraform suivantes, selon que vous souhaitez spécifier une adresse IP statique pour votre poste de travail administrateur ou utiliser un serveur DHCP pour obtenir une adresse IP.

    Assurez-vous de copier les deux fichiers TF et TFVARS. Le fichier TF est la configuration HCL de Terraform qui effectue la création de la VM.

  3. Enregistrez les configurations dans [TERRAFORM_DIR]/terraform.tf et [TERRAFORM_DIR]/terraform.tfvars, respectivement.

DHCP

Adresse IP statique

Créer une clé publique SSH

Créez une clé publique SSH pour pouvoir vous connecter en SSH au poste de travail administrateur à partir de votre ordinateur portable ou de votre poste de travail local. Sur les systèmes d'exploitation Linux, vous pouvez utiliser ssh-keygen :

ssh-keygen -t rsa -f ~/.ssh/vsphere_workstation -N ""

Modifier le fichier TFVARS

Ouvrez terraform.tfvars dans un éditeur de texte et fournissez des valeurs pour les variables suivantes. Vous pouvez trouver un grand nombre de ces valeurs en vous connectant au client vCenter :

vcenter_user

Fournissez un compte utilisateur de serveur vCenter sous forme de chaîne. Le compte utilisateur doit disposer du rôle d'administrateur ou de droits équivalents (consultez la section Configuration système requise). Exemple :

vcenter_user = "administrator@vsphere.local"

vcenter_password

Indiquez le mot de passe du compte utilisateur de serveur vCenter sous forme de chaîne. Exemple :

vcenter_password = "#STyZ2T#Ko2o"

vcenter_server

Indiquez l'adresse (IP ou nom d'hôte) de votre serveur vCenter sous forme de chaîne. Exemple :

vcenter_server = "198.51.100.0"

ssh_public_key_path

Indiquez le chemin d'accès à la clé publique SSH Vous avez créé ceci à une étape précédente :

ssh_public_key_path = "~/.ssh/vsphere_workstation.pub"

vm_name

Indiquez le nom de votre choix pour le poste de travail administrateur :

vm_name = "admin-workstation"

datastore

Indiquez le nom de votre datastore vSphere en tant que chaîne :

datastore = "MY-DATASTORE"

datacenter

Indiquez le nom de votre centre de données vSphere sous forme de chaîne :

datacenter = "MY-DATACENTER"

cluster

Indiquez le nom de votre cluster vSphere sous forme de chaîne :

cluster = "MY-CLUSTER"

resource_pool

Si vous utilisez un pool de ressources autre que celui par défaut, indiquez le nom de votre pool de ressources vSphere en tant que chaîne :

resource_pool = "MY-POOL"

Si vous utilisez le pool de ressources par défaut, indiquez la valeur suivante :

resource_pool = "MY-CLUSTER/Resources"

Consultez la section Spécifier le pool de ressources racine pour un hôte autonome.

network

Indiquez sous forme de chaîne le réseau vSphere sur lequel vous souhaitez créer votre poste de travail d'administrateur. Exemple :

network = "VM Network"

vm_template

Indiquez le nom du modèle de VM sous forme de chaîne. Vous avez créé/importé le fichier OVA et l'avez marqué comme modèle lors d'une étape précédente :

vm_template = "gke-on-prem-admin-appliance-vsphere-[VERSION]"

Utiliser une adresse IP statique pour votre poste de travail administrateur

Si vous souhaitez utiliser une adresse IP statique pour votre poste de travail administrateur, copiez le fichier TF de l'adresse IP statique et le fichier TFVARS. Dans le fichier TFVARS, saisissez les valeurs des variables suivantes :

ipv4_address

Indiquez une adresse IP statique IPv4 pour le poste de travail administrateur. Exemple :

ipv4_address = "203.0.113.0"

ipv4_netmask_prefix_length

Indiquez le nombre de bits dans le masque de sous-réseau du réseau sur lequel vous souhaitez créer votre poste de travail administrateur. Exemple :

ipv4_netmask_prefix_length = "22"

ipv4_gateway

Indiquez la passerelle du sous-réseau dans lequel le poste de travail administrateur doit être créé. Consultez la documentation vsphere_virtual_machine de VMware.

Exemple :

ipv4_gateway = "198.51.100.0

dns_nameservers

Fournissez des serveurs de noms DNS à utiliser par le poste de travail administrateur, séparés par des virgules. Exemple :

dns_nameservers = "8.8.8.8,8.8.4.4"

Créer le poste de travail administrateur

Une fois les étapes précédentes effectuées, vous êtes prêt à créer la VM du poste de travail administrateur :

  1. Accédez au répertoire contenant vos fichiers de configuration Terraform (TF et TFVARS) :

    cd [TERRAFORM_DIR]
    
  2. Initialisez Terraform dans le répertoire et appliquez la configuration. Cela peut prendre quelques minutes.

    terraform init && terraform apply -auto-approve -input=false

Se connecter en SSH au poste de travail administrateur

  1. Accédez au répertoire contenant vos fichiers de configuration Terraform.

  2. Récupérez l'adresse IP du poste de travail administrateur :

    terraform output ip_address

    Prenez note de l'adresse IP du poste de travail administrateur ou exportez-la sous forme de variable dans votre interface système.

  3. Connectez-vous en SSH au poste de travail administrateur à l'aide de la clé et de l'adresse IP générées :

    ssh -i ~/.ssh/vsphere_workstation ubuntu@$(terraform output ip_address)

    Ou, si vous souhaitez simplement utiliser son adresse :

    ssh -i ~/.ssh/vsphere_workstation ubuntu@[IP_ADDRESS]
    

Vérifier la bonne configuration du poste de travail administrateur

Vérifiez que gkectl et docker sont installés :

gkectl version
docker version

Configurer le proxy pour votre poste de travail administrateur

Si votre environnement est protégé par un proxy, suivez les sections ci-dessous pour configurer Google Cloud CLI et Docker pour utiliser votre proxy.

Configurer Google Cloud CLI pour utiliser votre proxy

Procédez comme suit à partir de la VM du poste de travail administrateur.

Si vous utilisez un proxy pour vous connecter à Internet depuis votre ordinateur portable ou votre poste de travail, vous devez configurer les paramètres du proxy dans Google Cloud CLI, afin de pouvoir exécuter les commandes gcloud et gsutil. Pour obtenir des instructions, consultez la page Configurer gcloud CLI pour une utilisation derrière un proxy/pare-feu.

Configurer un registre Docker pour extraire votre proxy

Procédez comme suit à partir de la VM du poste de travail administrateur.

Si vous souhaitez utiliser un registre Docker et que votre réseau s'exécute derrière un proxy, vous devez configurer le daemon Docker qui s'exécute sur votre poste de travail administrateur pour extraire des images via votre proxy :

  1. Rassemblez les adresses de vos proxys HTTP et HTTPS.

  2. Rassemblez les adresses IP et les noms d'hôte de chaque hôte que vous devez contacter sans proxy, y compris :

    • Adresse IP du serveur vCenter.
    • Adresses IP de tous les hôtes ESXi.
    • Adresses IP que vous souhaitez configurer sur votre équilibreur de charge.
    • La plage 192.168.0.0/16.

    Dans votre poste de travail administrateur, ajoutez les adresses suivantes à la variable no_proxy :

    printf -v no_proxy '%s,' [ADDRESSES];
    

    Vous pouvez éventuellement exporter la plage vers une variable d'environnement pour référence ultérieure. Gardez à l'esprit que les applications et les processus peuvent utiliser cette variable :

    export no_proxy="${no_proxy%,}";
  3. Ouvrez le fichier de configuration de Docker, stocké dans /root/.docker/config.json, /home/[USER]/.docker/config.json ou ailleurs, en fonction de votre configuration.

  4. Dans le fichier config.json, ajoutez les lignes suivantes :

    "proxies": {
    
    "default": {
           "httpProxy": "[HTTP_PROXY]",
           "httpsProxy": "[HTTPS_PROXY]",
           "noProxy": "[ADDRESSES]"
               }
    }

    où :

    • [HTTP_PROXY] est votre proxy HTTP, si vous en avez un.
    • [HTTPS_PROXY] est votre proxy HTTPS, si vous en avez un.
    • [ADDRESSES] est une liste d'adresses et de noms d'hôtes séparés par des virgules que vous devez contacter sans proxy.
  5. Redémarrez Docker pour que les modifications prennent effet :

    sudo systemctl restart docker

Dépannage

Pour en savoir plus, consultez Dépannage.

Limite de session du fournisseur vSphere Terraform

GKE On-Prem utilise le fournisseur vSphere de Terraform pour afficher les VM dans votre environnement vSphere. La limite de session du fournisseur est de 1 000 sessions. La mise en œuvre actuelle ne ferme pas les sessions actives après utilisation. Vous pouvez rencontrer des erreurs 503 si trop de sessions sont en cours d'exécution.

Les sessions sont automatiquement fermées après 300 secondes.

Symptômes

Si trop de sessions sont en cours d'exécution, vous pouvez rencontrer l'erreur suivante :

Error connecting to CIS REST endpoint: Login failed: body:
  {"type":"com.vmware.vapi.std.errors.service_unavailable","value":
  {"messages":[{"args":["1000","1000"],"default_message":"Sessions count is
  limited to 1000. Existing sessions are 1000.",
  "id":"com.vmware.vapi.endpoint.failedToLoginMaxSessionCountReached"}]}},
  status: 503 Service Unavailable
Causes probables

Trop de sessions de fournisseur Terraform s'exécutent dans votre environnement.

Solution

Actuellement, cela fonctionne comme prévu. Les sessions sont automatiquement fermées après 300 secondes. Pour en savoir plus, reportez-vous au problème GitHub #618.

Utiliser un proxy pour Docker : oauth2: cannot fetch token

Symptômes

Lorsque vous utilisez un proxy, vous rencontrez l'erreur suivante :

oauth2: cannot fetch token: Post https://oauth2.googleapis.com/token: proxyconnect tcp: tls: oversized record received with length 20527
Causes probables

Vous avez peut-être fourni un proxy HTTPS au lieu d'un proxy HTTP.

Solution

Dans votre configuration Docker, définissez l'adresse du proxy sur http:// au lieu de https://.

Vérifier la validité des licences

N'oubliez pas de vérifier que vos licences sont valides, en particulier si vous utilisez des licences d'essai. Des échecs inattendus peuvent se produire si vos licences F5, vos licences vCenter ou vos licences d'hôte ESXi sont arrivées à expiration.

openssl ne peut pas valider le fichier OVA du poste de travail administrateur.

Symptômes

L'exécution de openssl dgst sur le fichier OVA du poste de travail administrateur ne renvoie pas Verified OK.

Causes probables

Le fichier OVA comporte un problème qui empêche la validation.

Solution

Essayez à nouveau de télécharger et de déployer le fichier OVA du poste de travail administrateur, comme indiqué dans la section Télécharger le fichier OVA du poste de travail administrateur. Si le problème persiste, contactez Google pour obtenir de l'aide.

Étapes suivantes