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
- Consultez la présentation du poste de travail administrateur.
- Suivez la procédure décrite dans la section Préparer l'installation.
- Assurez-vous d'avoir installé
govc
. - 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
où 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 :
- créer des variables déclarant les éléments de votre environnement vSphere et vCenter Server ;
- 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
Créez un répertoire pour vos fichiers Terraform :
mkdir "[TERRAFORM_DIR]"
où [TERRAFORM_DIR] est le chemin d'accès au répertoire dans lequel vous souhaitez conserver vos fichiers Terraform.
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.
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 :
Accédez au répertoire contenant vos fichiers de configuration Terraform (TF et TFVARS) :
cd [TERRAFORM_DIR]
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
Accédez au répertoire contenant vos fichiers de configuration Terraform.
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.
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 :
Rassemblez les adresses de vos proxys HTTP et HTTPS.
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%,}";
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.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.
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 dehttps://
.
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 pasVerified 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.