Un Espace de noms vSphere est un locataire limité au réseau sur le Superviseur. Les Espaces de noms vSphere sont utilisés pour héberger des clusters de Service TKG et fournir la mise en réseau, les autorisations de rôle, le stockage persistant, le quota de ressources, la bibliothèque de contenu et l'intégration de classe de machine virtuelle.
Espace de noms vSphere réseau
Un réseau d'Espace de noms vSphere est un sous-réseau défini à partir de . Le Préfixe de sous-réseau d'espace de noms spécifie la taille du sous-réseau réservé à chaque Espace de noms vSphere. La valeur par défaut est /28.
Le réseau d'Espace de noms vSphere fournit la connectivité des clusters TKG au Superviseur. Par défaut, l'Espace de noms vSphere utilisera les configurations réseau au niveau du cluster et allouera les adresses IP à partir de son sous-réseau. Lorsque vous créez un Espace de noms vSphere, un segment de superposition /28 et le pool d'adresses IP correspondant sont instanciés aux espaces de service dans cet Espace de noms vSphere.
Lorsque le premier cluster TKG est provisionné dans un Espace de noms vSphere, le cluster TKG partage le même sous-réseau que son Espace de noms vSphere. Pour chaque cluster TKG suivant provisionné dans cet Espace de noms vSphere, un nouveau sous-réseau est créé pour ce cluster et connecté à sa passerelle d'Espace de noms vSphere.
Il existe une instance d'équilibrage de charge partagée dans l'Espace de noms vSphere responsable du routage du trafic kubectl vers chaque plan de contrôle du cluster TKG. En outre, pour chaque équilibrage de charge de service Kubernetes disposant de ressources sur le cluster TKG, une instance d'équilibrage de charge de couche 4 est créée pour ce service.
Les clusters TKG dans le même Espace de noms vSphere partagent une adresse IP SNAT pour la connectivité nord-sud. La connectivité est-ouest entre les espaces de noms n'est pas SNAT.
L'Espace de noms vSphere est généralement non routable. Toutefois, si vous utilisez la mise en réseau NSX, vous pouvez remplacer le réseau d'Espace de noms vSphere par un sous-réseau routable. Reportez-vous à la section Remplacer les paramètres réseau de charge de travail pour un Espace de noms vSphere.
Pools de ressources d'Espace de noms vSphere
Dans un déploiement de Superviseur à zone vSphere unique, lorsque vous créez un Espace de noms vSphere, un pool de ressources sur lequel repose cet espace de noms est créé. L'Espace de noms vSphere fournit une unité logique de ressources sur Superviseur, notamment le calcul, le stockage, les autorisations, les classes et les images. Lorsque vous configurez une limite de CPU ou de mémoire sur un Espace de noms vSphere, par exemple, les mêmes limites de ressources sont appliquées au pool de ressources sauvegardant cet espace de noms. De cette manière, les Espaces de noms vSphere activent la mutualisation dans Superviseur.
La même expérience de locataires multiples s'applique au Superviseur déployé sur trois zones vSphere. Lorsqu'un Espace de noms vSphere est créé sur un Superviseur segmenté, le système crée un pool de ressources dans chacun des clusters vSphere prenant en charge ce Superviseur. Cela permet à un cluster TKG provisionné dans cet Espace de noms vSphere d'être déployé dans l'une des zones appartenant à ce Superviseur.
À l'aide de vSphere Client, vous pouvez afficher le pool de ressources et les objets d'Espace de noms vSphere en sélectionnant la perspective Hôtes et clusters et en sélectionnant également la vue VM et modèles. Lorsque vous provisionnez un cluster TKG, il est créé dans la cible Espace de noms vSphere. Dans un déploiement de Superviseur segmenté, vous disposerez du même pool de ressources dans chaque cluster vSphere.
Stockage d'Espace de noms vSphere pour les clusters de Service TKG
Le Stockage cloud natif (CNS) de vSphere fournit des stratégies de stockage qui prennent en charge le provisionnement de volumes persistants et de leurs disques virtuels de sauvegarde pour une utilisation avec des charges de travail Kubernetes.
CSI (Container Storage Interface) est une norme du secteur que Kubernetes utilise pour provisionner un stockage persistant pour les conteneurs. Le Superviseur exécute un pilote CNS-CSI qui connecte le stockage CNS vSphere à l'environnement Kubernetes via l'Espace de noms vSphere. Le pilote vSphere CNS-CSI communique directement avec le plan de contrôle du stockage cloud natif (CNS) pour toutes les demandes de provisionnement de stockage provenant des clusters TKG sur l'Espace de noms vSphere.
Les clusters TKG exécutent une version modifiée du pilote vSphere CNS-CSI qui est responsable de toutes les demandes liées au stockage provenant du cluster TKG. Les demandes sont transmises au CNS-CSI sur le Superviseur, qui les propage ensuite au DNS sur le vCenter Server.
Le diagramme montre la relation entre les mécanismes de stockage de l'Espace de noms vSphere, du Superviseur et du cluster TKG.
Volumes de stockage persistants pour les clusters de Service TKG
Des volumes persistants sont requis pour les applications avec état dans Kubernetes. Pour plus d'informations sur les volumes persistants dans Kubernetes, reportez-vous à la documentation de Kubernetes.
Dans l'environnement vSphere, les objets de volume persistant dépendent de disques virtuels résidant sur des banques de données. Les banques de données sont représentées par des stratégies de stockage. Lorsque vous attribuez une stratégie de stockage vSphere à un Espace de noms vSphere, la stratégie de stockage est rendue disponible en tant que classe de stockage Kubernetes pour chaque cluster TKG dans cet espace de noms.
TKG prend en charge le provisionnement dynamique et statique de volumes persistants. Dans le provisionnement dynamique, le volume persistant n'a pas besoin d'être préprovisionné. Émettez une réclamation de volume persistant (PVC) faisant référence à une classe de stockage disponible dans l'Espace de noms vSphere. TKG provisionne automatiquement le volume persistant correspondant avec un disque virtuel de sauvegarde. Reportez-vous à la section Création dynamique de volumes de stockage persistants.
Avec le provisionnement statique, vous utilisez un objet de stockage existant et le rendez disponible pour un cluster. Vous définissez le volume persistant en fournissant les détails de l'objet de stockage existant, ses configurations prises en charge et les options de montage. Reportez-vous à la section Création statique de volumes de stockage persistants.
Le diagramme illustre le workflow de provisionnement dynamique de volume persistant. Vous créez une PVC à l'aide de kubectl
sur le cluster TKG. Cette action génère une PVC correspondante sur Superviseur et déclenche le pilote CNS-CSI qui appelle l'API de création de volume CNS.
Éditions de classe de stockage pour les clusters de Service TKG
Pour configurer un Espace de noms vSphere, vous attribuez une ou plusieurs stratégies de stockage vSphere. Lorsque la stratégie de stockage vSphere est appliquée, elle est convertie en classe de stockage Kubernetes et répliquée sur le Superviseur. De même, le contrôleur TKG réplique la classe de stockage sur chaque cluster TKG déployé dans cet Espace de noms vSphere.
Côté cluster TKG, vous verrez deux éditions de la classe de stockage : une avec le nom défini par l'utilisateur spécifié lors de la création de la stratégie de stockage vSphere et l'autre avec *-latebinding
ajouté au nom.
kubectl get sc NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE wcpglobal-storage-profile csi.vsphere.vmware.com Delete Immediate true 2m43s wcpglobal-storage-profile-latebinding csi.vsphere.vmware.com Delete WaitForFirstConsumer true 2m43s
Création de l'Espace de noms vSphere
Il existe plusieurs façons de créer des Espaces de noms vSphere.
Les administrateurs peuvent créer des Espaces de noms vSphere à l'aide de vSphere Client. Reportez-vous à la section Créer un Espace de noms vSphere pour héberger des clusters Service TKG.
Les utilisateurs de vCenter Single Sign-On disposant de l'autorisation de rôle Propriétaire pour un Espace de noms vSphere peuvent créer des Espaces de noms vSphere en libre-service à l'aide de kubectl
. Reportez-vous à la section Activer la création de l'Espace de noms vSphere à l'aide de Kubectl.
- Les API de gestion des espaces de noms fournissent des ressources basées sur REST pour gérer des Espaces de noms vSphere.
- Les API d'espaces fournissent des ressources basées sur REST pour gérer le contrôle d'accès des sujets sur des Espaces de noms vSphere.
- Le vSphere Automation SDK pour Java fournit plusieurs modules pour automatiser la création et la gestion du cycle de vie des Espaces de noms vSphere.
- De même, le vSphere Automation SDK pour Python fournit plusieurs modules pour automatiser la création et la gestion du cycle de vie des Espaces de noms vSphere.