Avant de pouvoir utiliser la CLI Tanzu ou l'interface du programme d'installation pour déployer un cluster de gestion, vous devez préparer votre environnement vSphere. Vous devez vous assurer que vSphere répond aux exigences générales et importer les modèles d'image de base à partir desquels Tanzu Kubernetes Grid crée des machines virtuelles de nœud de cluster. Chaque modèle d'image de base contient une version d'un système d'exploitation de machine et une version de Kubernetes.
kubectl
sont installés. Reportez-vous à la section Installer la CLI Tanzu et d'autres outils à utiliser avec des clusters de gestion autonomes.
tanzu
, kubectl
et d'autres commandes.Un réseau vSphere* avec :
VSPHERE_CONTROL_PLANE_ENDPOINT
ou, si vous utilisez NSX Advanced Load Balancer pour votre point de terminaison de plan de contrôle, laissez l'adresse être définie automatiquement à partir d'un pool d'adresses.CLUSTER_API_SERVER_PORT
ou, pour les environnements avec NSX Advanced Load Balancer, la variable VSPHERE_CONTROL_PLANE_ENDPOINT_PORT
lors du déploiement du cluster.~/.config/tanzu/tkg/bom/
et son nom comporte la version de Tanzu Kubernetes Grid, par exemple bom-2.1.1+vmware.1.yaml
pour la version 2.1.1.date
pour afficher les paramètres du fuseau horaire.esxcli system time set
.NSX Advanced Load Balancer (ALB) installé dans votre instance de vSphere, si vous souhaitez utiliser NSX ALB comme équilibrage de charge et comme fournisseur de point de terminaison pour la haute disponibilité du plan de contrôle. Reportez-vous à la section Installer NSX Advanced Load Balancer.
Si votre environnement vSphere exécute VMware NSX, vous pouvez utiliser les interfaces NSX lorsque vous déployez des clusters de gestion. Assurez-vous que votre configuration NSX inclut un segment sur lequel DHCP est activé. Assurez-vous que NTP est configuré sur tous les hôtes ESXi, sur le système vCenter Server et sur la machine de démarrage.
*Ou reportez-vous à la section Préparer un environnement à accès restreint à Internet pour installer sans accès réseau externe.
Le tableau ci-dessous décrit des exemples de dimensionnement pour les clusters de gestion sur vSphere. Utilisez ces données comme guide pour vous assurer que votre cluster de gestion est dimensionné afin de gérer le nombre de clusters de charge de travail que vous prévoyez de déployer. La colonne Taille de machine virtuelle du cluster de charge de travail répertorie les tailles de machines virtuelles utilisées pour les exemples dans la colonne Peut gérer….
Plan de cluster de gestion | Taille de la VM du cluster de gestion | Peut gérer… | Taille de la VM du cluster de charge de travail |
---|---|---|---|
3 nœuds de plan de contrôle et 3 nœuds worker | Nœuds de plan de contrôle :
Nœuds Worker
|
Exemples :
|
Nœuds de plan de contrôle :
Nœuds Worker
|
3 nœuds de plan de contrôle et 3 nœuds worker | Nœuds de plan de contrôle :
Nœuds Worker
|
Exemple : Un cluster de charge de travail, déployé avec 3 plans de contrôle et 500 nœuds worker | Nœuds de plan de contrôle :
Nœuds Worker
|
3 nœuds de plan de contrôle et 3 nœuds worker | Nœuds de plan de contrôle :
Nœuds Worker
|
Exemple : 200 clusters de charge de travail, chacun déployé avec 3 plans de contrôle et 5 nœuds worker | Nœuds de plan de contrôle :
Nœuds Worker
|
Reportez-vous également à la section Tailles minimales de VM pour les nœuds de cluster ci-dessous.
Sur vSphere 8, la fonctionnalité vSphere with Tanzu inclut un superviseur que vous pouvez utiliser en tant que cluster de gestion pour Tanzu Kubernetes Grid. Cela signifie que sur vSphere 8, vous n'avez pas besoin d'utiliser tanzu management-cluster create
ou tanzu mc create
pour déployer un cluster de gestion si vSphere with Tanzu et le superviseur sont activés. Le déploiement d'un cluster de gestion Tanzu Kubernetes Grid sur vSphere 8 lorsque vSphere with Tanzu n'est pas activé est pris en charge, mais l'option préférée consiste à activer vSphere with Tanzu et à utiliser le cluster superviseur intégré, si possible. Le superviseur vSphere with Tanzu est étroitement intégré à vSphere, il offre donc une expérience utilisateur plus rationalisée que l'utilisation d'un cluster de gestion autonome. Toutefois, l'utilisation d'un cluster de gestion autonome sur vSphere offre plus d'options de configuration et de personnalisation qu'un superviseur.
ImportantLes versions de la CLI Tanzu compatibles avec TKG 2.x et disposant du superviseur vSphere with Tanzu dans vSphere 8 ne sont pas compatibles avec le cluster superviseur dans vSphere 7. Pour utiliser la CLI Tanzu avec un cluster superviseur vSphere with Tanzu sur vSphere 7, utilisez la version de la CLI Tanzu de TKG v1.6. Pour utiliser les versions de la CLI Tanzu compatibles avec TKG 2.x et un superviseur, effectuez une mise à niveau vers vSphere 8. Vous pouvez déployer un cluster de gestion TKG 2.x autonome sur vSphere 7 si aucun cluster superviseur vSphere with Tanzu n'est présent. Pour plus d'informations sur la compatibilité entre la CLI Tanzu et les produits VMware, reportez-vous à la documentation de la CLI Tanzu.
La CLI Tanzu fonctionne avec les clusters de gestion fournis par vSphere with Tanzu et les clusters de gestion autonomes déployés par Tanzu Kubernetes Grid sur Azure, Amazon Web Services (AWS) et vSphere lorsque vSphere with Tanzu n'est pas activé, ce qui vous permet de déployer et de gérer des clusters de charge de travail sur plusieurs infrastructures à l'aide d'un outil unique. Pour plus d'informations sur l'utilisation de la CLI Tanzu avec un superviseur, reportez-vous à la section Connecter la CLI Tanzu au superviseur dans Création et gestion de clusters de charge de travail TKG 2.1 avec la CLI Tanzu.
Pour plus d'informations sur la fonctionnalité vSphere with Tanzu dans vSphere 8, reportez-vous à la documentation de vSphere with Tanzu 8.0.
RemarqueSur Azure VMware Solution, vous ne pouvez pas créer de cluster superviseur et vous devez déployer un cluster de gestion pour exécuter des commandes
tanzu
.
Chaque cluster de gestion et cluster de charge de travail que vous déployez sur vSphere nécessite une adresse IP virtuelle statique pour les demandes externes au serveur API du cluster. Comme vous devez pouvoir attribuer cette adresse IP, elle ne peut donc pas être comprise dans votre plage DHCP, mais elle doit se trouver dans le même sous-réseau que la plage DHCP.
L'espace Kube-Vip du plan de contrôle du cluster utilise cette adresse IP virtuelle statique pour répondre aux demandes d'API, et le certificat du serveur d'API inclut l'adresse pour activer la communication TLS sécurisée. Dans les clusters de charge de travail, Kube-Vip s'exécute en mode de basculement de base de couche 2, en attribuant l'adresse IP virtuelle à un nœud de plan de contrôle à la fois. Dans ce mode, Kube-Vip ne fonctionne pas comme un véritable équilibrage de charge pour le trafic du plan de contrôle.
Tanzu Kubernetes Grid peut utiliser Kube-Vip comme équilibrage de charge pour les charges de travail dans les clusters de charge de travail (version d'évaluation technique). Vous ne pouvez pas utiliser Kube-VIP comme service LoadBalancer
sur des clusters basés sur Windows. Pour plus d'informations, reportez-vous à la section Équilibrage de charge de Kube-VIP.
Pour équilibrer les charges de travail sur vSphere, utilisez NSX Advanced Load Balancer, également appelé Avi Load Balancer, Essentials Edition.
ImportantSur vSphere 8, pour utiliser NSX Advanced Load Balancer avec un cluster de gestion autonome TKG et ses clusters de charge de travail, vous avez besoin de NSX ALB 22.1.2 ou version ultérieure et de TKG 2.1.1 ou version ultérieure.
Avant de pouvoir déployer un cluster sur vSphere, vous devez importer dans vSphere un modèle d'image de base contenant les versions du système d'exploitation et de Kubernetes sur lesquelles les nœuds de cluster s'exécutent. Pour chaque paire de versions du système d'exploitation et de Kubernetes prises en charge, VMware publie un modèle d'image de base au format OVA, pour déployer des clusters sur vSphere. Après avoir importé le fichier OVA dans vSphere, vous devez convertir la machine virtuelle résultante en modèle de machine virtuelle.
Les images de base prises en charge pour les nœuds de cluster dépendent du type de cluster, comme suit :
Cluster de gestion : le fichier OVA doit disposer de Kubernetes 1.24.10, la version par défaut de Tanzu Kubernetes Grid 2.1.1. Il doit donc s’agir de l’un des produits suivants :
Fichier OVA Ubuntu 20.04 Kubernetes 1.24.10
RemarqueDans Tanzu Kubernetes Grid 2.1, l'image OVA Ubuntu utilise le mode de démarrage UEFI (Unified Extensible Firmware Interface).
Fichier OVA Photon 3 Kubernetes 1.24.10
OVA personnalisé avec une version personnalisée de Tanzu Kubernetes (TKR), comme décrit dans Créer des images de machine.
Pour importer un modèle d’image de base dans vSphere :
Téléchargez un fichier OVA Tanzu Kubernetes Grid pour les nœuds de cluster. Pour le cluster de gestion, il doit s'agir de l'un des téléchargements Fichier OVA Kubernetes 1.24.10 (Kubernetes 1.24.10 OVA).
Importantassurez-vous de télécharger les modèles d'image de base OVA les plus récents en cas de versions de correctifs de sécurité.
Vous trouverez des modèles d'image de base mis à jour qui incluent des correctifs de sécurité sur la page de téléchargement du produit Tanzu Kubernetes Grid.
Dans vSphere Client, cliquez avec le bouton droit sur un objet dans l'inventaire vCenter Server et sélectionnez Déployer le modèle OVF (Deploy OVF template).
Suivez les invites du programme d'installation pour déployer une machine virtuelle à partir du fichier OVA.
Remarquesi vous sélectionnez le provisionnement statique comme format de disque, lorsque Tanzu Kubernetes Grid crée des machines virtuelles de nœud de cluster à partir du modèle, la taille complète du disque de chaque nœud sera réservée. Cela peut rapidement consommer du stockage si vous déployez de nombreux clusters ou des clusters avec de nombreux nœuds. Cependant, si vous sélectionnez le provisionnement dynamique, lorsque vous déployez des clusters, cela peut donner une fausse impression de la quantité de stockage disponible. Si vous sélectionnez le provisionnement dynamique, le stockage disponible au moment du déploiement des clusters peut être suffisant, mais il peut s'épuiser lorsque les clusters s'exécutent et accumulent des données.
Lorsque le déploiement OVA se termine, cliquez avec le bouton droit sur la machine virtuelle et sélectionnez Modèles (Template) > Convertir vers le modèle (Convert to Template).
Importantne mettez pas sous tension la machine virtuelle avant de la convertir en modèle.
Dans la vue VMs et modèles(VMs and Templates), cliquez avec le bouton droit sur le nouveau modèle, sélectionnez Ajouter une autorisation (Add Permission) et attribuez la variable tkg-user
au modèle avec le rôle TKG
.
Pour plus d'informations sur la création de l'utilisateur et du rôle pour Tanzu Kubernetes Grid, reportez-vous à la section Autorisations requises pour le compte vSphere ci-dessous.
Répétez la procédure pour chacune des versions de Kubernetes pour lesquelles vous avez téléchargé le fichier OVA.
Le compte vCenter Single Sign On que vous fournissez à Tanzu Kubernetes Grid lorsque vous déployez un cluster de gestion doit disposer des autorisations appropriées pour effectuer les opérations requises dans vSphere.
Il n'est pas recommandé de fournir un compte d'administrateur vSphere pour Tanzu Kubernetes Grid, car Tanzu Kubernetes Grid dispose alors d'autorisations beaucoup plus importantes qu'il n'en a besoin. La meilleure façon d'attribuer des autorisations à Tanzu Kubernetes Grid consiste à créer un rôle et un compte d'utilisateur, puis à accorder à ce compte d'utilisateur ce rôle sur des objets vSphere.
RemarqueSi vous déployez des clusters de charge de travail sur vSphere 7 ou 8 et que vSphere with Tanzu est activé, vous devez définir l'autorisation Globale (Global) > Administrateur de cloud (Cloud Admin) en plus des autorisations répertoriées ci-dessous. Si vous prévoyez d'utiliser Velero pour sauvegarder et restaurer des clusters de charge de travail, vous devez également définir les autorisations répertoriées dans la section Informations d'identification et privilèges pour l'accès à VMDK du Guide de programmation du kit de développement de disque virtuel.
Dans vSphere Client, accédez à Administration > Contrôle d'accès (Access Control) > Rôles (Roles) et créez un rôle, par exemple TKG
, avec les autorisations suivantes.
Objet vSphere | Autorisation requise |
---|---|
Cns | Autorisant la recherche |
Banque de données | Allouer de l'espace Parcourir la banque de données Opérations de fichier de niveau bas |
Global (en cas d'utilisation de Velero pour la sauvegarde et la restauration) | Désactiver les méthodes Activer les méthodes Licences |
Réseau | Assigner réseau |
Stockage basé sur le profil | Vue du stockage basée sur le profil |
Ressource | Attribuer une machine virtuelle au pool de ressources |
Sessions | Message Valider la session |
Machine virtuelle | Modifier la configuration > Ajouter un disque existant Modifier la configuration > Ajouter un nouveau disque Modifier la configuration > Ajouter ou supprimer un périphérique Modifier la configuration > Configuration avancée Modifier la configuration > Modifier le nombre de CPU Modifier la configuration > Modifier la mémoire Modifier la configuration > Modifier les paramètres Modifier la configuration > Configurer un périphérique brut Modifier la configuration > Étendre le disque virtuel Modifier la configuration > Modifier les paramètres du périphérique Modifier la configuration > Supprimer le disque Modifier la configuration Configuration > Basculer le suivi des changements de disques* Modifier l'inventaire > Créer à partir de l'existant Modifier l'inventaire > Supprimer Interaction > Mettre sous tension Interaction > Mettre hors tension Provisionnement > Autoriser la lecture accès au disque uniquement* Provisionnement > Autoriser le téléchargement de machines virtuelles* Provisionnement > Déployer le modèle Gestion des snapshots > Créer un snapshot* Gestion des snapshots > Supprimer un snapshot* *Requis pour activer le plug-in Velero, comme décrit dans la section Gestion de la sauvegarde et de la restauration et Infrastructure du cluster de charge de travail. Vous pouvez ajouter ces autorisations ultérieurement si nécessaire. |
vApp | Importer |
Dans Administration > Single Sign-On > Utilisateurs et groupes (Users and Groups), créez un compte d'utilisateur dans le domaine approprié, par exemple tkg-user
.
Dans les vues Hôtes et clusters (Hosts and Clusters), VM et modèles (VMs and Templates), Stockage (Storage) et Mise en réseau (Networking), cliquez avec le bouton droit sur les objets que votre déploiement de Tanzu Kubernetes Grid utilisera, sélectionnez Ajouter une autorisation (Add Permission) et attribuez la variable tkg-user
avec le rôle TKG
à chaque objet.
Configurez les tailles de vos nœuds de cluster de gestion et de charge de travail en fonction de la complexité du cluster et de la demande attendue. Vous pouvez les définir sur small
, medium
, large
, ou extra-large
comme décrit dans la section Tailles de nœud prédéfinies.
Pour tous les clusters sur vSphere, vous les configurez avec les variables de configuration de cluster SIZE
, CONTROLPLANE_SIZE
et WORKER_SIZE
. Pour une meilleure granularité, vous pouvez également utiliser les variables de configuration VSPHERE_*
_DISK_GIB
, _NUM_CPUS
et _MEM_MIB
.
Pour les clusters de gestion, le champ Type d'instance (Instance Type) de l'interface du programme d'installation configure également les tailles de VM de nœud.
Pour les clusters de gestion et de charge de travail avec un nœud worker unique exécutant des exemples d'applications, utilisez les tailles de machine virtuelle minimales suivantes :
small
medium
Pour que la CLI Tanzu se connecte à vSphere à partir de la machine sur laquelle vous l'exécutez, vous devez fournir la partie de clé publique d'une paire de clés SSH à Tanzu Kubernetes Grid lorsque vous déployez le cluster de gestion. Si vous n'en avez pas déjà sur la machine sur laquelle vous exécutez la CLI, vous pouvez utiliser un outil tel que ssh-keygen
pour générer une paire de clés.
Sur la machine sur laquelle vous allez exécuter la CLI Tanzu, exécutez la commande suivante ssh-keygen
.
ssh-keygen -t rsa -b 4096 -C "[email protected]"
À l'invite Enter file in which to save the key (/root/.ssh/id_rsa):
, appuyez sur Entrée pour accepter les valeurs par défaut.
Ajoutez la clé privée à l'agent SSH exécuté sur votre machine et entrez le mot de passe que vous avez créé à l'étape précédente.
ssh-add ~/.ssh/id_rsa
Ouvrez le fichier .ssh/id_rsa.pub
dans un éditeur de texte afin de pouvoir le copier et le coller facilement lorsque vous déployez un cluster de gestion.
Si votre environnement vSphere utilise des certificats auto-signés non approuvés pour authentifier les connexions, vous devez vérifier l'empreinte numérique du système vCenter Server lorsque vous déployez un cluster de gestion. Si votre environnement vSphere utilise des certificats approuvés signés par une autorité de certification connue, vous n'avez pas besoin de vérifier l'empreinte numérique.
Vous pouvez utiliser la visionneuse de certificats de votre navigateur Web pour obtenir l'empreinte numérique du certificat vSphere.
Accédez à la visionneuse de certificats en cliquant sur l'icône Sécurisé (Secure) (cadenas) à gauche de l'adresse Web dans le champ URL.
Les étapes suivantes dépendent du navigateur que vous utilisez. Par exemple, dans Google Chrome, sélectionnez La connexion est sécurisée (Connection is secure) > Le certificat est valide (Certificate is valid) pour afficher les détails du certificat, en incluant l'empreinte numérique.
Enregistrez la valeur Empreinte digitale SHA-1 (SHA-1 Fingerprint) dans le navigateur. S'il contient des espaces entre chaque paire hexadécimale, remplacez un caractère « :
» pour chaque espace, par exemple 6D:4A:DC:6C:C4:43:73:BB:DF:9A:32:68:67:56:F9:96:02:08:64:F4
.
Vous pouvez utiliser cette chaîne d'empreinte numérique pour la vérifier lorsque vous déployez un cluster de gestion à partir de l'interface du programme d'installation ou la fournir à l'option VSPHERE_TLS_THUMBPRINT
lorsque vous déployez des clusters à partir d'un fichier de configuration.
Pour déployer un cluster de gestion qui prend en charge IPv6 dans un environnement de mise en réseau IPv6 :
Configurez Linux pour accepter les annonces du routeur afin de vous assurer que la route IPv6 par défaut n'est pas supprimée de la table de routage lors du démarrage du service Docker. Pour plus d'informations, reportez-vous à la page Docker CE deletes IPv6 Default route. sudo sysctl net.ipv6.conf.eth0.accept_ra=2
Créez une règle de masquage pour le cluster de démarrage afin d'envoyer le trafic sortant à partir du cluster de démarrage : sudo ip6tables -t nat -A POSTROUTING -s fc00:f853:ccd:e793::/64 ! -o docker0 -j MASQUERADE
Pour plus d'informations sur les règles de masquage, reportez-vous à la page MASQUERADE.
Déployez le cluster de gestion en exécutant tanzu mc create
, comme décrit dans la section Déployer des clusters de gestion à partir d'un fichier de configuration.
TKG_IP_FAMILY
et d'autres variables comme décrit dans la section Configure pour IPv6.Pour les déploiements de production, il est vivement recommandé d'activer la gestion des identités pour vos clusters :
Si vous utilisez Tanzu Kubernetes Grid dans un environnement disposant d'une connexion Internet externe, une fois que vous avez configuré la gestion des identités, vous êtes prêt à déployer des clusters de gestion sur vSphere.