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 Superviseur > Réseau de charge de travail > Réseau d'espace de noms. 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.

Objets d'espace de noms 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.

Les développeurs peuvent utiliser l'édition de liaison tardive de la classe de stockage pour établir une liaison avec un volume de stockage persistant une fois que le nœud de calcul est sélectionné par le planificateur d'espace TKG. Pour plus d'informations sur la classe de stockage à utiliser et à quel moment, reportez-vous à la section Utilisation des classes de stockage pour les volumes persistants.
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.

VMware expose les API vCenter Server pour la gestion du cycle de vie des Espaces de noms vSphere et fournit des SDK (software development kits), notamment :