Présentation de GKE On-Prem

GKE On-Prem est une solution cloud hybride qui permet d'utiliser Google Kubernetes Engine (GKE) dans des centres de données sur site. Avec GKE On-Prem, vous pouvez créer, gérer et mettre à niveau des clusters Kubernetes dans votre environnement sur site et les connecter à Google Cloud Console.

Découvrir Kubernetes

GKE On-Prem et GKE sont basés sur Kubernetes, une plate-forme Open Source extensible permettant de gérer des applications conteneurisées. Kubernetes orchestre les clusters, qui sont des ensembles de machines (également appelés "nœuds") qui exécutent des applications conteneurisées.

Obtenir GKE On-Prem

GKE On-Prem est inclus en tant que composant principal d'Anthos.

Se préparer à l'utilisation de GKE On-Prem

Vous devez installez GKE On-Prem sur un cluster VMware vSphere 6.5 exécuté sur du matériel dans votre environnement sur site. Pour l'équilibrage de charge de couche 4, vous pouvez choisir d'utiliser F5 BIG-IP (équilibreur de charge intégré à GKE On-Prem) ou de configurer un autre équilibreur de charge de couche 4.

La préparation inclut la configuration de votre projet Google Cloud et le téléchargement des outils d'interface de ligne de commande (CLI) nécessaires, y compris Terraform version 11. Vous devez également utiliser Terraform pour créer une machine virtuelle (VM) de poste de travail d'administrateur dans vSphere.

À propos du poste de travail administrateur

Le poste de travail administrateur est la VM vSphere à partir de laquelle les administrateurs de cluster installent GKE On-Prem et interagissent avec ce service.

Si vous êtes un administrateur de cluster, vous utilisez Terraform pour créer le poste de travail administrateur dans vSphere. Pour créer le poste de travail administrateur, vous devez télécharger trois fichiers :

  • Fichier OVA (Open Virtual Appliance) Il s'agit d'une image de VM versionnée qui fournit un "modèle de VM" pour Terraform.
  • Fichier de configuration Terraform (TF).
  • Fichier de variables de configuration Terraform (TFVARS).

Le poste de travail administrateur comprend les éléments suivants :

  • Un fichier de bundle ou groupe.
  • Des outils CLI pour interagir avec GKE On-Prem, vSphere et Google Cloud

À propos du groupe

Le bundle ou groupe de GKE On-Prem est une archive TGZ avec versions gérées qui contient tous les composants nécessaires à la création et à la mise à niveau des clusters GKE On-Prem.

Il existe deux types de groupes :

Groupe complet

Le groupe complet, gke-onprem-vsphere-[VERSION]-full.tgz, est inclus dans le poste de travail administrateur. Il est disponible au chemin /var/lib/gke/bundles. Le groupe complet permet d'installer GKE On-Prem pour la première fois. Il s'agit d'un fichier volumineux comprenant les éléments suivants :

  • Un fichier TAR avec des images de conteneur de tous les composants de cluster déployés sur les clusters
  • Les fichiers YAML de ces composants de cluster
  • Une image de nœud de GKE On-Prem
Groupe de mise à niveau

Le groupe de mise à niveau gke-onprem-vsphere-[VERSION].tgz est fourni pour la mise à niveau des clusters. Vous le trouverez également dans la section Téléchargements. Seuls les fichiers YAML des composants du cluster sont installés lors de l'installation.

Fonctionnement de l'installation de GKE On-Prem

Voici un résumé bref des étapes effectuées lors d'une installation :

  1. Vous vous connectez via SSH à votre poste de travail administrateur.
  2. Vous exécutez gkectl create-config pour générer un fichier de configuration GKE On-Prem. Le fichier de configuration déclare une spécification pour l'installation de GKE On-Prem. Vous la modifiez en fonction de vos besoins.
  3. Vous exécutez gkectl check-config pour vérifier que le fichier de configuration modifié peut être utilisé pour une installation.
  4. Vous exécutez gkectl prepare pour déplacer l'image de l'OS de GKE On-Prem vers vSphere et la marquez en tant que modèle pour les VM. Si vous configurez un registre Docker privé, cette commande transfère également les images de conteneurs de GKE On-Prem vers le registre.
  5. Vous exécutez gkectl create clusters --config en transmettant le fichier de configuration pour installer GKE On-Prem de manière déclarative.

À la fin d'une installation réussie, vous devez disposer des éléments suivants dans vSphere :

Architecture

Schéma de présentation de l'architecture de GKE On-Prem Figure : architecture GKE On-Prem avec un seul plan de contrôle d'utilisateur.

Dans GKE On-Prem, il existe des clusters d'administrateur et des clusters d'utilisateur.

Cluster d'administrateur

Le cluster d'administrateur est la couche de base de GKE On-Prem. Il exécute les composants GKE On-Prem suivants :

  • Plan de contrôle d'administrateur : Le plan de contrôle d'administrateur gère tous les appels de l'API gkectl et de l'API Kubernetes vers et depuis GKE On-Prem ainsi que tous les appels vers les API vSphere.
  • Plans de contrôle d'utilisateur : plan de contrôle d'un cluster d'utilisateur. Achemine les requêtes API vers les nœuds du cluster. Chaque cluster possède son propre plan de contrôle qui s'exécute dans le cluster d'administrateur.
  • VM de modules complémentaires : VM qui exécutent les modules complémentaires du cluster d'administrateur, tels que Grafana, Prometheus, les composants Istio et Stackdriver.

Notez que les plans de contrôle d'utilisateur sont gérés par le cluster d'administrateur. Ils s'exécutent sur des nœuds dans des clusters d'administrateur, et non dans les clusters d'utilisateur eux-mêmes. Pour gérer les plans de contrôle d'utilisateur, les clusters d'administrateur doivent effectuer les tâches suivantes :

  • Gérer les machines qui exécutent les plans de contrôle de cluster d'utilisateur
  • Créer, mettre à jour et supprimer les composants du plan de contrôle
  • Exposer le serveur d'API Kubernetes au cluster d'utilisateur
  • Gérer les certificats de cluster

Cluster d'utilisateur

Les clusters d'utilisateur vous permettent de déployer et d'exécuter vos charges de travail et services en conteneur.

Outils CLI

Lorsque vous installez GKE On-Prem, vous téléchargez les outils CLI suivants sur votre poste de travail local ou votre ordinateur portable :

  • govc
  • terraform
  • gkectl
  • kubectl (inclus dans la CLI Google Cloud)
  • gcloud (inclus dans gcloud CLI)

govc

govc correspond à l'interface de ligne de commande de vSphere. Vous utilisez govc lorsque vous créez le poste de travail administrateur.

terraform

terraform est l'interface de ligne de commande de HashiCorp Terraform. Vous utilisez terraform pour créer le poste de travail administrateur.

gkectl

gkectl est l'interface de ligne de commande principale de GKE On-Prem. Vous utilisez gkectl pour de nombreuses tâches d'administration de cluster, y compris :

  • Créer et gérer des clusters
  • Analyser et dépanner
  • Capturer et exporter des journaux de cluster

kubectl

kubectl est l'interface de ligne de commande de Kubernetes. Vous utilisez kubectl pour interagir avec Kubernetes et effectuer des tâches telles que :

  • Déployer, gérer et supprimer des charges de travail conteneurisées s'exécutant dans des clusters
  • Gérer, modifier et supprimer des ressources Kubernetes

gcloud

La CLI Google Cloud est l'interface de ligne de commande de Google Cloud. Vous utilisez gcloud CLI à plusieurs fins, y compris les tâches suivantes :

  • S'authentifier sur votre projet Google Cloud
  • Créer des comptes de service et leurs clés privées
  • Associer des rôles Identity and Access Management à des comptes

Enregistrer des clusters avec la console Google Cloud

Lorsque vous créez des clusters d'utilisateur GKE On-Prem, vous pouvez choisir d'activer Connect pour les enregistrer automatiquement avec la console Google Cloud. Connect vous permet d'afficher vos clusters Kubernetes sur site et dans le cloud et de vous y connecter à partir de la même interface utilisateur Google Cloud.

L'activation de Connect crée un agent Connect dans chaque cluster d'utilisateur. L'agent Connect est un déploiement qui établit une connexion cryptée de longue durée entre les clusters sur site et Google Cloud.

L'image de conteneur de l'agent Connect est extraite d'un dépôt Container Registry hébergé sur gcr.io. Si votre cluster d'utilisateur n'est pas connecté ou ne peut pas se connecter à gcr.io, vous devez utiliser un registre Docker privé pour le connecter à la console Google Cloud.

Gestion des versions

Pour en savoir plus sur le fonctionnement de la gestion des versions, consultez la section Versions.