Service TKG fournit la gestion du cycle de vie en libre-service des clusters de charge de travail Kubernetes. Le service TKG avec le Superviseur est optimisé pour l'environnement vSphere et s'intègre à l'infrastructure sous-jacente, notamment vCenter, ESXi, la mise en réseau virtuelle et le stockage cloud natif. Avec le service TKG, vous pouvez provisionner des clusters Kubernetes conformes et maintenir la simultanéité en amont.

Le Service TKG inclut plusieurs composants intégrés au vSphere IaaS control plane.
Figure 1. Composants Service TKG
Composants du service TKG

Gestion de la charge de travail

La gestion de la charge de travail est une solution VMware qui fournit un plan de contrôle Kubernetes sur une infrastructure vSphere native. L'activation de la gestion de la charge de travail vous permet de déployer un ou plusieurs Superviseurs dans votre environnement vSphere. La gestion de la charge de travail est fournie avec vCenter Server, mais sous licence distincte.

Superviseur

Le Superviseur est un cluster Kubernetes qui sert de plan de contrôle pour gérer les clusters de charge de travail. Configurez le Superviseur pour prendre en charge les développeurs qui provisionnent et exploitent les clusters Tanzu Kubernetes Grid.

Déploiement du Superviseur : cluster vSphere

La manière traditionnelle de déployer Superviseur consiste à se trouver sur un cluster vSphere unique. Un cluster vSphere est un ensemble d'hôtes ESXi gérés par un vCenter Server. Un cluster vSphere doit être configuré avec des fonctionnalités spécifiques pour prendre en charge le Superviseur, notamment :
  • Hôtes ESXi multiples connectés par un commutateur vSphere Distributed Switch (VDS)
  • Le stockage partagé est configuré, tel que vSAN ou NFS
  • vSphere HA et DRS entièrement automatisé sont activés
  • Lifecycle Manager est activé
  • La mise en réseau est configurée, soit NSX avec l'équilibreur de charge intégré ou VDS avec un équilibreur de charge externe
Sur le plan architectural, pour les déploiements de production de TKG sur le Superviseur, vous devez séparer l'hôte ou le cluster de plan de gestion sur lequel vCenter Server s'exécute à partir du cluster de plan de calcul où le Superviseur sera activé. Si vous utilisez un cluster vSphere pour héberger vCenter Server, DRS ne doit pas être activé sur ce cluster. Pour plus d'informations, reportez-vous à la documentation de vCenter.

Déploiement du Superviseur : zones vSphere

vSphere 8 introduit des zones vSphere. Vous pouvez attribuer des clusters vSphere à des zones vSphere pour fournir une haute disponibilité et une tolérance de panne pour le Superviseur. Le déploiement de Superviseur sur des zones vSphere vous permet de provisionner des clusters TKG dans des zones de disponibilité spécifiques.

Dans un déploiement de Superviseur sur un cluster vSphere unique, il existe une relation un-à-un entre le Superviseur et le cluster vSphere. Dans un déploiement de Superviseur segmenté, le Superviseur s'étend sur trois clusters vSphere pour fournir des domaines de haute disponibilité et de défaillance aux clusters TKG sur le Superviseur.

Un administrateur vSphere crée les trois zones vSphere et les associe à un cluster vSphere. En plus des conditions requises pour le cluster vSphere, un déploiement de Superviseur sur trois zones vSphere présente des exigences spéciales, notamment :

  • Trois zones vSphere connectées par un commutateur vSphere Distributed Switch (VDS)
  • Chaque zone vSphere contient un cluster vSphere unique
  • Un Superviseur doit être déployé sur exactement 3 zones vSphere.
  • Une stratégie de stockage vSphere est disponible sur la zone vSphere

Espace de noms vSphere

Un Espace de noms vSphere est un espace de noms sur le Superviseur où un ou plusieurs clusters Tanzu Kubernetes Grid sont provisionnés. Pour chaque Espace de noms vSphere, vous configurez le contrôle d'accès basé sur les rôles, le stockage persistant, les limites de ressources, la bibliothèque d'images et les classes de machine virtuelle.

Service TKG

Le Service TKG est une implémentation du projet d'API de cluster open source qui définit un ensemble de ressources personnalisées et de contrôleurs pour gérer le cycle de vie des clusters Kubernetes. Le Tanzu Kubernetes Grid est un composant de Superviseur.

Le Service TKG dispose de trois couches de contrôleurs pour gérer le cycle de vie des clusters TKG, notamment le Service de machine virtuelle, l'API de cluster et le plug-in de fournisseur de cloud.

VM Operator
Le contrôleur de Service de machine virtuelle fournit une API déclarative de type Kubernetes pour la gestion des machines virtuelles et des ressources vSphere associées. Le Service de machine virtuelle introduit le concept d'une classe de machine virtuelle qui représente une configuration matérielle abstraite réutilisable. Le Service TKG utilise le Service de machine virtuelle pour gérer le cycle de vie des machines virtuelles du plan de contrôle et du nœud worker qui hébergent un cluster de charge de travail.
API du cluster
Le contrôleur d'API de cluster fournit des API déclaratives de type Kubernetes pour la création, la configuration et la gestion du cluster. Les entrées de l'API du cluster incluent une ressource décrivant le cluster, un ensemble de ressources décrivant les machines virtuelles qui constituent le cluster et un ensemble de ressources décrivant les modules complémentaires de cluster.
Plug-in du fournisseur de cloud
Le Service TKG provisionne les clusters de charge de travail qui comprennent les composants nécessaires pour s'intégrer aux ressources de l' Espace de noms vSphere sous-jacentes. Ces composants incluent un plug-in de fournisseur de cloud qui s'intègre au Superviseur. TKG utilise le plug-in de fournisseur de cloud pour transmettre des demandes de volume persistants au Superviseur, qui est intégré au stockage cloud natif (CNS) de VMware.

Versions de Tanzu Kubernetes

Une Version de Tanzu Kubernetes fournit la distribution logicielle Kubernetes et des modules complémentaires signés et pris en charge par VMware pour une utilisation avec les clusters de Tanzu Kubernetes Grid.

Chaque Version de Tanzu Kubernetes est distribué en tant que modèle de machine virtuelle (fichier OVA). Le Tanzu Kubernetes Grid utilise le format OVA pour construire les nœuds de machine virtuelle pour les clusters TKG. Les versions de Tanzu Kubernetes sont créées selon la version de Kubernetes et incluent les personnalisations et les optimisations du système d'exploitation pour l'infrastructure vSphere.

Pour obtenir la liste des versions de Tanzu Kubernetes et connaître la compatibilité avec le Superviseur, reportez-vous aux Notes de mise à jour de Tanzu Kubernetes. Reportez-vous également à la Stratégie de prise en charge de vSphere IaaS control plane.

Bibliothèque de contenu

Les Versions de Tanzu Kubernetes sont mises à la disposition des clusters TKG à l'aide d'une bibliothèque de contenu vCenter. Vous pouvez créer une bibliothèque de contenu abonnée et recevoir automatiquement des TKR lorsqu'elles sont mises à disposition par VMware, ou utiliser une bibliothèque de contenu locale et charger manuellement des TKR.

Composants du cluster de Service TKG

Les composants qui s'exécutent dans un cluster Service TKG fournissent la fonctionnalité pour quatre zones du produit : authentification, stockage, mise en réseau et équilibrage de charge.

Webhook d'authentification

Le Webhook d'authentification s'exécute en tant qu'espace à l'intérieur du cluster pour valider les jetons d'authentification utilisateur.

Les clusters TKG prennent en charge l'authentification de deux façons : à l'aide de vCenter Single Sign-On et à l'aide d'un fournisseur d'identité externe qui prend en charge le protocole Open ID Connect (OIDC).

TKG exécute le client OIDC Pinniped sur Superviseur et sur les nœuds de cluster TKG. La configuration d'un fournisseur OIDC externe pour le Superviseur configure automatiquement les composants Pinniped.

TKG prend en charge l'authentification de divers clients dans le Superviseur, notamment le Plug-in vSphere pour kubectl et l'interface de ligne de commande.

Interface de stockage de conteneur (CSI)

Un plug-in CSI paravirtuel est un espace Kubernetes qui s'exécute à l'intérieur d'un cluster TKG et qui s'intègre à l'espace de stockage natif VMware (CNS, Cloud Native Storage) via le Superviseur. Un espace Kubernetes qui s'exécute à l'intérieur d'un cluster TKG peut monter trois types de disques virtuels : éphémère, volume persistant et image de conteneur.

Stockage temporaire

Un espace nécessite un stockage temporaire pour stocker des données éphémères telles que des objets Kubernetes comme des journaux, des volumes et des mappages de configuration. Le stockage temporaire dure tant que l'espace existe. Les données éphémères persistent d'un redémarrage à l'autre des conteneurs, mais une fois que l'espace est supprimé, le disque virtuel stockant les données éphémères disparaît.

Stockage persistant

TKG exploite l'infrastructure de stratégie de stockage vSphere pour définir des classes de stockage et réserver des volumes persistants. Les clusters TKG transmettent des demandes de volume persistants au Superviseur, qui est intégré au stockage cloud natif (CNS) de VMware. Les volumes persistants sont provisionnés sur les nœuds de cluster,soit dynamiquement à l'aide d'une classe de stockage, soit manuellement.

Stockage des images de conteneur

Les conteneurs à l'intérieur d'un espace Kubernetes utilisent des images qui contiennent le logiciel à exécuter. L'espace monte les images utilisées par ses conteneurs en tant que disques virtuels d'image. Lorsque l'espace termine son cycle de vie, les disques virtuels d'image sont détachés de l'espace. Kubelet est chargé d'extraire des images de conteneur du registre d'images et de les transformer en disques virtuels pour qu'ils s'exécutent à l'intérieur de l'espace.

Interface réseau de conteneur (CNI)

Le plug-in d'interface réseau de conteneur (CNI) est un plug-in CNI qui fournit la mise en réseau des espaces.

Les clusters TKG prennent en charge les options d'interface réseau de conteneur (CNI) suivantes : Antrea (par défaut) et Calico. En outre, TKG fournit la CNI avec acheminement NSX Antrea pour mettre en œuvre la mise en réseau des espaces routables.

Le tableau récapitule les fonctionnalités de mise en réseau du cluster TKG et leur implémentation.

Tableau 1. Mise en réseau du cluster Service TKG
Point de terminaison Fournisseur Description
Connectivité des espaces Antrea ou Calico Interface réseau de conteneur pour les espaces. Antrea utilise Open vSwitch. Calico utilise le pont Linux avec BGP.
Type de service : ClusterIP Antrea ou Calico Type de service Kubernetes par défaut qui est uniquement accessible depuis le cluster.
Type de service : NodePort Antrea ou Calico Autorise l'accès externe via un port ouvert sur chaque nœud worker par le proxy réseau Kubernetes.
Stratégie réseau Antrea ou Calico Contrôle le trafic autorisé vers et depuis les espaces et les points de terminaison réseau sélectionnés. Antrea utilise Open vSwitch. Calico utilise des tables IP Linux.
Implémentation du fournisseur de cloud
L'implémentation du fournisseur de cloud vous permet de créer les services d'entrée et d'équilibrage de charge Kubernetes.
Tableau 2. Équilibrage de charge TKG
Point de terminaison Fournisseur Description
Type de service : LoadBalancer

Équilibrage de charge intégré NSX (partie de la pile réseau NSX)

NSX Advanced Load Balancer (installation distincte à utiliser avec la mise en réseau VDS)

HAProxy (installation distincte à utiliser avec la mise en réseau VDS)

Pour l'équilibrage de charge intégré NSX, un serveur virtuel par définition de type de service.

Pour NSX Advanced Load Balancer, reportez-vous à cette section de la documentation.

Pour HAProxy, reportez-vous à cette section de cette documentation.

Note : Certaines fonctionnalités d'équilibrage de charge peuvent ne pas être disponibles sur chaque type d'équilibrage de charge pris en charge, telles que les adresses IP statiques.
Entrée du cluster Contrôleur d'entrée tiers Fournit le routage pour le trafic d'espace entrant. Vous pouvez utiliser n'importe quel contrôleur d'entrée tiers, tel que Contour.

API de cluster Service TKG

Service TKG fournit deux API pour le provisionnement et la gestion du cycle de vie des clusters TKG.
  • Version de l'API v1alpha3 pour les clusters Tanzu Kubernetes
  • Version de l'API v1beta1 pour les clusters en fonction d'une classe ClusterClass

L'API v1alpha3 vous permet de créer des clusters Kubernetes conformes de type TanzuKubernetesCluster. Ce type de cluster est préconfiguré avec des valeurs par défaut communes pour un provisionnement rapide et peut être personnalisé. L'API v1beta1 vous permet de créer des clusters Kubernetes conformes de type Cluster, basés sur une ClusterClass par défaut fournie par VMware.

Note : Pour mettre à niveau vSphere IaaS control plane à partir de vSphere 7 vers vSphere 8, le cluster TKG doit exécuter l'API v1alpha2. L' API v1alpha2 a été introduite avec la version 7.0 Update 3. L'API v1alpha1 est obsolète. Pour plus d'informations, reportez-vous à la section .

Clients de cluster de Service TKG

Le Superviseur TKG sur vSphere 8 prend en charge un certain nombre d'interfaces client pour le provisionnement, la surveillance et la gestion du cycle de vie des clusters TKG .
  • vSphere Client pour la configuration du Superviseur et la surveillance des clusters TKG déployés.
  • Plug-in vSphere pour kubectl pour l'authentification avec des clusters Superviseur et TKG à l'aide de vCenter Single Sign-On.
  • kubectl pour provisionner et gérer le cycle de vie des clusters TKG de manière déclarative, ainsi que pour interagir avec le Superviseur.
  • assistance des informations d'identification de vSphere Docker pour transférer et extraire des images vers et depuis un registre de conteneur.
  • Tanzu CLI pour le provisionnement de clusters à l'aide de commandes et pour l'installation de modules Tanzu.
  • Interface Web de Tanzu Mission Control pour la gestion des clusters TKG.