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.

Impossibilité de déployer 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 ou vSphere. Vous ne pouvez pas déployer les mêmes clusters d'administrateur et d'utilisateur sur plusieurs centres de données vCenter 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 Google Cloud CLI, 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 Google Cloud CLI pour utiliser votre proxy/pare-feu depuis 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 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.

Autoriser gcloud à accéder à Google Cloud

Après avoir installé gcloud CLI, connectez-vous à Google Cloud en utilisant vos identifiants de 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 de gcloud CLI sur ce 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 votre ID du projet (vous le trouverez dans la console Google Cloud 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 devez utiliser 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 les fonctions 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 d'autorisation.

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

gcloud iam service-accounts create access-service-account

Compte de service d'enregistrement

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

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

gcloud iam service-accounts create register-service-account

Compte de service de connexion

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 Google Cloud Operations

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

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 d'autorisation

Une fois que vous avez acheté Anthos, Google ajoute les éléments suivants à la liste d'autorisation 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 de compte technique peuvent vous aider. Ouvrez une demande d'assistance via la console Google Cloud ou via 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 Identity and Access Management à vos comptes de service

IAM autorise les comptes à appeler les API Google Cloud. Attribuez des rôles 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, indiquez l'adresse e-mail du compte concerné.

Compte de service d'enregistrement

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"

Compte de service de connexion

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 Google Cloud Operations

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

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"

Configuration de la journalisation et de la surveillance

Stackdriver Logging et Stackdriver Monitoring sont activés par défaut pour GKE On-Prem.

Ajouter des adresses à une liste d'autorisation pour votre proxy

Si votre organisation a besoin que l'accès Internet se fasse par l'intermédiaire d'un proxy HTTP, vous devez ajouter à la liste d'autorisation 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 d'autorisation 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 à la console Google Cloud.
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 à la console Google Cloud 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 d'autorisation :

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 d'autorisation 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 la 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 Creating an administrative partition (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.