Vous consultez la documentation d'une version précédente de GKE On-Prem. Consultez la documentation la plus récente.

Préparer l'installation

Cette page décrit les étapes à suivre avant d'installer GKE On-Prem dans votre environnement.

Avant de commencer

Consultez les rubriques suivantes :

Limites

Limite Description
Limites maximale et minimale pour les clusters et les nœuds

Consultez la page Quotas et limites pour en savoir plus. Les performances de votre environnement peuvent avoir un impact sur ces limites.

Unicité pour les noms de cluster d'utilisateur

Tous les clusters d'utilisateur enregistrés dans le même projet Google Cloud doivent avoir des noms uniques.

Déploiement impossible sur plusieurs centres de données vCenter et/ou vSphere

Actuellement, vous ne pouvez déployer qu'un cluster d'administrateur et un ensemble de clusters d'utilisateur associés sur un seul centre de données vCenter et/ou vSphere. Vous ne pouvez pas déployer les mêmes clusters d'administrateur et d'utilisateur sur plusieurs centres de données vCenter et/ou vSphere.

Impossible de modifier de manière déclarative les configurations de cluster après la création Bien que vous puissiez créer des clusters supplémentaires et redimensionner des clusters existants, vous ne pouvez pas modifier un cluster existant via son fichier de configuration.

Créer un projet Google Cloud

Créez un projet Google Cloud, si vous n'en avez pas déjà un. Vous avez besoin d'un projet pour exécuter GKE On-Prem.

Installer les outils d'interface de ligne de commande requis

  • Installez le SDK Cloud, qui inclut gcloud, l'interface de ligne de commande (CLI) dans Google Cloud.

  • Installez govc, la CLI de VMware vSphere.

  • Installez Terraform 0.11, qui inclut la CLI terraform. Suivez les instructions d'installation de Terraform pour vérifier l'installation et configurer votre variable PATH.

Configurer le SDK Cloud pour utiliser votre proxy/pare-feu à partir de votre ordinateur portable/poste de travail

Si vous utilisez un proxy pour vous connecter à Internet depuis votre ordinateur portable ou votre poste de travail, vous devrez peut-être configurer le SDK Cloud pour le proxy, afin de pouvoir exécuter les commandes gcloud et gsutil. Pour obtenir des instructions, consultez la page Configurer le SDK Cloud pour utilisation derrière un proxy/pare-feu.

Autoriser gcloud à accéder à Google Cloud

Après avoir installé le SDK Cloud, connectez-vous à Google Cloud à l'aide des identifiants de votre compte :

gcloud auth login

Définir un projet Google Cloud par défaut

La définition d'un projet Google Cloud par défaut entraîne l'exécution de toutes les commandes du SDK Cloud sur le projet. Vous n'avez donc pas besoin de spécifier votre projet pour chaque commande. Pour définir un projet par défaut, exécutez la commande suivante :

gcloud config set project [PROJECT_ID]

Remplacez [PROJECT_ID] par l'ID du projet (vous le trouverez dans Cloud Console ou en exécutant gcloud config get-value project).

Créer des comptes de service Google Cloud

Avant d'installer GKE On-Prem pour la première fois, vous utilisez gcloud pour créer quatre comptes de service Google Cloud. GKE On-Prem utilise ces comptes de service pour effectuer des tâches en votre nom. Les sections suivantes décrivent l'objectif de chaque compte.

Accéder au compte de service

Vous utilisez ce compte de service pour télécharger les binaires de GKE On-Prem depuis Cloud Storage. Il s'agit du seul compte de service que Google ajoute à la liste blanche.

Exécutez la commande suivante pour créer access-service-account :

gcloud iam service-accounts create access-service-account

Enregistrer le compte de service

Connect utilise ce compte de service pour enregistrer vos clusters GKE On-Prem avec Google Cloud Console.

Exécutez la commande suivante pour créer register-service-account :

gcloud iam service-accounts create register-service-account

Associer un compte de service

Connect utilise ce compte de service pour maintenir une connexion entre les clusters GKE On-Prem et Google Cloud.

Exécutez la commande suivante pour créer connect-service-account :

gcloud iam service-accounts create connect-service-account

Compte de service de la suite des opérations Google Cloud

Ce compte de service permet à GKE On-Prem d'écrire des données de journalisation et de surveillance dans la suite des opérations Google Cloud :

Exécutez la commande suivante pour créer stackdriver-service-account :

gcloud iam service-accounts create stackdriver-service-account

Ajouter votre projet et vos comptes à la liste blanche

Une fois que vous avez acheté Anthos, Google ajoute les éléments suivants à la liste blanche pour vous permettre d'accéder à GKE On-Prem et Connect :

  • Votre projet Google Cloud
  • Votre compte Google et les comptes Google individuels des membres de l'équipe
  • Votre compte de service d'accès

Si vous souhaitez utiliser un autre projet ou compte de service, ou si vous souhaitez activer d'autres utilisateurs, l'assistance Google Cloud ou votre responsable peut vous aider. Ouvrez une demande d'assistance via Cloud Console ou le Centre d'assistance Google Cloud.

Activer les API requises dans votre projet

Vous devez activer les API suivantes dans votre projet Google Cloud :

  • cloudresourcemanager.googleapis.com
  • container.googleapis.com
  • gkeconnect.googleapis.com
  • gkehub.googleapis.com
  • serviceusage.googleapis.com
  • stackdriver.googleapis.com
  • monitoring.googleapis.com
  • logging.googleapis.com

Pour activer ces API, exécutez la commande suivante :

gcloud services enable \
cloudresourcemanager.googleapis.com \
container.googleapis.com \
gkeconnect.googleapis.com \
gkehub.googleapis.com \
serviceusage.googleapis.com \
stackdriver.googleapis.com \
monitoring.googleapis.com \
logging.googleapis.com

Attribuer des rôles Cloud Identity and Access Management à vos comptes de service

Cloud IAM autorise les comptes à appeler les API Google Cloud. Attribuez des rôles Cloud IAM dédiés à ces comptes de service pour isoler les droits.

Répertorier les adresses e-mail des comptes de service

Commencez par répertorier les comptes de service dans votre projet Google Cloud :

gcloud iam service-accounts list

Pour un projet Google Cloud nommé my-gcp-project, le résultat de cette commande se présente comme suit :

gcloud iam service-accounts list
NAME                                    EMAIL
                                        access-service-account@my-gcp-project.iam.gserviceaccount.com
                                        register-service-account@my-gcp-project.iam.gserviceaccount.com
                                        connect-service-account@my-gcp-project.iam.gserviceaccount.com
                                        stackdriver-service-account@my-gcp-project.iam.gserviceaccount.com

Notez l'adresse e-mail de chaque compte. Pour chacune des sections suivantes, vous indiquez l'adresse e-mail du compte concerné.

Enregistrer le compte de service

Attribuez les rôles gkehub.admin et serviceuseage.serviceUsageViewer à votre compte de service d'enregistrement :

gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[REGISTER_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/gkehub.admin"
gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[REGISTER_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/serviceusage.serviceUsageViewer"

Associer un compte de service

Attribuez le rôle gkehub.connect à votre compte de service de connexion :

gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[CONNECT_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/gkehub.connect"

Compte de service de la suite des opérations Google Cloud

Attribuez les rôles stackdriver.resourceMetadata.writer, logging.logWriter et monitoring.metricWriter au compte de service de la suite des opérations Google Cloud :

gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[STACKDRIVER_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/stackdriver.resourceMetadata.writer"
gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[STACKDRIVER_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/logging.logWriter"
gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[STACKDRIVER_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/monitoring.metricWriter"

Créer un espace de travail Stackdriver

Stackdriver Logging et Stackdriver Monitoring sont activés par défaut pour GKE On-Prem. Pour que Stackdriver Monitoring fonctionne correctement, vous devez créer un espace de travail Stackdriver.

Pour savoir comment créer un espace de travail Stackdriver, reportez-vous à la section Obtenir rapidement un espace de travail dans la documentation Stackdriver Monitoring.

Ajouter des adresses à la liste blanche pour votre proxy

Si votre organisation a besoin d'un accès Internet pour passer par un proxy HTTP, vous devez ajouter à la liste blanche les adresses suivantes pour votre proxy.

Les sections suivantes décrivent les adresses en détail.

Adresses Google

GKE On-Prem utilise plusieurs API Google pour créer et gérer des clusters. Ajoutez les adresses Google suivantes à la liste blanche dans le proxy :

Adresse Usage
accounts.google.com Autorise l'accès aux comptes Google dans le but d'accéder à votre projet Google Cloud.
cloudresourcemanager.googleapis.com Crée, lit et met à jour les métadonnées des conteneurs de ressources Google Cloud.
console.cloud.google.com Autorise l'accès à Google Cloud Console.
container.googleapis.com Permet d'accéder à l'API Google Kubernetes Engine.
gcr.io Autorise l'accès aux dépôts Container Registry, y compris au dépôt GKE On-Prem.
gkeconnect.googleapis.com Autorise l'accès à Connect pour établir une connexion chiffrée de longue durée avec Google Cloud.
gkehub.googleapis.com Autorise l'accès à Google Cloud Console pour l'enregistrement de clusters avec votre projet Google Cloud.
logging.googleapis.com Permet d'accéder à l'API Cloud Logging pour les fonctionnalités de journalisation des métriques de cluster.
monitoring.googleapis.com Permet d'accéder à l'API Cloud Monitoring pour les fonctionnalités de surveillance des clusters.
oauth2.googleapis.com Autorise l'accès à l'API OAuth2 de Google pour l'authentification.
serviceusage.googleapis.com
storage.googleapis.com Autorise l'accès aux buckets Cloud Storage.
googleapis.com Autorise l'accès aux points de terminaison spécifiques aux produits Google Cloud.

Adresses HashiCorp

Vous utilisez la version 0.11 de HashiCorp Terraform pour créer une VM de poste de travail administrateur dans vSphere. Pour exécuter Terraform dans un environnement avec un proxy ou un pare-feu, vous devez ajouter les adresses HashiCorp suivantes à la liste blanche :

Adresse Usage
checkpoint-api.hashicorp.com Permet d'accéder aux informations de version et d'alerte de HashiCorp pour divers produits Open Source et propriétaires.
releases.hashicorp.com Permet d'accéder aux binaires de HashiCorp.

VMware, équilibreur de charge et autres adresses

Enfin, veillez à ajouter les adresses suivantes à la liste blanche de votre proxy. Ces adresses peuvent varier :

Adresse Usage
Adresse IP de vCenter Server Autorise le trafic Internet pour vCenter Server.
Toutes les adresses IP des hôtes ESXi Autorise le trafic Internet pour les hôtes ESXi exécutant des clusters GKE On-Prem.
Autres adresses IP que vous souhaitez configurer sur votre équilibreur de charge Autorise le trafic Internet pour d'autres adresses IP, telles que les clients et les charges de travail.

Réserver des plages de pods et de services

Pour le cluster d'administrateur, et pour chaque cluster d'utilisateur que vous souhaitez créer, vous devez réserver deux blocs IPv4 CIDR distincts : un pour les adresses IP de pod et un autre pour les adresses IP de service.

La taille de ces plages dépend du nombre de pods et de services que vous souhaitez créer. Par exemple, si vous avez l'intention de créer moins de 256 services dans un cluster, vous pouvez réserver une plage de services /24, par exemple 10.96.233.0/24. Si vous avez l'intention de créer moins de 4 096 pods dans votre cluster, vous pouvez réserver une plage de pods /20, par exemple 172.16.0.0/20.

Pour un cluster donné, les plages de services et de pods ne doivent pas se chevaucher. En outre, les plages de services et de pods ne doivent pas chevaucher les adresses IP utilisées pour les nœuds d'un cluster.

Préparer votre équilibreur de charge

Les clusters GKE On-Prem peuvent s'exécuter avec l'un des deux modes d'équilibrage de charge : intégré ou manuel. En mode intégré, les clusters GKE On-Prem s'exécutent avec l'équilibreur de charge F5 BIG-IP. En mode manuel, vous configurez manuellement un autre équilibreur de charge.

Préparer des partitions F5 BIG-IP

Si vous choisissez d'utiliser le mode intégré, vous devez créer une partition F5 BIG-IP pour gérer l'équilibrage de charge pour chaque cluster GKE On-Prem que vous souhaitez créer.

Dans un premier temps, vous devez créer au moins deux partitions : une pour le cluster d'administrateur et une autre pour un cluster d'utilisateur. Vous devez créer une partition avant de créer le cluster correspondant.

N'utilisez pas vos partitions de cluster pour autre chose. Chacun de vos clusters doit avoir une partition à son usage exclusif.

Pour savoir comment créer des partitions, consultez la section Créer une partition d'administration dans la documentation F5 BIG-IP.

Utiliser le mode d'équilibrage de charge manuel

Le mode d'équilibrage de charge manuel nécessite plus de configuration que le mode intégré. Pour en savoir plus, consultez la page Activer l'équilibrage de charge manuel.