configuration et gestion de vsphere with kubernetes

188
Configuration et gestion de vSphere with Kubernetes Modifié le 30 juillet 2020 VMware vSphere 7.0 vCenter Server 7.0 VMware ESXi 7.0

Upload: others

Post on 16-Jun-2022

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Configuration et gestion de vSphere with Kubernetes

Configuration et gestion de vSphere with Kubernetes

Modifié le 30 juillet 2020VMware vSphere 7.0vCenter Server 7.0VMware ESXi 7.0

Page 2: Configuration et gestion de vSphere with Kubernetes

Vous trouverez la documentation technique la plus récente sur le site Web de VMware, à l'adresse :

https://docs.vmware.com/fr/

VMware, Inc.3401 Hillview Ave.Palo Alto, CA 94304www.vmware.com

VMware France SAS.Tour Franklin100-101 Terrasse Boieldieu92042 Paris La Défense 8 CedexFrancewww.vmware.com/fr

Copyright ©

2019, 2020 VMware, Inc. Tous droits réservés. Informations relatives aux copyrights et marques

commerciales.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 2

Page 3: Configuration et gestion de vSphere with Kubernetes

Table des matières

Configuration et gestion de vSphere with Kubernetes 7

1 Informations mises à jour 8

2 Principes de base de vSphere with Kubernetes 13Qu'est-ce que vSphere with Kubernetes ? 13

Qu'est-ce qu'un espace vSphere ? 16

Qu'est-ce qu'un cluster Tanzu Kubernetes ? 18

Quand utiliser les Espace vSphere et les clusters Tanzu Kubernetes 21

Rôles d'utilisateur et workflows de vSphere with Kubernetes 21

Attribution de licences pour vSphere with Kubernetes 28

Comment vSphere with Kubernetes modifie-t-il l'environnement vSphere ? 28

3 Composants et architecture de vSphere with Kubernetes 29Architecture de vSphere with Kubernetes 29

Architecture de Service Tanzu Kubernetes Grid 33

Modèle de locataire du cluster Tanzu Kubernetes 35

Mise en réseau dans vSphere with Kubernetes 37

Stockage dans vSphere with Kubernetes 42

Comment vSphere with Kubernetes s'intègre au stockage vSphere 47

Fonctionnalité prise en charge par vSphere CNS-CSI et le CSI paravirtuel 50

Autorisations de stockage dans vSphere with Kubernetes 51

Authentification pour vSphere with Kubernetes 52

Authentification avec les clusters Tanzu Kubernetes 54

4 Configuration d'un Cluster superviseur 56Configuration système requise et topologies de vSphere with Kubernetes 56

Créer des stratégies de stockage pour vSphere with Kubernetes 63

Configurer la vSphere with Kubernetes pour utiliser NSX-T Data Center 65

Créer un vSphere Distributed Switch 68

Déployer et configurer NSX Manager 69

Ajouter une licence 70

Ajouter un gestionnaire de calcul 71

Créer des zones de transport 72

Créer un profil de liaison montante d'hôte 72

Créer un profil de liaison montante Edge 73

Créer un pool d'adresses IP pour les adresses IP du point de terminaison de tunnel d'hôte74

VMware, Inc. 3

Page 4: Configuration et gestion de vSphere with Kubernetes

Créer un profil de nœud de transport 74

Appliquer le profil de nœud de transport au cluster vSphere 75

Configurer et déployer un nœud de transport NSX Edge 76

Créer un cluster NSX Edge 78

Créer un segment de liaison montante de niveau 0 78

Créer une passerelle de niveau 0 78

Activer vSphere with Kubernetes sur un cluster avec NSX-T Data Center 80

Meilleures pratiques de configuration de vSphere with Kubernetes 83

Modifier les paramètres de stockage sur le Cluster superviseur 83

Modifier le certificat de point de terminaison de l'API Kubernetes 84

5 Utilisation d'espaces de noms sur un Cluster superviseur 85Créer et configurer un Espace de noms de superviseur 85

Configurer des limitations sur des objets Kubernetes sur un espace de noms 87

Définir les réservations et limites de CPU et de mémoire par défaut pour les conteneurs 87

Utilisation du Service de registre pour fournir un registre d'images privé 88

Activer un registre d'images privé via le Service de registre sur un Cluster superviseur 88

Purger les images du registre d'images privé 89

Modifier les paramètres de stockage d'un espace de noms 90

6 Utilisation de Espace vSphere 91S'authentifier sur Cluster superviseur et obtenir les contextes 91

Afficher les classes de stockage dans un Espace de noms de superviseur ou un cluster Tanzu Kubernetes 92

Déployer une application dans un espace de noms 94

Faire monter en charge et baisser en charge une application 94

Transférer des images vers un espace de noms sur le Service de registre 95

Déployer une application à l'aide d'une image à partir de Service de registre 96

Déployer une application avec état 97

Surveiller les volumes persistants 100

7 Exécution de clusters Tanzu Kubernetes dans vSphere with Kubernetes 104Connexion à l'environnement du cluster Tanzu Kubernetes 104

Télécharger et installer les Outils de l'interface de ligne de commande Kubernetes pour vSphere 104

Télécharger et installer des certificats TLS 106

Se connecter à Cluster superviseur en tant qu'utilisateur vCenter Single Sign-On 106

Se connecter à un cluster Tanzu Kubernetes en tant qu'utilisateur vCenter Single Sign-On108

Se connecter au Tanzu Kubernetes plan de contrôle de cluster en tant qu'administrateur Kubernetes 110

Connectez-vous par SSH aux nœuds de cluster Tanzu Kubernetes en tant qu'utilisateur système 111

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 4

Page 5: Configuration et gestion de vSphere with Kubernetes

Se connecter à un nœud de cluster en tant qu'utilisateur système avec un mot de passe113

Accorder aux développeurs l'accès aux clusters Tanzu Kubernetes 114

Création de clusters Tanzu Kubernetes 116

Workflow de création de clusters Tanzu Kubernetes 116

Créer une bibliothèque de contenu avec abonnement pour les clusters Tanzu Kubernetes118

Provisionner un cluster Tanzu Kubernetes 120

Paramètres de configuration pour les clusters Tanzu Kubernetes 122

Types de classes de machines virtuelles pour les clusters Tanzu Kubernetes 127

Exemple de fichiers YAML pour le provisionnement de clusters Tanzu Kubernetes 128

Supprimer un cluster Tanzu Kubernetes 131

Provisionnement d'un cluster Tanzu Kubernetes dans un environnement isolé 131

Déploiement de charges de travail sur des clusters Tanzu Kubernetes 137

Exemple de charge de travail Tanzu Kubernetes 137

Exemple d'équilibrage de charge du service Tanzu Kubernetes 138

Exemple d'entrée Tanzu Kubernetes 140

Exemple de réclamation de volume persistant Tanzu Kubernetes 145

Utilisation des stratégies de sécurité de l'espace avec les clusters Tanzu Kubernetes 147

Didacticiel de l'application Kubernetes Guestbook : lier à la stratégie de sécurité par défaut de l'espace privilégié 149

Exemples de liaisons pour la stratégie de sécurité de l'espace par défaut 150

Exemple de rôle pour la stratégie de sécurité de l'espace personnalisée 152

Fonctionnement des clusters Tanzu Kubernetes 153

Surveiller l'état du cluster Tanzu Kubernetes à l'aide de vSphere Client 153

Surveiller l'état du cluster Tanzu Kubernetes à l'aide de kubectl 154

Afficher la hiérarchie complète des ressources d'un cluster Tanzu Kubernetes 155

Migrer des clusters Tanzu Kubernetes vers une nouvelle bibliothèque de contenu 156

Dimensionner un cluster Tanzu Kubernetes 157

État du cycle de vie du cluster Tanzu Kubernetes 159

Commandes opérationnelles du cluster Tanzu Kubernetes 160

Commandes de mise en réseau du cluster Tanzu Kubernetes 162

Secrets du cluster Tanzu Kubernetes 163

8 Mise à jour de clusters vSphere with Kubernetes 165À propos des mises à jour du cluster vSphere with Kubernetes 165

Mettre à jour les espaces de noms vSphere 168

Mettre à jour le Plug-in vSphere pour kubectl 169

Mettre à jour les clusters Tanzu Kubernetes 169

9 Dépannage de vSphere with Kubernetes 174Dépannage du stockage dans vSphere with Kubernetes 174

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 5

Page 6: Configuration et gestion de vSphere with Kubernetes

Utiliser des règles d'anti-affinité pour les machines virtuelles du plan de contrôle sur des banques de données non-vSAN 174

La stratégie de stockage supprimée de vSphere continue à apparaître en tant que classe de stockage Kubernetes 176

Résolution des problèmes de mise en réseau 176

Enregistrez vCenter Server avec NSX Manager 177

Impossible de modifier le mot de passe du dispositif NSX 177

Dépannage des workflows ayant échoué et des dispositifs NSX Edge instables 178

Collecter des bundles de support pour le dépannage 178

Collecter les fichiers journaux 179

Redémarrer le service WCP si le certificat ou l'adresse IP de gestion NSX-T est modifié(e)180

VDS requis pour le trafic du nœud de transport hôte 180

Dépannage des clusters Tanzu Kubernetes 181

Limitations connues des clusters Tanzu Kubernetes 181

Collecter un bundle de support pour les clusters Tanzu Kubernetes 182

Dépanner les erreurs de connexion vCenter Single Sign-On 182

Dépanner des erreurs de la bibliothèque de contenu abonnée 183

Dépannage des erreurs de provisionnement de cluster 183

Dépannage des erreurs de déploiement de la charge de travail 184

Redémarrer un travail de mise à jour de cluster Kubernetes Tanzu ayant échoué 184

Dépannage des problèmes d'activation de la gestion de la charge de travail 185

Dépannage des erreurs de compatibilité du cluster d'activation de la gestion de la charge de travail 186

Examiner le fichier journal de gestion de la charge de travail 187

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 6

Page 7: Configuration et gestion de vSphere with Kubernetes

Configuration et gestion de vSphere with Kubernetes

Configuration et gestion de vSphere with Kubernetes fournit des informations sur la configuration et la gestion de vSphere with Kubernetes à l'aide de vSphere Client. Il fournit également des informations sur l'utilisation de kubectl pour se connecter aux espaces de noms s'exécutant sur vSphere with Kubernetes et exécuter des charges de travail Kubernetes sur des espaces de noms désignés.

Configuration et gestion de vSphere with Kubernetes fournit une présentation de l'architecture de plate-forme, ainsi que des éléments à prendre en compte et des meilleures pratiques pour la configuration du stockage, du calcul et de la mise en réseau qui répondent aux conditions requises spécifiques à vSphere with Kubernetes. Il fournit des instructions sur l'activation de vSphere with Kubernetes sur des clusters vSphere existants, la création et la gestion d'espaces de noms, ainsi que la surveillance des clusters Kubernetes créés à l'aide du Service VMware Tanzu™ Kubernetes Grid™.

Ces informations fournissent également des instructions sur l'établissement d'une session avec le plan de contrôle Kubernetes de vSphere with Kubernetes via kubectl, l'exécution d'un exemple d'application et la création de clusters Kubernetes à l'aide du Service VMware Tanzu™ Kubernetes Grid™.

Public cible

Configuration et gestion de vSphere with Kubernetes est destiné aux administrateurs vSphere qui souhaitent activer vSphere with Kubernetes dans vSphere, configurer des espaces de noms et les fournir à des équipes DevOps, ainsi que gérer et surveiller les charges de travail Kubernetes dans vSphere. Les administrateurs vSphere qui souhaitent utiliser vSphere with Kubernetes doivent avoir des connaissances de base sur les conteneurs et les technologies Kubernetes.

Ces informations sont également destinées aux ingénieurs DevOps qui souhaitent établir une session avec le plan de contrôle de la vSphere with Kubernetes, exécuter des charges de travail Kubernetes et déployer des clusters Kubernetes à l'aide du Service VMware Tanzu™ Kubernetes Grid™.

VMware, Inc. 7

Page 8: Configuration et gestion de vSphere with Kubernetes

Informations mises à jour 1Configuration et gestion de vSphere with Kubernetes est régulièrement mise à jour avec de nouvelles informations et des corrections si nécessaire.

Révision Description

30 juillet 2020 n Ajout de contenu sur la modification du certificat de point de terminaison de l'API Kubernetes. Reportez-vous à la section Modifier le certificat de point de terminaison de l'API Kubernetes.

n Ajout de contenu prenant en charge la réduction de charge du cluster Tanzu Kubernetes. Reportez-vous à la section Dimensionner un cluster Tanzu Kubernetes.

n Ajout d'une rubrique pour l'enregistrement de vCenter Server avec NSX Manager si le nom de domaine complet/PNID de vCenter Server change. Reportez-vous à la section Enregistrez vCenter Server avec NSX Manager.

17 juillet 2020 n Mise à jour d'un exemple de commande kubectl pour indiquer que vous devez spécifier le nom de l'espace de noms. Workflow de création de clusters Tanzu Kubernetes.

10 juillet 2020 n Ajout d'une rubrique de dépannage pour le redémarrage d'une tâche de mise à jour ayant échoué pour des clusters Tanzu Kubernetes. Reportez-vous à la section Redémarrer un travail de mise à jour de cluster Kubernetes Tanzu ayant échoué.

n Mise à jour d'un graphique d'architecture vSphere with Kubernetes pour corriger un nom d'étiquette de composants. Reportez-vous à la section Architecture de vSphere with Kubernetes.

n Mise à jour de l'URL de la bibliothèque OVA du cluster Tanzu Kubernetes pour inclure une barre oblique de fin. Reportez-vous à la section Télécharger les fichiers image.

n Mise à jour de la rubrique de dépannage VDS pour utiliser le terme correct pour le VDS vSphere 7. Reportez-vous à la section VDS requis pour le trafic du nœud de transport hôte.

8 juillet 2020 n Mise à jour des exigences de NSX Manager, de CIDR d'entrée et de sortie dans la rubrique des exigences système, et ajout d'une note précisant que si le TEP hôte et le TEP Edge utilisent des cartes réseau différentes, ils peuvent utiliser le même VLAN. Reportez-vous à la section Configuration système requise et topologies de vSphere with Kubernetes.

VMware, Inc. 8

Page 9: Configuration et gestion de vSphere with Kubernetes

Révision Description

2 juillet 2020 n Ajout d'une note supplémentaire pour réitérer la nécessité de désactiver le champ de la version fullVersion lors d'une mise à jour de la version Kubernetes. Reportez-vous à la section Mettre à jour les clusters Tanzu Kubernetes.

n Ajout d'un exemple supplémentaire pour la création d'un ClusterRoleBinding pour exécuter un ensemble de charges de travail privilégiées pour les utilisateurs authentifiés à l'aide du PodSecurityPolicy par défaut. Reportez-vous à la section Exemples de liaisons pour la stratégie de sécurité de l'espace par défaut.

n Mise à jour du texte prenant en charge l'exemple de création de clusters YAML pour indiquer que la stratégie de sécurité de l'espace est appliquée et les liaisons sont donc nécessaires pour créer des objets de déploiement et de ReplicaSet. Reportez-vous à la section Exemple de fichiers YAML pour le provisionnement de clusters Tanzu Kubernetes.

n Mise à jour de la rubrique SSH vers le nœud de cluster pour indiquer que sudo peut être nécessaire pour effectuer certaines opérations une fois connecté. Reportez-vous à la section Connectez-vous par SSH aux nœuds de cluster Tanzu Kubernetes en tant qu'utilisateur système.

n Mise à jour de la rubrique sur la création d'une bibliothèque de contenu pour indiquer que vous devez choisir de synchroniser le contenu à la demande maintenant que plusieurs fichiers OVA sont disponibles. Créer une bibliothèque de contenu avec abonnement pour les clusters Tanzu Kubernetes.

23 juin 2020 n Réorganisation des rubriques conceptuelles et architecturales pour une structure améliorée.

n Mise à jour de la liste des paramètres de configuration pour la création d'un cluster Tanzu Kubernetes avec les exigences de dénomination et les restrictions du cluster. Reportez-vous à la section Paramètres de configuration pour les clusters Tanzu Kubernetes.

n Suppression de la référence à un article de la base de connaissances pour l'utilisation du registre intégré avec des clusters Tanzu Kubernetes.

n Ajout d'une rubrique précisant que vSphere with Kubernetes nécessite un VDS convergent (C-VDS) pour le trafic réseau vSphere et NSX-T. Reportez-vous à la section VDS requis pour le trafic du nœud de transport hôte.

n Ajout d'une rubrique répertoriant les fonctionnalités de stockage vSphere et Kubernetes prises en charge par le Cluster superviseur et le cluster Tanzu Kubernetes. Reportez-vous à la section Fonctionnalité prise en charge par vSphere CNS-CSI et le CSI paravirtuel.

n Mise à jour de la rubrique relative à la création de passerelles de niveau 0 afin d'inclure la prise en charge de plusieurs passerelles de niveau 0 sur plusieurs clusters NSX Edge dans la même zone de transport. Reportez-vous à la section Créer une passerelle de niveau 0.

n Ajout d'une rubrique relative à la collecte de fichiers journaux. Reportez-vous à la section Collecter les fichiers journaux.

16 juin 2020 n Ajout d'une rubrique de dépannage relative à l'utilisation du VDS convergé requis pour le trafic vSphere et NSX-T. Reportez-vous à la section VDS requis pour le trafic du nœud de transport hôte.

n Mise à jour de l'exemple de fichier ingress-test.yaml pour la création d'un exemple de contrôleur d'entrée Contour. Reportez-vous à la section Exemple d'entrée Tanzu Kubernetes.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 9

Page 10: Configuration et gestion de vSphere with Kubernetes

Révision Description

5 juin 2020 n Mise à jour de la rubrique À propos des mises à jour du cluster vSphere with Kubernetes pour indiquer que les espaces non régis par un contrôleur de réplication sont supprimés lors de la mise à jour d'un cluster Tanzu Kubernetes.

n Mise à jour de la rubrique relative à la connexion à un cluster Tanzu Kubernetes en tant qu'administrateur Kubernetes afin de fournir des exemples de commandes de connexion. Reportez-vous à la section Se connecter au Tanzu Kubernetes plan de contrôle de cluster en tant qu'administrateur Kubernetes.

n Mise à jour de la description de l'exemple de configuration YAML minimale pour la création d'un cluster Tanzu Kubernetes en cas d'utilisation de Helm. Reportez-vous à la section Exemple de fichiers YAML pour le provisionnement de clusters Tanzu Kubernetes.

n Mise à jour de la rubrique relative à la création d'un contrôleur d'entrée avec un lien différent pour la vérification du contrôleur d'entrée Nginx pour Kubernetes. Reportez-vous à la section Exemple d'entrée Tanzu Kubernetes.

n Mise à jour du diagramme de mise en réseau pour les clusters Tanzu Kubernetes. Reportez-vous à la section Mise en réseau dans vSphere with Kubernetes.

n Mise à jour du chemin de navigation pour la configuration d'une bibliothèque de contenu lors de l'utilisation de vSphere Client. Reportez-vous à la section Créer une bibliothèque de contenu avec abonnement pour les clusters Tanzu Kubernetes.

22 mai 2020 n Ajout d'un lien pour plus d'informations sur les autres offres Kubernetes sous la marque VMware Tanzu dans la rubrique Qu'est-ce qu'un cluster Tanzu Kubernetes ?.

n Ajout d'un lien vers l'outil Valeurs maximales de configuration VMware pour le Cluster superviseur et les clusters Tanzu Kubernetes dans la rubrique Configuration système requise et topologies de vSphere with Kubernetes.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 10

Page 11: Configuration et gestion de vSphere with Kubernetes

Révision Description

19 mai 2020 n Ajout d'une nouvelle documentation pour la mise à jour des clusters vSphere with Kubernetes, notamment du Cluster superviseur et des clusters Tanzu Kubernetes. Reportez-vous à la section Chapitre 8 Mise à jour de clusters vSphere with Kubernetes.

n Suppression de certaines limitations connues pour les clusters Tanzu Kubernetes afin de refléter l'ajout de nouvelles fonctionnalités. Reportez-vous à la section Limitations connues des clusters Tanzu Kubernetes.

n Ajout d'une section consolidée concernant le dépannage de vSphere with Kubernetes. Reportez-vous à la section Chapitre 9 Dépannage de vSphere with Kubernetes.

n Mise à jour de la rubrique concernant la connexion aux nœuds de cluster à l'aide de SSH. Reportez-vous à la section Connectez-vous par SSH aux nœuds de cluster Tanzu Kubernetes en tant qu'utilisateur système.

n Ajout de rubriques concernant le dépannage des erreurs d'activation de la gestion de la charge de travail. Reportez-vous à la section Dépannage des problèmes d'activation de la gestion de la charge de travail.

n Ajout d'une rubrique sur le téléchargement de certificats TLS pour une utilisation avec Outils de l'interface de ligne de commande Kubernetes pour vSphere . Reportez-vous à la section Télécharger et installer des certificats TLS.

n Ajout d'une rubrique concernant le redémarrage du service WCP si le certificat ou l'adresse IP de gestion de NSX-T est modifié. Reportez-vous à la section Redémarrer le service WCP si le certificat ou l'adresse IP de gestion NSX-T est modifié(e).

n Restructuration des rubriques de la section Service Tanzu Kubernetes Grid pour SEO. Reportez-vous à la section Chapitre 7 Exécution de clusters Tanzu Kubernetes dans vSphere with Kubernetes.

n Ajout d'un lien vers la matrice de prise en charge pour les clusters Tanzu Kubernetes Grid. Reportez-vous à la section Qu'est-ce qu'un cluster Tanzu Kubernetes ?.

n Ajout d'un lien vers la démonstration vidéo pour le provisionnement du cluster Tanzu Kubernetes. Reportez-vous à la section Architecture de Service Tanzu Kubernetes Grid.

n Mises à jour diverses afin de corriger des erreurs mineures.

11 mai 2020 n Suppression de l'exigence d'attribution de licences du Cluster superviseur pour vSAN.

24 avr 2020 n Mise à jour des extraits de fichier YAML pour informer les utilisateurs de l'emplacement auquel ils doivent ajouter une stratégie de sécurité de l'espace et mise à jour du lien vers le fichier YAML dans Exemple d'entrée Tanzu Kubernetes.

n Mise à jour de Afficher les classes de stockage dans un Espace de noms de superviseur ou un cluster Tanzu Kubernetes pour inclure la commande de vérification des quotas de stockage.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 11

Page 12: Configuration et gestion de vSphere with Kubernetes

Révision Description

17 avr 2020 n Mise à jour de la rubrique Exemple d'équilibrage de charge du service Tanzu Kubernetes pour améliorer l'exemple de fichier YAML afin d'être conforme à Kubernetes 1.16.

n Mise à jour de la rubrique Connectez-vous par SSH aux nœuds de cluster Tanzu Kubernetes en tant qu'utilisateur système avec un fichier YAML amélioré pour la création d'un conteneur JumpBox et amélioration des instructions.

10 avr 2020 n Ajout de la rubrique Autorisations de stockage dans vSphere with Kubernetes.

n Mise à jour de l'exemple minimal de fichier YAML afin d'utiliser la classe de stockage meilleur effort dans la rubrique Exemple de fichiers YAML pour le provisionnement de clusters Tanzu Kubernetes.

n Mise à jour de la description de la rubrique concernant l'exemple de fichier YAML pour indiquer explicitement les propriétés de mise en réseau par défaut qui sont utilisées pour un cluster dans la rubrique Exemple de fichiers YAML pour le provisionnement de clusters Tanzu Kubernetes.

n Déplacement de la rubrique Paramètres de configuration pour les clusters Tanzu Kubernetes avant la rubrique concernant l'exemple de fichier YAML afin que la liste complète des options de configuration apparaisse en premier si vous utilisez le fichier PDF.

n Ajout de la section Provisionnement d'un cluster Tanzu Kubernetes dans un environnement isolé.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 12

Page 13: Configuration et gestion de vSphere with Kubernetes

Principes de base de vSphere with Kubernetes 2À l'aide de vSphere with Kubernetes vous pouvez activer un cluster vSphere sur une plate-forme pour exécuter des charges de travail Kubernetes dans des pools de ressources dédiés. Une fois activé sur un cluster vSphere, vSphere with Kubernetes crée un plan de contrôle Kubernetes directement à l'intérieur de la couche d'hyperviseur. Vous pouvez ensuite exécuter des conteneurs Kubernetes en déployant des Espace vSphere ou vous pouvez créer des clusters Kubernetes en amont via Service VMware Tanzu™ Kubernetes Grid™ et exécuter vos applications dans ces clusters.

Ce chapitre contient les rubriques suivantes :

n Qu'est-ce que vSphere with Kubernetes ?

n Qu'est-ce qu'un espace vSphere ?

n Qu'est-ce qu'un cluster Tanzu Kubernetes ?

n Quand utiliser les Espace vSphere et les clusters Tanzu Kubernetes

n Rôles d'utilisateur et workflows de vSphere with Kubernetes

n Attribution de licences pour vSphere with Kubernetes

n Comment vSphere with Kubernetes modifie-t-il l'environnement vSphere ?

Qu'est-ce que vSphere with Kubernetes ?Vous pouvez utiliser vSphere with Kubernetes pour transformer vSphere en une plate-forme pour exécuter des charges de travail Kubernetes en mode natif sur la couche d'hyperviseur. Lorsqu'il est activé sur un cluster vSphere, vSphere with Kubernetes offre la possibilité d'exécuter des charges de travail Kubernetes directement sur des hôtes ESXi et de créer des clusters Kubernetes en amont dans des pools de ressources dédiés.

VMware, Inc. 13

Page 14: Configuration et gestion de vSphere with Kubernetes

Défis actuels des piles d'applications

Les systèmes distribués actuels sont constitués de plusieurs microservices exécutant généralement un grand nombre d'espaces Kubernetes et de machines virtuelles. En général, une pile qui n'est pas basée sur une vSphere with Kubernetes se compose d'un environnement virtuel sous-jacent, avec l'infrastructure Kubernetes déployée à l'intérieur des machines virtuelles et respectivement des espaces Kubernetes également exécutés dans ces machines virtuelles. Trois rôles distincts gèrent chaque partie de la pile, à savoir les développeurs d'applications, les administrateurs de clusters Kubernetes et les administrateurs vSphere.

Figure 2-1. Pile d'applications actuelle

. . .

. . .

. . .

Travailleurs Maître ETCD

Cluster Kubernetes

Volumes Services

Charge de travail Kubernetes

Réseaux StockageMachines

Espaces

Environnement virtuel

Développeur

Administrateur

Administrateur

de cluster

vSphere

virtuelles

Les différents rôles n'ont pas de visibilité ni de contrôle sur leurs environnements mutuels :

n En tant que développeur d'applications, vous pouvez uniquement exécuter des espaces Kubernetes. Vous n'avez pas de visibilité sur l'ensemble de la pile qui exécute des centaines d'applications.

n En tant qu'administrateur de cluster Kubernetes, vous disposez uniquement d'un contrôle sur l'infrastructure Kubernetes, sans les outils permettant de gérer ou de surveiller l'environnement virtuel et de résoudre les problèmes liés aux ressources et autres problèmes.

n En tant qu'administrateur vSphere, vous disposez d'un contrôle total sur l'environnement virtuel sous-jacent, mais vous n'avez pas de visibilité sur l'infrastructure Kubernetes, sur le placement des différents objets Kubernetes dans l'environnement virtuel et sur la manière dont ils consomment les ressources.

Les opérations sur la pile complète peuvent être délicates, car elles nécessitent une communication entre les trois rôles. Le manque d'intégration entre les différentes couches de la pile peut également présenter quelques défis. Par exemple, le programmateur Kubernetes ne dispose pas d'une visibilité sur l'inventaire de vCenter Server et il ne peut pas placer les espaces intelligemment.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 14

Page 15: Configuration et gestion de vSphere with Kubernetes

Quelle aide est apportée par vSphere with Kubernetes ?vSphere with Kubernetes crée un plan de contrôle Kubernetes directement sur la couche de l'hyperviseur. En tant qu'administrateur vSphere, vous activez des clusters vSphere existants pour vSphere with Kubernetes, créant ainsi une couche Kubernetes dans les hôtes ESXi faisant partie du cluster. Un cluster pour lequel vSphere with Kubernetes est activé est appelé un Cluster superviseur.

Figure 2-2. vSphere with Kubernetes

Stockage

Mise en réseau StockageESXiAdministrateur

Développeur

Environnement virtuel

Couche Kubernetes

Mémoire StockageCPU

Espace de noms

vSphere with Kubernetes

EspacesvSphere

Machines ClusterTanzu

Kubernetes

Charges de travail Kubernetes Charges de travail Kubernetes

EspacesvSphere

ClusterTanzu

KubernetesvirtuellesMachinesvirtuelles

vSphere

La présence d'un plan de contrôle Kubernetes sur la couche d'hyperviseur active les capacités suivantes dans vSphere :

n En tant qu'administrateur vSphere, vous pouvez créer des espaces de noms sur le Cluster superviseur (appelés Espace de noms de superviseur) et les configurer avec une mémoire, un CPU et un stockage dédiés. Vous fournissez ces Espace de noms de superviseur aux ingénieurs DevOps.

n En tant qu'ingénieur DevOps, vous pouvez exécuter des charges de travail composées de conteneurs Kubernetes sur la même plate-forme avec des pools de ressources partagés au sein d'un Espace de noms de superviseur. Dans vSphere with Kubernetes, les conteneurs s'exécutent à l'intérieur d'un type spécial de machine virtuelle appelé Espace vSphere.

n En tant qu'ingénieur DevOps, vous pouvez créer et gérer plusieurs clusters Kubernetes dans un espace de noms et gérer leur cycle de vie à l'aide du Service Tanzu Kubernetes Grid. Les clusters Kubernetes créés à l'aide de Service Tanzu Kubernetes Grid sont appelés des clusters Tanzu Kubernetes.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 15

Page 16: Configuration et gestion de vSphere with Kubernetes

n En tant qu'administrateur vSphere, vous pouvez gérer et surveiller des Espace vSphere et des clusters Tanzu Kubernetes à l'aide des mêmes outils que les machines virtuelles classiques.

n En tant qu'administrateur vSphere, vous avez une visibilité totale sur les instances de Espace vSphere et de Tanzu Kubernetes en amont s'exécutant dans différents espaces de noms, leur positionnement dans l'environnement et la manière dont ils consomment les ressources.

L'exécution de Kubernetes sur la couche hyperviseur facilite également la collaboration entre les administrateurs vSphere et les équipes DevOps, car les deux rôles utilisent les mêmes objets.

Qu'entend-on par charge de travail ?Dans vSphere with Kubernetes, les charges de travail sont des applications déployées de l'une des manières suivantes :

n Applications constituées de conteneurs exécutés à l'intérieur de Espace vSphere, de machines virtuelles classiques ou des deux.

n Clusters Tanzu Kubernetes déployés à l'aide de Service VMware Tanzu™ Kubernetes Grid™.

n Applications qui s'exécutent à l'intérieur de clusters Tanzu Kubernetes déployés à l'aide de Service VMware Tanzu™ Kubernetes Grid™.

Qu'est-ce qu'un espace vSphere ?vSphere with Kubernetes introduit une nouvelle construction nommée Espace vSphere, qui est l'équivalent d'un espace Kubernetes. Une Espace vSphere est une machine virtuelle à faible encombrement qui exécute un ou plusieurs conteneurs Linux. Chaque Espace vSphere est dimensionnée précisément pour la charge de travail qu'elle gère et dispose de réservations de ressources explicites pour cette charge de travail. Elle alloue la quantité exacte de ressources de stockage, de mémoire et de CPU nécessaires à l'exécution de la charge de travail.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 16

Page 17: Configuration et gestion de vSphere with Kubernetes

Figure 2-3. Espaces vSphere

StockageMémoireCPU

Espace vSphere

Noyau Linux

Conteneur

Conteneur

StockageMémoireCPU

Espace vSphere

Noyau Linux

Conteneur

Hôte ESXi

Les Espace vSphere sont des objets dans vCenter Server et, par conséquent, activent les capacités suivantes pour les charges de travail :

n Isolation forte. Chaque Espace vSphere dispose d'un noyau Linux, qui assure l'isolation des autres charges de travail et objets dans l'instance de vCenter Server. Le noyau Linux est basé sur le Photon OS.

n Gestion des ressources. vSphere DRS gère le placement des Espace vSphere sur le Cluster superviseur.

n Haute performance. Les Espace vSphere ont le même niveau d'isolation de ressources que les machines virtuelles, éliminant les problèmes de voisins bruyants tout en maintenant le temps de démarrage rapide et une surcharge faible des conteneurs.

n Diagnostics. En tant qu'administrateur vSphere, vous pouvez utiliser tous les outils de surveillance et d'introspection disponibles avec vSphere sur les charges de travail.

Les Espace vSphere sont compatibles avec l'initiative OCI (Open Container initiative) et peuvent exécuter des conteneurs à partir de n'importe quel système d'exploitation, à condition que ces conteneurs soient également compatibles avec OCI.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 17

Page 18: Configuration et gestion de vSphere with Kubernetes

Figure 2-4. Mise en réseau et stockage des espaces vSphere

Volume persistant

Espace vSphere

Moteur de conteneur

Conteneur

ConteneurImage de conteneur

Disque éphémère

vNIC

vSwitch NSX

Spherelet

hostd

Moteur d'espace

Les Espace vSphere utilisent trois types de stockage en fonction des objets qui sont stockés : des VMDK éphémères, des VMDK à volumes persistants et des VMDK d'image de conteneur. En tant qu'administrateur vSphere, vous configurez des stratégies de stockage pour le placement du cache d'image de conteneur, des disques de machine virtuelle éphémères et de machines virtuelles de plan de contrôle Kubernetes au niveau du Cluster superviseur. Au niveau de l'Espace de noms de superviseur, vous configurez des stratégies de stockage pour le placement de volumes persistants et pour le placement des machines virtuelles des clusters Tanzu Kubernetes. Pour plus d'informations sur les exigences et les concepts de stockage avec vSphere with Kubernetes, consultez Stockage dans vSphere with Kubernetes.

3

Pour la mise en réseau, les Espace vSphere et les machines virtuelles des clusters Tanzu Kubernetes créés au moyen du Service Tanzu Kubernetes Grid utilisent la topologie fournie par NSX-T Data Center. Pour plus de détails, consultez Mise en réseau dans vSphere with Kubernetes.

Qu'est-ce qu'un cluster Tanzu Kubernetes ?Un cluster Tanzu Kubernetes est une distribution complète de la plateforme d'orchestration de conteneur Kubernetes Open Source qui est développée, signée et prise en charge par VMware. Vous pouvez provisionner et utiliser des clusters Tanzu Kubernetes sur le Cluster superviseur à l'aide de Service Tanzu Kubernetes Grid. Un Cluster superviseur est un cluster vSphere pour lequel vSphere with Kubernetes est activé.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 18

Page 19: Configuration et gestion de vSphere with Kubernetes

Caractéristiques clés des clusters Tanzu Kubernetes créés par Service Tanzu Kubernetes Grid

Un cluster Tanzu Kubernetes provisionné par Service Tanzu Kubernetes Grid présente les caractéristiques suivantes :

n Installation dogmatique de Kubernetes

n Intégration à l'infrastructure vSphere

n Prêt pour la production

n Entièrement pris en charge par VMware

n Géré par Kubernetes

Un cluster Tanzu Kubernetes provisionné par Tanzu Kubernetes Grid Service est…

Entièrement Géré parKubernetes

Parfaitementintégré

Prêt pour laproduction

Dogmatiquepris en charge

Note VMware commercialise une suite de produits destinés à Kubernetes sous la marque Tanzu. Les clusters Tanzu Kubernetes que vous créez à l'aide de Service Tanzu Kubernetes Grid sont des composants du module complémentaire vSphere with Kubernetes pour vSphere. Pour plus d'informations sur les autres produits destinés à Kubernetes que VMware commercialise sous la marque Tanzu, reportez-vous à la documentation VMware Tanzu.

Installation dogmatique de Kubernetes

Tanzu Kubernetes est une installation dogmatique de Kubernetes.

Le Service Tanzu Kubernetes Grid fournit des valeurs par défaut bien pensées qui sont optimisées pour permettre à vSphere de provisionner des clusters Tanzu Kubernetes. En utilisant Service Tanzu Kubernetes Grid, vous pouvez réduire le temps et les efforts que vous consacrez normalement au déploiement et à l'exécution d'un cluster Kubernetes de qualité professionnelle.

Pour plus d'informations, consultez Architecture de Service Tanzu Kubernetes Grid.

Intégration à l'infrastructure vSphere

Un cluster Tanzu Kubernetes est intégré à l'infrastructure vSphere sous-jacente, qui est optimisée pour l'exécution de Kubernetes.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 19

Page 20: Configuration et gestion de vSphere with Kubernetes

Un cluster Tanzu Kubernetes s'intègre parfaitement à la pile du SDDC vSphere, y compris pour le stockage, la mise en réseau et l'authentification. En outre, un cluster Tanzu Kubernetes est créé sur un Cluster superviseur mappé à un cluster vCenter Server. En raison de l'intégration étroite, l'exécution d'un cluster Tanzu Kubernetes est une expérience de produit unifiée.

Pour plus d'informations, consultez Architecture de vSphere with Kubernetes.

Prêt pour la production

Un cluster Tanzu Kubernetes est réglé pour exécuter des charges de travail de production.

Le Service Tanzu Kubernetes Grid provisionne des clusters Tanzu Kubernetes prêts pour la production. Vous pouvez exécuter des charges de travail de production sans avoir à mettre en œuvre une configuration supplémentaire. En outre, vous pouvez garantir la disponibilité et autoriser la restauration de mises à niveau logicielles Kubernetes, mais aussi exécuter différentes versions de Kubernetes sur des clusters distincts.

Pour plus d'informations, consultez Chapitre 7 Exécution de clusters Tanzu Kubernetes dans vSphere with Kubernetes.

Entièrement pris en charge par VMware

Un cluster Tanzu Kubernetes est pris en charge par VMware.

Les clusters Tanzu Kubernetes utilisent le Photon OS Open Source de VMware, sont déployés sur l'infrastructure vSphere et s'exécutent sur des hôtes ESXi. Si vous rencontrez des problèmes avec une couche de la pile, de l'hyperviseur au cluster Kubernetes, VMware est l'unique fournisseur que vous devez contacter.

Pour plus d'informations, reportez-vous à la matrice de prise en charge de Tanzu Kubernetes Grid .

Géré par Kubernetes

Un cluster Tanzu Kubernetes est géré par Kubernetes.

Les clusters Tanzu Kubernetes s'appuient sur Cluster superviseur, qui est lui-même un cluster Kubernetes. Un cluster Tanzu Kubernetes est défini dans l'Espace de noms de superviseur à l'aide d'une ressource personnalisée. Provisionnez des clusters Tanzu Kubernetes en libre-service à l'aide de commandes kubectl familières. Il existe une cohérence au niveau de la chaîne d'outils, que vous provisionnez un cluster ou que vous déployiez des charges de travail, vous utilisez les mêmes commandes, les YAML habituels et les workflows courants.

Pour plus d'informations, consultez Modèle de locataire du cluster Tanzu Kubernetes.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 20

Page 21: Configuration et gestion de vSphere with Kubernetes

Quand utiliser les Espace vSphere et les clusters Tanzu Kubernetes

L'utilisation des Espace vSphere ou des clusters Tanzu Kubernetes provisionnés par le Service Tanzu Kubernetes Grid dépend de vos objectifs liés au déploiement et à la gestion des charges de travail Kubernetes sur le Cluster superviseur.

Utilisez les Espace vSphere si vous êtes un administrateur vSphere ou un ingénieur DevOps et que vous souhaitez :

n Exécutez des conteneurs sans avoir à personnaliser un cluster Kubernetes.

n Créer des applications en conteneur avec une forte isolation des ressources et de la sécurité.

n Déployer des Espace vSphere directement sur des hôtes ESXi.

Utilisez les clusters Tanzu Kubernetes provisionnés par le Service Tanzu Kubernetes Grid si vous êtes un ingénieur DevOps ou un développeur et que vous souhaitez :

n Exécuter des applications en conteneur sur des logiciels Kubernetes alignés sur une communauté Open Source.

n Contrôler le cluster Kubernetes, y compris l'accès au niveau racine au plan de contrôle et aux nœuds worker.

n Rester à jour avec les versions de Kubernetes sans nécessiter de mise à niveau de l'infrastructure.

n Utiliser un pipeline de CI/CD pour provisionner des clusters Kubernetes de courte durée.

n Personnaliser le cluster Kubernetes (par exemple, installer des définitions de ressources personnalisées, des opérateurs et des diagrammes).

n Créer des espaces de noms Kubernetes à l'aide de l'interface de ligne de commande kubectl.

n Gérer le contrôle d'accès au niveau du cluster et configurer PodSecurityPolicies.

n Créer des services de type NodePort..

n Utiliser des volumes HostPath .

n Exécuter des espaces privilégiés.

Rôles d'utilisateur et workflows de vSphere with Kubernetes

La plate-forme vSphere with Kubernetes comprend deux rôles, l'administrateur vSphere et l'ingénieur DevOps. Les deux rôles interagissent avec la plate-forme via différentes interfaces et peuvent avoir des utilisateurs ou des groupes d'utilisateurs définis pour eux dans vCenter Single Sign-On avec les autorisations associées. Les workflows des rôles d'administrateur vSphere et d'ingénieur DevOps sont distincts et déterminés par le domaine d'expertise spécifique dont ces rôles ont besoin.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 21

Page 22: Configuration et gestion de vSphere with Kubernetes

Rôles d'utilisateur et workflows

En tant qu'administrateur vSphere, l'interface principale grâce à laquelle vous interagissez avec la plate-forme vSphere with Kubernetes est vSphere Client. À haut niveau, vos responsabilités impliquent la configuration d'un Cluster superviseur et d'espaces de noms, dans lesquels les ingénieurs DevOps peuvent déployer des charges de travail Kubernetes. Vous devez avoir des connaissances renforcées à propos de vSphere et des technologies de NSX-T, ainsi que des notions de base concernant Kubernetes.

Figure 2-5. Workflow de haut niveau de l'administrateur vSphere

Workflows d'un administrateur vSphere

Configurer le calcul, le stockage et la mise en réseau pour une utilisation avec leCluster superviseur

Configurer un cluster vSphere en tant que cluster superviseur

Créer et configurer des espaces de noms sur le cluster superviseur

En tant qu'ingénieur DevOps, vous pouvez être un développeur Kubernetes et un propriétaire d'application, un administrateur Kubernetes ou combiner des fonctions des deux catégories. En tant qu'ingénieur DevOps, vous utilisez des commandes kubectl pour déployer des instances d'Espace vSphere et des clusters Tanzu Kubernetes sur des espaces de noms existants sur le Cluster superviseur. En tant qu'ingénieur DevOps, vous n'avez généralement pas besoin d'être un expert sur vSphere et NSX-T, mais vous devez disposer d'une compréhension de base concernant ces technologies et la plate-forme vSphere with Kubernetes afin d'interagir plus efficacement avec les administrateurs vSphere.

Figure 2-6. Workflow de haut niveau de l'ingénieur DevOps

Workflows de l'ingénieur DevOps

Connectez-vous au cluster superviseur via le plug-in d'interface de

Obtenez les contextes auxquels vous avez accès. Les contextes correspondentaux espaces de noms sur le cluster superviseur

Déployer des espaces natifs vSphere ou des clusters Tanzu Kubernetes

ligne de commande kubectl-vsphere.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 22

Page 23: Configuration et gestion de vSphere with Kubernetes

Workflow de configuration du Cluster superviseur

En tant qu'administrateur vSphere, vous configurez la plate-forme vSphere with Kubernetes avec les composants de calcul, de stockage et de mise en réseau nécessaires. Pour plus d'informations, consultez Chapitre 4 Configuration d'un Cluster superviseur.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 23

Page 24: Configuration et gestion de vSphere with Kubernetes

Figure 2-7. Workflow de configuration du Cluster superviseur

Configurer vSphere DRS et HA sur le cluster

Créer un cluster vSphere

Configuration du calcul

Configurer le stockage partagé avec vSAN ou une autre solution de

Créer des stratégies de stockage pour le placement de

du cache d'image de conteneur et des disques éphémères de conteneur

Configurer et déployer des machines virtuelles de nœud NSX Edge

Configurer le cluster vSphere en tant que cluster superviseur

Configuration du magasin

Créer des zones de transport de superposition, VLAN et Edge

Installer et configurer NSX Manager

Créer des pools d'adresses IP pour les points de terminaison de

Créer un cluster NSX Edge

Créer des nœuds de transport d'hôte

Configuration de NSX-T Data Center

Créer des profils de liaison montante pour l'hôte et la mise en réseau

Créer un segment de liaison montante de niveau 0 NSX-T

Créer une passerelle de niveau 0 NSX-T

stockage

machines virtuelles du plan de contrôle Kubernetes,

logique Edge

tunnel pour les hôtes

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 24

Page 25: Configuration et gestion de vSphere with Kubernetes

Workflow de création et de configuration de l'espace de noms

En tant qu'administrateur vSphere, vous créez et configurez des espaces de noms sur le Cluster superviseur. Vous devez collecter des exigences spécifiques en matière de ressources auprès des ingénieurs DevOps sur les applications qu'ils souhaitent exécuter et configurer les espaces de noms en conséquence. Pour plus d'informations, reportez-vous à Chapitre 5 Utilisation d'espaces de noms sur un Cluster superviseur.

Figure 2-8. Workflow de configuration de l'espace de noms

Créer des stratégies de stockage définissant des classes de stockagepour le placement de volumes persistants

Créer des utilisateurs et des groupes d'utilisateurs pour les ingénieurs DevOps, qui accèdent à l'espace de noms

Créer une bibliothèque de contenu abonnée et l'associer à un clustersuperviseur pour l'utilisation de nœuds de cluster Tanzu Kubernetes

Fournir l'URL du plan de contrôle Kubernetes aux ingénieurs DevOpsqui déploient des charges de travail kubernetes sur l'espace de noms

Préparer la configuration de l'espace de noms

Définir les autorisations pour les utilisateurs et les groupes d'utilisateursqui accèdent à l'espace de noms

Créer un espace de noms

Définir des quotas de capacité et d'utilisation pour le stockage,

Facultatif. Définir des limites sur les objets Kubernetes

Configuration de l'espace de noms

Attribuer les stratégies de stockage que vous avez créées pour le placement de volumes persistants

le CPU et la mémoire

Workflow de l'Espace vSphere

En tant qu'ingénieur DevOps, vous pouvez utiliser le service d'espace vSphere pour exécuter vos applications. Le service d'espace vSphere crée un Espace vSphere sur le Cluster superviseur. Pour plus d'informations, consultez Chapitre 6 Utilisation de Espace vSphere.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 25

Page 26: Configuration et gestion de vSphere with Kubernetes

Figure 2-9. Workflow d'espaces vSphere

Obtenir l'adresse IP du plan de contrôle Kubernetes auprès de notre administrateur vSphere

Obtenir les informations requises

Télécharger l'interface de ligne de commande kubectl - vsphere à partir de lapage Web de l'adresse IP du plan de contrôle Kubernetes

Se connecter au cluster superviseur et accéder aux contextes

Se connecter au cluster superviseur à l'aide de vos informations

Répertorier le contexte (espaces de noms) pour lequel vous avez des

Déployer des espaces natifs vSphere

Créer un fichier YAML d'application

Déployer le fichier YAML d'application

Vérifier auprès de votre administrateur vSphere que vous disposezd'autorisations de modification sur cet espace de noms

Vérifier auprès de votre administrateur vSphere qu'au moins un espace de noms répond à la configuration système requise de vos applications existe sur le Cluster superviseur

Obtenir vos informations d'identification vCenter Single Sign on pour vous connecter au cluster superviseur

d'identification d'utilisateur

autorisations d'accès

Workflow du cluster Tanzu Kubernetes

En tant qu'ingénieur DevOps, vous créez et configurez des clusters Tanzu Kubernetes sur un espace de noms créé et configuré par votre administrateur vSphere. Pour plus d'informations, consultez Workflow de création de clusters Tanzu Kubernetes.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 26

Page 27: Configuration et gestion de vSphere with Kubernetes

Figure 2-10. Workflow du cluster Tanzu Kubernetes

Obtenir vos informations d'identification vCenter Single Sign-On pour ouvrir unesession sur le cluster superviseur

Obtenir l'adresse IP du plan de contrôle Kubernetes auprès de notre administrateur vSphere

Obtenir les informations requises

Télécharger l'interface de ligne de commande kubectl - vsphere à partir de lapage Web de l'adresse IP du plan de contrôle Kubernetes

Se connecter au cluster superviseuret accéder aux contextes

Se connecter au cluster superviseur à l'aide de vos informations d'identificationd'utilisateurs via l'interface de ligne de commande kubectl - vsphere

Répertorier le contexte, à savoir les espaces de noms (contextes), pour lesquels vous avez des autorisations

Déterminer les classes de stockage et de machine virtuelle disponibles,ainsi que la version de distribution de Kubernetes

Créer un cluster Tanzu Kubernetes

Examiner la liste des paramètres de configuration disponibles pour la création et la mise à niveau des clusters Tanzu Kubernetes

Créer un fichier YAML de configuration de cluster Kubernetes

Provisionner le cluster Tanzu Kubernetes

Surveiller le déploiement des nœuds de cluster

Se connecter au cluster Tanzu Kubernetes et déployer une application test

Vérifier auprès de votre administrateur vSphere qu'il existe un espace de noms,qui répond aux exigences de ressources pour le déploiement de vos clusters Tanzu Kubernetes

Vérifier auprès de votre administrateur système que vous disposez desautorisations de modification sur l'espace de noms

noms est en cours de configuration avec une bibliothèque de contenus abonnée à utiliser avec les clusters Tanzu Kubernetes

Vérifier auprès de votre administrateur système que cet espace de

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 27

Page 28: Configuration et gestion de vSphere with Kubernetes

Attribution de licences pour vSphere with Kubernetes

Pour utiliser vSphere with Kubernetes, vous devez attribuer une licence vSphere correctement.

Vous devez attribuer une licence appropriée aux composants suivants :

n Attribuez une licence VMware vSphere 7 Enterprise Plus avec module complémentaire pour Kubernetes à tous les hôtes ESXi que vous souhaitez utiliser dans le cadre d'un Cluster superviseur.

n Attribuez une licence NSX-T Data Center Advanced ou supérieure à NSX Manager.

Comment vSphere with Kubernetes modifie-t-il l'environnement vSphere ?Lorsqu'un cluster vSphere est configuré pour des charges de travail Kubernetes, devenant ainsi un Cluster superviseur, il ajoute des objets à l'inventaire de vCenter Server, tels que les espaces de noms, les Espace vSphere et les clusters Kubernetes créés via le Service VMware Tanzu™ Kubernetes Grid™.

Sous chaque Cluster superviseur, vous pouvez voir :

n Les espaces de noms qui représentent des applications logiques exécutées dans le cluster.

n Les pools de ressources pour chaque espace de noms sur le Cluster superviseur.

Dans chaque espace de noms, vous pouvez voir :

n Des Espace vSphere.

n Clusters Kubernetes créés via le Service VMware Tanzu™ Kubernetes Grid™.

n Machines virtuelles de plan de contrôle Kubernetes.

n Des ressources de mise en réseau et de stockage.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 28

Page 29: Configuration et gestion de vSphere with Kubernetes

Composants et architecture de vSphere with Kubernetes 3Un cluster pour lequel vSphere with Kubernetes est activé est appelé un Cluster superviseur. Le cluster est à la base de l'instance de vSphere with Kubernetes fournissant les composants et ressources nécessaires à l'exécution des Espace vSphere et des clusters Tanzu Kubernetes.

Ce chapitre contient les rubriques suivantes :

n Architecture de vSphere with Kubernetes

n Architecture de Service Tanzu Kubernetes Grid

n Modèle de locataire du cluster Tanzu Kubernetes

n Mise en réseau dans vSphere with Kubernetes

n Stockage dans vSphere with Kubernetes

n Authentification pour vSphere with Kubernetes

n Authentification avec les clusters Tanzu Kubernetes

Architecture de vSphere with Kubernetes

Lorsque vSphere with Kubernetes est activé sur un cluster vSphere, il crée un plan de contrôle Kubernetes à l'intérieur de la couche d'hyperviseur. Cette couche contient des objets spécifiques qui permettent d'exécuter des charges de travail Kubernetes dans ESXi.

Figure 3-1. Architecture générale de Cluster superviseur

DevOps AdministrateurMise en réseau StockageESXi

vSphere Center

vSphere with Kubernetes

Cluster superviseur

Tanzu Kubernetes Grid service for vSphere

vSphere

VMware, Inc. 29

Page 30: Configuration et gestion de vSphere with Kubernetes

Un cluster pour lequel vSphere with Kubernetes est activé est appelé un Cluster superviseur. Elle s'exécute au-dessus d'une couche SDDC qui se compose d'ESXi pour les calculs, de NSX-T Data Center pour la mise en réseau et de vSAN ou d'une autre solution de stockage partagé. Le stockage partagé est utilisé pour les volumes persistants des Espace vSphere, les machines virtuelles exécutées dans le Cluster superviseur et les espaces d'un cluster Tanzu Kubernetes. Après la création d'un Cluster superviseur, en tant qu'administrateur vSphere vous pouvez créer des espaces de noms dans le Cluster superviseur appelés Espace de noms de superviseur. En tant qu'ingénieur DevOps vous pouvez exécuter des charges de travail composées de conteneurs s'exécutant dans des Espace vSphere et créer des clusters Tanzu Kubernetes.

Figure 3-2. Architecture de cluster superviseur

Cluster superviseur

Hôte ESXi

Machine virtuelle du

CRX

Espace vSphere

Spherelet hostd

Hôte ESXi

Machine virtuelle duplan de contrôle K8S

CRX

Espace vSphere

Spherelet hostd

CRX

Espace vSphere

Hôte ESXi

Machine virtuelle du

Spherelet hostd

Administrateur vSphere

DevOps

CRX

Espace vSphere

vCenter Server

plan de contrôle K8S plan de contrôle K8S

n Machine virtuelle de plan de contrôle Kubernetes. Trois machines virtuelles de plan de contrôle Kubernetes au total sont créées sur les hôtes faisant partie du Cluster superviseur. Les trois machines virtuelles du plan de contrôle sont équilibrées en charge, car chacune d'elles dispose de sa propre adresse IP. En outre, une adresse IP flottante est attribuée à l'une des machines virtuelles. vSphere DRS détermine le placement exact des machines virtuelles du plan de contrôle sur les hôtes ESXi et les migre lorsque cela est nécessaire. vSphere DRS est également intégré au programmateur Kubernetes sur les machines virtuelles du plan de contrôle, afin que DRS détermine le placement des Espace vSphere. Lorsqu'un ingénieur DevOps planifie une Espace vSphere, la demande passe par le workflow Kubernetes normal, puis par DRS, qui prend la décision de placement finale.

n Spherelet. Un processus supplémentaire appelé Spherelet est créé sur chaque hôte. Il s'agit d'un kubelet qui est porté en mode natif sur ESXi et permet à l'hôte ESXi de faire partie du cluster Kubernetes.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 30

Page 31: Configuration et gestion de vSphere with Kubernetes

n Container Runtime Executive (CRX). CRX est semblable à une machine virtuelle dans la perspective de Hostd et de vCenter Server. CRX inclut un noyau Linux paravirtualisé qui fonctionne en synergie avec l'hyperviseur. CRX utilise les mêmes techniques de virtualisation matérielle que les machines virtuelles et il fait l'objet d'une limite de machine virtuelle. Une technique de démarrage direct est utilisée, ce qui permet à l'invité Linux de CRX de lancer le processus d'initialisation principal sans passer par l'initialisation du noyau. Cela permet à des Espace vSphere de démarrer presque aussi rapidement que des conteneurs.

n Le Service de machine virtuelle, l'API de cluster et le Service VMware Tanzu™ Kubernetes Grid™ sont des modules qui s'exécutent sur le Cluster superviseur et permettent le provisionnement et la gestion de clusters Tanzu Kubernetes.

Espace de noms de superviseur

Un espace de noms définit les limites des ressources pour lesquelles des Espace vSphere et des clusters Tanzu Kubernetes créés à l'aide du Service Tanzu Kubernetes Grid peuvent s'exécuter. Lors de sa création initiale, l'espace de noms dispose de ressources illimitées au sein du Cluster superviseur. En tant qu'administrateur vSphere vous pouvez définir des limites pour le CPU, la mémoire, le stockage, ainsi que le nombre d'objets Kubernetes qui peuvent s'exécuter dans l'espace de noms. Un pool de ressources est créé pour chaque espace de noms dans vSphere. Les limitations de stockage sont représentées sous forme de quotas de stockage dans Kubernetes.

Figure 3-3. Espace de noms de superviseur

Espace de noms

StockageMémoireCPU

EspacevSphere VMEspace

vSphere Cluster

Tanzu KubernetesVM

Cluster superviseur

Pour fournir à l'ingénieur DevOps un accès aux espaces de noms, en tant qu'administrateur vSphere vous attribuez l'autorisation aux utilisateurs ou aux groupes d'utilisateurs disponibles dans une source d'identité associée à vCenter Single Sign-On.

Une fois qu'un espace de noms est créé et configuré avec des limites de ressources et d'objets, ainsi qu'avec des stratégies d'autorisations et de stockage, en tant qu'ingénieur DevOps vous pouvez accéder à l'espace de noms pour exécuter des charges de travail Kubernetes et créer des clusters Tanzu Kubernetes à l'aide du Service Tanzu Kubernetes Grid.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 31

Page 32: Configuration et gestion de vSphere with Kubernetes

Clusters Tanzu Kubernetes

Un cluster Tanzu Kubernetes est une distribution complète du logiciel open source Kubernetes qui est assemblée, signée et prise en charge par VMware. Dans le contexte de vSphere with Kubernetes, vous pouvez utiliser le Service Tanzu Kubernetes Grid pour provisionner des clusters Tanzu Kubernetes sur Cluster superviseur. Vous pouvez appeler l'API du Service Tanzu Kubernetes Grid de manière déclarative à l'aide de kubectl et d'une définition YAML.

Un cluster Tanzu Kubernetes réside dans un Espace de noms de superviseur. Vous pouvez déployer des charges de travail et des services sur les clusters Tanzu Kubernetes de la même manière, en utilisant les mêmes outils que pour des clusters Kubernetes standard. Pour plus d'informations, consultez Chapitre 7 Exécution de clusters Tanzu Kubernetes dans vSphere with Kubernetes.

Figure 3-4. Architecture de vSphere with Kubernetes pour les clusters Tanzu Kubernetes

VM VM

VM VM

VMVM VM VM

VMVM

VM EspacevSphere

Espace vSphere

Conteneur Linux

Conteneur Linux

Espace vSphere

Conteneur Linux

Conteneur Linux

Espace vSphere

Conteneur Linux

Conteneur Linux

Espace

EspacevSphere

EspacevSphere

Espace de noms du superviseur

Cluster vSphere

vSphere avec NSX-T Data Center

Cluster vSphere

Cluster superviseur

Cluster Tanzu

Kubernetes

Conteneurs RUNC

EspaceConteneurs

RUNC

Cluster Tanzu

Kubernetes

Cluster Tanzu

Kubernetes

Espace de noms du superviseur

Espace de noms du superviseur

Espace de noms du superviseur

Espace de noms du superviseur

API du cluster

ServiceVMwareTanzu™

Kubernetes Grid™

Nœud worker

du cluster Tanzu

Kubernetes

Nœud worker

du cluster Tanzu

Kubernetes

Nœud du plan de contrôle du cluster

Tanzu Kubernetes

Nœud du plan de contrôle du cluster

Tanzu Kubernetes

Cluster superviseur

ServiceVMwareTanzu™

Kubernetes Grid™

Opérateur de machine API du

cluster

plan de contrôle SC

virtuelle

Nœud deplan de

contrôle SC

Nœud de

Opérateurde machine

virtuelle

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 32

Page 33: Configuration et gestion de vSphere with Kubernetes

Architecture de Service Tanzu Kubernetes Grid

Service Tanzu Kubernetes Grid assure la gestion du cycle de vie en libre-service des clusters Tanzu Kubernetes. Vous pouvez utiliser Service Tanzu Kubernetes Grid afin de créer et gérer les clusters Tanzu Kubernetes d'une manière déclarative similaire pour les opérateurs et les développeurs Kubernetes.

Composants Service Tanzu Kubernetes Grid

Service Tanzu Kubernetes Grid expose trois couches de contrôleurs pour gérer le cycle de vie d'un cluster Tanzu Kubernetes.

n Service Tanzu Kubernetes Grid provisionne des clusters qui incluent les composants nécessaires à l'intégration aux ressources de l'Espace de noms de superviseur sous-jacent. Ces composants incluent un plug-in de fournisseur de cloud qui s'intègre à l'instance de NSX Container Plugin (NCP) qui s'exécute dans le Cluster superviseur. En outre, un cluster Tanzu Kubernetes transmet des demandes pour le volumes persistants au Cluster superviseur, qui est intégré au stockage cloud natif (CNS) de VMware. Reportez-vous à la section Stockage dans vSphere with Kubernetes.

n L'API du cluster fournit des API déclaratives de type Kubernetes pour la création, la configuration et la gestion de clusters. 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.

n Le 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. La fonctionnalité fournie par le Service de machine virtuelle est utilisée 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 Tanzu Kubernetes.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 33

Page 34: Configuration et gestion de vSphere with Kubernetes

Figure 3-5. Architecture et composants du Service Tanzu Kubernetes Grid

VM VM VM

CPI CSI

Cluster Tanzu Kubernetes

Cluster superviseur

Espaces de noms d'utilisateur Espace de nomsdu service

vCenterservice

CNI AuthRessource

TanzuKubernetes Grid

Ressourcede cluster

Ressourcesde machine

Ressources demachine virtuelle

Ressourcesde superviseur

Tanzu Kubernetes Grid Service

Contrôleursd'API du cluster

Fournisseursd'API du cluster

Service demachine virtuelle

ESXi ESXi ESXi ESXi

Intégration de l'interface

Intégration de l'interface

CNSCNS-CSINCP-CNI

Espace Espace Espace Espace

utilisateur

utilisateur

Intégration del'interfaceutilisateur

Composants du cluster de Tanzu Kubernetes

Les composants qui s'exécutent dans un cluster Tanzu Kubernetes couvrent quatre zones : authentification et autorisation, intégration du stockage, mise en réseau d'espaces et équilibrage de charge.

n Webhook d'authentification : webhook s'exécutant sous la forme d'un espace à l'intérieur du cluster pour valider les jetons d'authentification des utilisateurs.

n Plug-in Container Storage Interface : plug-in CSI paravirtuel qui s'intègre à CNS via la Cluster superviseur.

n Plug-in Container Network Interface : plug-in CNI qui fournit la mise en réseau des espaces.

n Implémentation du fournisseur de cloud : prend en charge la création de services d'équilibrage de charge Kubernetes.

API Service Tanzu Kubernetes Grid

Vous pouvez utiliser l'API Service Tanzu Kubernetes Grid pour provisionner et gérer des clusters Tanzu Kubernetes. Il s'agit d'une API déclarative que vous appelez en utilisant kubectl et YAML.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 34

Page 35: Configuration et gestion de vSphere with Kubernetes

Avec une API déclarative, au lieu de faire des commandes impératives au système, vous spécifiez l'état souhaité du cluster Tanzu Kubernetes : le nombre de nœuds, le stockage disponible, les tailles de machine virtuelle et la version du logiciel Kubernetes. Service Tanzu Kubernetes Grid effectue le travail de provisionnement d'un cluster correspondant à l'état souhaité.

Pour appeler l'API deService Tanzu Kubernetes Grid, vous appelez kubectl à l'aide d'un fichier YAML, qui, à son tour, appelle l'API. Une fois le cluster créé, mettez à jour le fichier YAML pour mettre à jour le cluster.

Interfaces Service Tanzu Kubernetes Grid

Les administrateurs vSphere utilisent vSphere Client pour configurer l'Espace de noms de superviseur et accorder des autorisations. Ils peuvent également surveiller les ressources utilisées par les composants du cluster et afficher les informations pertinentes de ces ressources dans l'inventaire vSphere.

Les ingénieurs DevOps utilisent le Plug-in vSphere pour kubectl pour se connecter à l'Espace de noms de superviseur avec leurs identifiants vCenter Single Sign-On. Après la connexion, les ingénieurs DevOps utilisent kubectl pour provisionner les clusters Tanzu Kubernetes.

Les développeurs peuvent se connecter à un cluster provisionné avec le Plug-in vSphere pour kubectl et leurs informations d'identification vCenter Single Sign-On. En outre, si l'administrateur de cluster a configuré un fournisseur d'authentification Kubernetes pris en charge, les développeurs peuvent se connecter à l'aide de kubectl. Pour déployer des charges de travail dans Kubernetes et interagir avec l'environnement du cluster, les développeurs utilisent kubectl.

Démonstration de Service Tanzu Kubernetes Grid

Regardez la vidéo suivante pour découvrir comment vous pouvez utiliser Service Tanzu Kubernetes Grid pour créer et utiliser des clusters Tanzu Kubernetes : vSphere 7 with Kubernetes - Cluster Tanzu Kubernetes - Présentation technique.

Modèle de locataire du cluster Tanzu Kubernetes

Le Cluster superviseur est le plan de gestion des clusters Tanzu Kubernetes provisionnés par le Service Tanzu Kubernetes Grid. Le modèle de locataire est appliqué à l'aide d'un Espace de noms de superviseur où résident les clusters Tanzu Kubernetes.

Cluster superviseur

Le Cluster superviseur fournit la couche de gestion sur laquelle sont construits les clusters Tanzu Kubernetes. Le Service Tanzu Kubernetes Grid est un gestionnaire de contrôleurs personnalisé disposant d'un ensemble de contrôleurs faisant partie du Cluster superviseur. Service Tanzu Kubernetes Grid a pour objet de provisionner les clusters Tanzu Kubernetes.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 35

Page 36: Configuration et gestion de vSphere with Kubernetes

Bien qu'il existe une relation un-à-un entre le Cluster superviseur et le cluster vSphere, il existe une relation un-à-plusieurs entre le Cluster superviseur et les clusters Tanzu Kubernetes. Vous pouvez provisionner plusieurs clusters de Tanzu Kubernetes dans un seul Cluster superviseur. La fonctionnalité de gestion de charge de travail fournie par le Cluster superviseur vous donne contrôle sur la configuration et le cycle de vie du cluster, tout en vous permettant de maintenir la simultanéité avec Kubernetes en amont.

Pour plus d'informations, consultez Chapitre 4 Configuration d'un Cluster superviseur.

Espace de noms de superviseur

Déployez un ou plusieurs clusters Tanzu Kubernetes sur un Espace de noms de superviseur. Les quotas de ressources et la stratégie de stockage sont appliqués à un Espace de noms de superviseur et hérités par les clusters Tanzu Kubernetes qui y sont déployés.

Lorsque vous provisionnez un cluster Tanzu Kubernetes, un pool de ressources et un dossier de machines virtuelles sont créés dans l'Espace de noms de superviseur. Les machines virtuelles du plan de contrôle du cluster Tanzu Kubernetes et du nœud worker sont placées dans ce pool de ressources et dans le dossier de machines virtuelles. À l'aide de vSphere Client, vous pouvez afficher cette hiérarchie en sélectionnant la perspective Hôtes et clusters et en sélectionnant également la vue VM et modèles.

Pour plus d'informations, consultez Chapitre 5 Utilisation d'espaces de noms sur un Cluster superviseur.

Bibliothèque de contenu

Une bibliothèque de contenu vSphere fournit le modèle de machine virtuelle utilisé pour créer les nœuds de clusters Tanzu Kubernetes. Pour chaque Cluster superviseur dans lequel vous prévoyez de déployer un cluster Tanzu Kubernetes, vous devez définir un objet de bibliothèque de contenu abonnée d'où provient le fichier OVA utilisé par le Service Tanzu Kubernetes Grid pour créer des nœuds de cluster. La même bibliothèque de contenu abonnée peut être configurée pour plusieurs Cluster superviseur. Il n'existe aucune relation entre la bibliothèque de contenu abonnée et l'Espace de noms de superviseur.

Pour plus d'informations, consultez Créer une bibliothèque de contenu avec abonnement pour les clusters Tanzu Kubernetes.

Sécurité du cluster

Un cluster Tanzu Kubernetes est sécurisé par défaut. Un PodSecurityPolicy (PSP) restrictif est disponible pour tout cluster Tanzu Kubernetes provisionné par le Service Tanzu Kubernetes Grid. Si les développeurs doivent exécuter des espaces privilégiés ou des conteneurs racines, au moins un administrateur de cluster doit créer un RoleBinding qui accorde à l'utilisateur l'accès au PSP privilégié par défaut. Pour plus d'informations, consultez Utilisation des stratégies de sécurité de l'espace avec les clusters Tanzu Kubernetes.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 36

Page 37: Configuration et gestion de vSphere with Kubernetes

Un cluster Tanzu Kubernetes n'a pas d'informations d'identification d'infrastructure. Les informations d'identification stockées dans un cluster Tanzu Kubernetes sont suffisantes pour accéder à l'Espace de noms de superviseur sur lequel le cluster Tanzu Kubernetes est locataire. Par conséquent, il n'y a pas de réaffectation des privilèges pour les administrateurs ou les utilisateurs du cluster.

Les jetons d'authentification utilisés pour accéder à un cluster Tanzu Kubernetes disposent d'une étendue ne leur permettant de donner accès au Cluster superviseur. Cela empêche un administrateur de clusters ou une personne susceptible de compromettre un cluster, d'utiliser son accès de niveau racine pour capturer un jeton d'administrateur vSphere lorsqu'il se connecte à un cluster Tanzu Kubernetes.

Mise en réseau dans vSphere with Kubernetes

vSphere with Kubernetes requiert une configuration de mise en réseau spécifique pour activer la connectivité pour les espaces de noms, Espace vSphere, les services Kubernetes et les clusters Tanzu Kubernetes qui sont provisionnés via le Service Tanzu Kubernetes Grid.

Mise en réseau du cluster superviseur

VMware NSX-T™ Data Center fournit une connectivité réseau aux objets à l'intérieur du Cluster superviseur et des réseaux externes. La connectivité aux hôtes ESXi constituant le cluster est gérée par les réseaux vSphere standard.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 37

Page 38: Configuration et gestion de vSphere with Kubernetes

Figure 3-6. Mise en réseau du cluster superviseur

Développeur

RéseauVLANde liaison

NSX Manager vCenter Server

Réseau de gestion

Adresses IP virtuelles

Adresse IP virtuelle

Équilibrage de charge Edge

Passerelle de

Cluster superviseur

Segment demachines

virtuelles de

Segmentde l'espace de

Espace de noms A

EspacevSphere

Espace de noms B

EspacevSphere

Spherelet

Hôte ESXi

Spherelet

Hôte ESXi

Spherelet

Hôte ESXi

Passerelle de

NCP

Plan decontrôle K8S

montante

niveau 0

niveau 1

du serveur d'API

d'entrée

plan de contrôle noms A

Segmentde l'espace de

noms B

n NSX Container Plug-in (NCP) fournit une intégration entre VMware NSX-T™ Data Center et Kubernetes. Le composant principal de NCP s'exécute dans un conteneur et communique avec NSX Manager et avec le plan de contrôle Kubernetes. NCP surveille les modifications apportées aux conteneurs et à d'autres ressources et gère les ressources de mise en réseau, telles que les ports logiques, les segments, les routeurs et les groupes de sécurité des conteneurs en appelant NSX API.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 38

Page 39: Configuration et gestion de vSphere with Kubernetes

n NSX Edge fournit une connectivité à des objets de Cluster superviseur depuis des réseaux externes. Le cluster NSX Edge dispose d'un équilibrage de charge qui fournit une redondance aux serveurs d'API Kubernetes résidant sur les machines virtuelles du plan de contrôle, et à toutes les applications qui doivent être publiées et accessibles à l'extérieur du Cluster superviseur.

n Une passerelle de niveau 0 est associée au cluster NSX Edge pour fournir le routage au réseau externe. L'interface de liaison montante utilise le protocole de routage dynamique , BGP ou de routage statique.

n Une passerelle de niveau 1 est requise par le Cluster superviseur qui fournit le trafic vers le sud du cluster à la passerelle de niveau 0.

n Les segments sont associés à chaque espace de noms dans le Cluster superviseur pour fournir la connectivité aux Espace vSphere.

n Le segment de la machine virtuelle du plan de contrôle fournit la connectivité entre les machines virtuelles du plan de contrôle et les Espace vSphere.

Pour en savoir plus sur la mise en réseau de Cluster superviseur, regardez la vidéo intitulée Service réseau vSphere 7 with Kubernetes - Partie 1 - Cluster superviseur.

Figure 3-7. Mise en réseau des espaces de noms

Plan decontrôle

K8SVM 2

Plan decontrôle

K8SVM 1

NSX ManagervCenter Server

Passerelle de niveau 1

Segment d'espace de noms A

Segment d'espace de noms B

Segment d'espace de noms C

Segment de VM du plan de contrôle

Réseau de gestion

Réseau de gestion ESXi

Réseau desuperpositionNSX-Tgéré parNCP

RéseauvSphereexistant

Hôte ESXi 1 Hôte ESXi 2 Hôte ESXi 3

vSphereDistributed Switch

Spherelet Spherelet Spherelet

Espace de noms A Espace de noms B Espace de noms C

Espace 1vSphere

Espace 2vSphere

Espace 3vSphere

Espace 4vSphere

Espace 5vSphere

Espace 6vSphere

Plan decontrôle

K8SVM 3

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 39

Page 40: Configuration et gestion de vSphere with Kubernetes

Les segments de chaque espace de noms résident sur le commutateur vSphere Distributed Switch (VDS) fonctionnant en mode standard associé au cluster NSX Edge. Le segment fournit un réseau superposé au Cluster superviseur.

Chaque Espace vSphere se connecte via une ou plusieurs interfaces au segment associé à l'espace de noms où réside l'espace.

Les processus Spherelet sur chaque hôte ESXi communiquent avec vCenter Server via une interface sur le réseau de gestion.

Méthodes de configuration de la mise en réseau

Le Cluster superviseur utilise une configuration de mise en réseau dogmatique. Il existe deux méthodes pour configurer la mise en réseau du Cluster superviseur qui permettent le déploiement du même modèle de mise en réseau :

n La manière la plus simple de configurer la mise en réseau du Cluster superviseur est d'utiliser le gestionnaire de SDDC de VMware Cloud Foundation. Pour plus d'informations, reportez-vous à la documentation du gestionnaire de SDDC de VMware Cloud Foundation. Pour plus d'informations, consultez la section Utilisation de la gestion de la charge de travail.

n Vous pouvez également configurer la mise en réseau du Cluster superviseur manuellement à l'aide d'un déploiement de NSX-T Data Center existant ou en déployant une nouvelle instance de NSX-T Data Center. Consultez Configurer la vSphere with Kubernetes pour utiliser NSX-T Data Center pour plus d'informations.

Mise en réseau du cluster Tanzu Kubernetes

La mise en réseau utilisée pour les clusters Tanzu Kubernetes provisionnés par le Service Tanzu Kubernetes Grid est une combinaison de l'infrastructure NSX-T sous-jacente à l'infrastructure vSphere with Kubernetes et à un logiciel tiers qui fournit la mise en réseau des espaces de cluster, des services et des entrées.

Figure 3-8. Mise en réseau du cluster Tanzu Kubernetes

Cluster superviseur

Réseau externe

DevOps Eng

Créer un espace de noms

Créer un cluster TKG

vCenterNSXT

Manager

Machine

contrôle SC

Administrateur

Liaison montante VDS

Gestion

Segment du superviseur NS

Segment de cluster TKG

Liaison montante Edge

Segment de plan de contrôle SC

NCP

Passerelle

SC

Passerellee niveau 1

TKGPasserelle

Cluster Edge NSXT Espace de noms de superviseur

Machine virtuelle

Machine virtuelle denœud de plan

Nœud Edge NSX-T Cluster TKG

vSphere

virtuelle deplan de

de niveau 1de niveau 0 de nœud worker

de contrôle

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 40

Page 41: Configuration et gestion de vSphere with Kubernetes

En tant qu'administrateur vSphere, lorsque vous créez un Espace de noms de superviseur, un segment NSX-T est défini pour chaque espace de noms. Ce segment est connecté à la passerelle de niveau 1 NSX-T pour le réseau Cluster superviseur.

Lorsque des ingénieurs DevOps provisionnent le premier cluster Tanzu Kubernetes dans un Espace de noms de superviseur, une nouvelle passerelle de niveau 1 est créée. Pour chaque cluster Tanzu Kubernetes provisionné dans cet espace de noms, un segment est créé pour le cluster et il est connecté à la passerelle de niveau 1 dans son Espace de noms de superviseur.

Les espaces Kubernetes exécutés dans des clusters Tanzu Kubernetes se connectent au segment du cluster via CNI (Container Network Interface). Les clusters Tanzu Kubernetes provisionnés par le Service Tanzu Kubernetes Grid prennent en charge le plug-in Calico Open source pour CNI. Le Service Tanzu Kubernetes Grid fournit une infrastructure extensible qui peut prendre en charge des CNI supplémentaires à l'avenir.

Lorsqu'un cluster Tanzu Kubernetes est provisionné par le Service Tanzu Kubernetes Grid, un équilibrage de charge NSX-T est automatiquement déployé sur un nœud NSX Edge. Cet équilibrage de charge fournit des services d'équilibrage de charge sous la forme de serveurs virtuels. Un serveur virtuel unique est créé pour fournir l'équilibrage de charge de couche 4 pour l'API Kubernetes. Ce serveur virtuel est responsable du routage du trafic kubectl vers le plan de contrôle. En outre, pour chaque équilibrage de charge de service Kubernetes disposant de ressources sur le cluster, un serveur virtuel est créé qui fournit un équilibrage de charge de couche 4 pour ce service.

Le tableau suivant résume les fonctionnalités de mise en réseau du cluster Tanzu Kubernetes et leur implémentation.

Tableau 3-1. Mise en réseau du cluster Tanzu Kubernetes pour vSphere with Kubernetes

Point de terminaison Fournisseur Description

API Kubernetes Équilibrage de charge NSX-T Un serveur virtuel par cluster.

Connectivité des nœuds Segment NSX-T Fournit la connectivité entre les machines virtuelles du nœud du cluster via le routeur NSX-T de niveau 1.

Connectivité des espaces Calico Interface CNI (Container Network Interface) pour les espaces via le pont Linux.

Type de service : ClusterIP Calico Type de service Kubernetes par défaut qui est uniquement accessible depuis le cluster.

Type de service : NodePort Calico Autorise l'accès externe via un port ouvert sur chaque nœud worker par le proxy réseau Kubernetes.

Type de service : LoadBalancer Équilibrage de charge NSX-T Un serveur virtuel par définition de type de service.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 41

Page 42: Configuration et gestion de vSphere with Kubernetes

Tableau 3-1. Mise en réseau du cluster Tanzu Kubernetes pour vSphere with Kubernetes (suite)

Point de terminaison Fournisseur Description

Entrée des espaces Contrôleur d'entrée tiers Routage pour le trafic de l'espace entrant ; vous pouvez utiliser n'importe quel contrôleur d'entrée tiers.

Stratégie réseau Calico Contrôle le trafic autorisé pour les espaces et les points de terminaison réseau sélectionnés à l'aide de tables d'adresses IP Linux.

Stockage dans vSphere with Kubernetes

Une Espace vSphere et un espace qui s'exécutent dans un cluster Tanzu Kubernetes requièrent des caractéristiques de stockage différentes pour différents types d'objets de stockage disponibles dans Kubernetes.

La vSphere with Kubernetes prend en charge trois types de stockage : les disques virtuels éphémères: les disques virtuels d'image de conteneur et les disques virtuels de volumes persistants. Une Espace vSphere et un espace qui s'exécutent dans un cluster Tanzu Kubernetes peuvent monter n'importe lequel des trois types de disques virtuels.

Disque[0] virtuel

de volume persistant

Disque virtuel

éphémère

Disque[N] virtuel

de volume persistant

Disque[0] virtuel

d'image de conteneur

Espace vSphere

Disque[N] virtuel

d'image de conteneur

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 42

Page 43: Configuration et gestion de vSphere with Kubernetes

Disques virtuels éphémères

Un espace nécessite un stockage éphémère pour stocker des objets Kubernetes comme des journaux, des volumes emptyDir et des ConfigMaps pendant ses opérations. Ce stockage éphémère, ou temporaire, dure tant que l'espace continue d'exister. Les données éphémères persistent entre les redémarrages de conteneur, mais dès que l'espace atteint la fin de sa durée de vie, le disque virtuel éphémère disparaît.

Chaque espace dispose d'un disque virtuel éphémère. Un administrateur vSphere utilise une stratégie de stockage pour définir l'emplacement de la banque de données pour tous les disques virtuels éphémères lors de la configuration du stockage pour le Cluster superviseur. Reportez-vous à la section Activer vSphere with Kubernetes sur un cluster avec NSX-T Data Center.

Disques virtuels d'image de conteneur

Les conteneurs à l'intérieur de l'espace 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.

Le service d'image, composant d'ESXi, 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.

Registre d'images

Image Service

Image deconteneur

Espace vSphere

Hôte ESXi(nœud K8s)

SupervisorCluster

ESXi peut mettre en cache des images qui sont téléchargées pour les conteneurs s'exécutant dans l'espace. Les espaces suivants qui utilisent la même image l'extraient du cache local plutôt que du registre de conteneur externe.

L'administrateur vSphere spécifie l'emplacement de la banque de données pour le cache d'image lors de la configuration du stockage pour le Cluster superviseur. Reportez-vous à la section Activer vSphere with Kubernetes sur un cluster avec NSX-T Data Center.

Pour plus d'informations sur l'utilisation des images de conteneur, reportez-vous à Utilisation du Service de registre pour fournir un registre d'images privé.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 43

Page 44: Configuration et gestion de vSphere with Kubernetes

Disques virtuels de stockage persistants

Pour provisionner un stockage persistant pour les charges de travail Kubernetes, la vSphere with Kubernetes s'intègre au stockage cloud natif (CNS), un composant vCenter Server qui gère les volumes persistants. Le stockage persistant est utilisé par les Espace vSphere et les espaces à l'intérieur des clusters Tanzu Kubernetes.

Pour plus d'informations et pour connaître la façon dont le stockage persistant est utilisé par les clusters Tanzu Kubernetes, reportez-vous aux sections Comment vSphere with Kubernetes s'intègre au stockage vSphere et Chapitre 7 Exécution de clusters Tanzu Kubernetes dans vSphere with Kubernetes.

Machine virtuelle duplan de contrôle K8s

Service devolume CNS

Volume deconteneur

Espace vSphere

Hôte ESXi(nœud K8s)

Cluster superviseur

Pour comprendre comment la vSphere with Kubernetes fonctionne avec le stockage persistant, familiarisez-vous avec les concepts essentiels suivants.

Volume persistant

Certaines charges de travail Kubernetes requièrent un stockage persistant pour stocker les données indépendamment de l'espace. Pour fournir un stockage persistant, Kubernetes utilise des volumes persistants qui peuvent conserver leur état et leurs données. Ils continuent d'exister même lorsque l'espace est supprimé ou reconfiguré. Dans l'environnement de la vSphere with Kubernetes, les objets de volume persistant dépendent des disques de première classe sur une banque de données.

vSphere with Kubernetes prend en charge le provisionnement dynamique de volumes en mode ReadWriteOnce, les volumes qui peuvent être montés par un seul nœud.

Disque de première classe

vSphere with Kubernetes utilise le type de disque FCD (First Class Disk, disque de première classe) de disques virtuels pour prendre en charge les volumes persistants. Le FCD, également appelé disque virtuel amélioré, est un disque virtuel nommé non associé à une machine virtuelle.

Les FCD sont identifiés par un UUID. Cet UUID est globalement unique et constitue l'identificateur principal du FCD. L'UUID reste valide même si son FCD est déplacé ou fait l'objet d'un snapshot.

Réclamation de volume persistant

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 44

Page 45: Configuration et gestion de vSphere with Kubernetes

Les ingénieurs DevOps créent des réclamations de volume persistant pour demander des ressources de stockage persistantes. La demande provisionne dynamiquement un objet de volume persistant et un disque virtuel correspondant. Dans vSphere Client, la réclamation de volume persistant produit un disque virtuel FCD qui peut être surveillé par les administrateurs vSphere.

La réclamation est liée au volume persistant. Les charges de travail peuvent utiliser la réclamation pour monter les volumes persistants et accéder au stockage.

Lorsque les ingénieurs DevOps suppriment la réclamation, l'objet de volume persistant correspondant et le disque virtuel provisionné sont également supprimés.

Classe de stockage

Kubernetes utilise des classes de stockage pour décrire les conditions requises du stockage dont dépendent les volumes persistants. Les ingénieurs DevOps peuvent inclure une classe de stockage spécifique dans leur spécification de réclamation de volume persistant pour demander le type de stockage décrit par la classe.

Workflow de stockage persistant

Le workflow de provisionnement d'un stockage persistant dans vSphere with Kubernetes inclut les actions séquentielles suivantes.

Action Description

Les administrateurs vSphere fournissent des ressources de stockage persistantes à l'équipe DevOps.

Les administrateurs vSphere créent des stratégies de stockage de machine virtuelle qui décrivent différentes exigences de stockage et classes de services. Ils peuvent ensuite attribuer les stratégies de stockage à un Espace de noms de superviseur.

La vSphere with Kubernetes crée des classes de stockage qui correspondent aux stratégies de stockage attribuées à l'Espace de noms de superviseur.

Les classes de stockage s'affichent automatiquement dans l'environnement Kubernetes et peuvent être utilisées par l'équipe DevOps. Si un administrateur vSphere attribue plusieurs stratégies de stockage à l'Espace de noms de superviseur, une classe de stockage distincte est créée pour chaque stratégie de stockage.

Si vous utilisez le Service Tanzu Kubernetes Grid pour provisionner des clusters Tanzu Kubernetes, chaque cluster Tanzu Kubernetes hérite des classes de stockage de l'Espace de noms de superviseur dans lequel le cluster est provisionné.

Les ingénieurs DevOps utilisent les classes de stockage pour demander des ressources de stockage persistantes pour une charge de travail.

La demande est fournie sous la forme d'un volume persistant faisant référence à une classe de stockage spécifique.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 45

Page 46: Configuration et gestion de vSphere with Kubernetes

Action Description

La vSphere with Kubernetes crée un objet de volume persistant et un disque virtuel persistant correspondant à un espace.

vSphere with Kubernetes place le disque virtuel dans la banque de données qui répond aux exigences spécifiées dans la stratégie de stockage d'origine et sa classe de stockage correspondante. Après le démarrage de l'espace, le disque virtuel est monté dans l'espace.

Les administrateurs vSphere surveillent les volumes persistants dans l'environnement vSphere with Kubernetes.

À l'aide de vSphere Client, les administrateurs vSphere surveillent les volumes persistants et leurs disques virtuels de sauvegarde. Ils peuvent également surveiller la conformité du stockage et les états de santé des volumes persistants.

Espace vSphere

Réclamationde volume persistant

Volumepersistant

Disque virtuelFCD

Classe de stockage

Stratégie de stockage

Cluster superviseur

Stockage vSphere

Regardez cette vidéo pour en savoir plus sur le stockage persistant dans vSphere with Kubernetes.

Stockage persistant dans vSphere 7.0 with Kubernetes(http://link.brightcove.com/services/player/bcpid2296383276001?bctid=ref:video_persistent_storage vs7_kubernetes)

Tâches de gestion du stockage d'un administrateur vSphere

En général, les tâches de gestion du stockage dans vSphere with Kubernetes incluent les éléments suivants. En tant qu'administrateur vSphere, vous utilisez vSphere Client pour effectuer ces tâches.

n Exécuter des opérations de cycle de vie pour les stratégies de stockage de machine virtuelle.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 46

Page 47: Configuration et gestion de vSphere with Kubernetes

Avant d'activer un Cluster superviseur et de configurer des espaces de noms, créez des stratégies de stockage pour les trois types de stockage dont votre environnement Kubernetes a besoin : un stockage éphémère, un stockage d'image de conteneur et un stockage persistant. Les stratégies de stockage sont basées sur les exigences de stockage qui vous sont communiquées par les ingénieurs DevOps. Reportez-vous à la section Créer des stratégies de stockage pour vSphere with Kubernetes.

Note Ne supprimez pas la stratégie de stockage de vCenter Server ou d'un Espace de noms de superviseur lorsqu'une réclamation de volume persistant avec la classe de stockage correspondante est en cours d'exécution dans l'espace de noms. Cette recommandation s'applique également aux clusters Tanzu Kubernetes. Ne supprimez pas la stratégie de stockage si un espace de cluster Tanzu Kubernetes utilise la classe de stockage pour son stockage.

n Fournissez des ressources de stockage aux ingénieurs DevOps en attribuant les stratégies de stockage au Cluster superviseur et à l'espace de noms, et en définissant des limites de stockage. Pour plus d'informations sur la modification des attributions de stratégies de stockage, reportez-vous aux sections Modifier les paramètres de stockage sur le Cluster superviseur et Modifier les paramètres de stockage d'un espace de noms. Pour plus d'informations sur la définition de limites, consultez Configurer des limitations sur des objets Kubernetes sur un espace de noms

n Surveillez les objets Kubernetes et leur conformité à la stratégie de stockage dans vSphere Client. Reportez-vous à la section Surveiller les volumes persistants.

Tâches de gestion du stockage d'un ingénieur DevOps

Dans l'environnement de la vSphere with Kubernetes, l'ingénieur DevOps peut être un développeur Kubernetes et un propriétaire d'application, un administrateur Kubernetes ou combiner des fonctions des deux catégories. En général, l'ingénieur DevOps utilise kubectl pour effectuer les tâches.

n Gérez les fournisseurs de stockage. Reportez-vous à la section Afficher les classes de stockage dans un Espace de noms de superviseur ou un cluster Tanzu Kubernetes.

n Déployer et gérer des applications avec état. Reportez-vous à la section Déployer une application avec état.

n Effectuez des opérations de cycle de vie pour les volumes persistants. Exemple de réclamation de volume persistant Tanzu Kubernetes.

Comment vSphere with Kubernetes s'intègre au stockage vSphere

Le vSphere with Kubernetes utilise plusieurs composants pour s'intégrer au stockage vSphere.

Stockage cloud natif (CNS) sur vCenter Server

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 47

Page 48: Configuration et gestion de vSphere with Kubernetes

Le composant du stockage cloud natif réside dans l'instance de vCenter Server. Il s'agit d'une extension de la gestion de vCenter Server qui met en œuvre le provisionnement et les opérations de cycle de vie pour les volumes persistants.

Lors du provisionnement de volumes de conteneurs, ce composant interagit avec la fonctionnalité Disques de première classe de vSphere pour créer des disques virtuels qui sauvegardent les volumes. En outre, le composant du serveur de stockage cloud natif communique avec la gestion basée sur des stratégies de stockage pour garantir un niveau de service approprié pour les disques.

Le stockage cloud natif exécute également des opérations de requête qui permettent aux administrateurs vSphere de gérer et de surveiller les volumes persistants et leurs objets de stockage de sauvegarde via l'instance de vCenter Server.

Disque de première classe (FCD)

Également appelé disque virtuel amélioré. Il s'agit d'un disque virtuel nommé qui n'est pas associé à une machine virtuelle. Ces disques résident sur une banque de données VMFS, NFS ou vSAN et sauvegardent des volumes persistants ReadWriteOnce.

La technologie FCD effectue des opérations de cycle de vie liées à des volumes persistants en dehors du cycle de vie d'une machine virtuelle ou d'un espace.

Gestion basée sur des stratégies de stockage (SPBM, Storage Policy Based Management)

La gestion basée sur des stratégies de stockage est un service de vCenter Server qui prend en charge le provisionnement de volumes persistants et de leurs disques virtuels de sauvegarde en fonction des exigences de stockage décrites dans une stratégie de stockage. Après le provisionnement, le service surveille la conformité du volume avec les caractéristiques de stratégie de stockage.

vSphere CNS-CSI

Le composant vSphere CNS-CSI est conforme à la spécification CSI (Container Storage Interface), une norme du secteur conçue pour fournir une interface que les orchestrateurs de conteneurs comme Kubernetes peuvent utiliser pour provisionner le stockage persistant. Le pilote CNS-CSI s'exécute dans le Cluster superviseur et connecte le stockage vSphere à l'environnement Kubernetes sur un Espace de noms de superviseur. Le pilote vSphere CNS-CSI communique directement avec le plan de contrôle du stockage cloud natif pour toutes les demandes de provisionnement de stockage provenant de Espace vSphere et d'espaces qui s'exécutent dans un cluster Tanzu Kubernetes sur l'espace de noms.

CSI paravirtuel (pvCSI)

pvCSI est la version du pilote vSphere CNS-CSI modifiée pour les clusters Tanzu Kubernetes. pvCSI réside dans le cluster Tanzu Kubernetes et est responsable de toutes les demandes liées au stockage provenant du cluster Tanzu Kubernetes. Les demandes sont transmises au CNS-CSI, qui les propage ensuite dans vCenter Server. Par conséquent, pvCSI ne dispose pas d'une communication directe avec le composant CNS, mais s'appuie plutôt sur CNS-CSI pour toutes les opérations de provisionnement du stockage.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 48

Page 49: Configuration et gestion de vSphere with Kubernetes

Contrairement à CNS-CSI, pvCSI ne nécessite pas d'informations d'identification d'infrastructure. Il est configuré avec un compte de service dans l'Espace de noms de superviseur.

Espaces de noms d'utilisateur

Cluster Tanzu Kubernetes

Volumespersistants

pvCSI

Espace vSphere

Classe de stockageKubernetes

Cluster superviseur CNS-CSI

CNS

vCenter Server Stratégie SPBM

Disques virtuelsFCD

ESXi ESXi ESXi

vSAN/VMFS/NFSBanques de données

Les éléments suivants illustrent le mode d'interaction des différents composants lorsqu'un ingénieur DevOps effectue une opération liée au stockage au sein du cluster Tanzu Kubernetes. Par exemple, lorsqu'il crée une réclamation de volume persistant (PVC).

L'ingénieur DevOps crée un PVC à l'aide de la ligne de commande sur le cluster Tanzu Kubernetes. Cette action génère un PVC correspondant sur le cluster superviseur et déclenche CNS-CSI. CNS-CSI appelle l'API de création de volumes de CNS.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 49

Page 50: Configuration et gestion de vSphere with Kubernetes

Cluster superviseur vSphereClusterTanzu Kubernetes

Réclamationde volumepersistant

pvCSI

Réclamationde volumepersistant

CNS-CSI

Volume

CNS

Après la création réussie d'un volume, l'opération se propage de nouveau au cluster superviseur vers le cluster Tanzu Kubernetes. Suite à cette propagation, les utilisateurs peuvent voir le volume persistant et la réclamation de volume persistant dans l'état lié du cluster superviseur Ils voient également le volume persistant et la réclamation de volume persistant dans l'état lié du cluster Tanzu Kubernetes.

Fonctionnalité prise en charge par vSphere CNS-CSI et le CSI paravirtuel

Le pilote vSphere CNS-CSI qui s'exécute dans le Cluster superviseur et le pilote pvCSI (la version de CSI modifiée pour les clusters Tanzu Kubernetes) prend en charge de nombreuses fonctionnalités de stockage vSphere et Kubernetes. Cependant, certaines limitations s'appliquent.

Fonctionnalités prises en chargevSphere CNS-CSI avec Cluster superviseur

pvCSI avec un cluster Tanzu Kubernetes

Prise en charge du stockage cloud natif dans vSphere Client

Oui Oui

Amélioration de la santé des objets dans vSphere Client

Oui (vSAN uniquement) Oui (vSAN uniquement)

Volume persistant de bloc dynamique (mode d'accès ReadWriteOnce)

Oui Oui

Volume persistant de fichier dynamique (mode d'accès ReadWriteMany)

Non Non

Banque de données vSphere VMFS/NFS/vSAN VMFS/NFS/vSAN

Volume persistant statique Non Oui

Chiffrement Non Non

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 50

Page 51: Configuration et gestion de vSphere with Kubernetes

Fonctionnalités prises en chargevSphere CNS-CSI avec Cluster superviseur

pvCSI avec un cluster Tanzu Kubernetes

Augmentation du volume hors ligne Non Non

Topologie du volume et zones Non Non

Instances multiples du plan de contrôle Kubernetes

Oui Oui

WaitForConsumerFirst Non Non

Autorisations de stockage dans vSphere with Kubernetes

vSphere with Kubernetes fournit un exemple de rôle, gestionnaire de stockage de charge de travail, qui inclut un ensemble de privilèges pour les opérations de stockage. Vous pouvez cloner ce rôle pour créer un rôle similaire.

Nom de privilège Description Requis sur

Stockage cloud natif.Peut être recherché

Permet à l'administrateur de stockage d'afficher l'interface utilisateur du stockage cloud natif.

Compte racine de vCenter Server

Banque de données.Allouer de l'espaceBanque de données.Opérations de fichier de niveau inférieur

Permet l'allocation d'espace sur une banque de données pour une machine virtuelle, un snapshot, un clone ou un disque virtuel.

Permet l'exécution d'opérations de lecture, d'écriture, de suppression et de changement de nom dans le navigateur de la banque de données.

Banque de données partagée sur laquelle résident des volumes permanents

ESX Agent Manager.Modifier Permet d'apporter des modifications à une machine virtuelle d'agent telles que la mise hors tension ou la suppression de la machine virtuelle.

Espace vSphere

Ressource.Attribuer une machine virtuelle au pool de ressources

Permet d'attribuer une machine virtuelle à un pool de ressources.

Pools de ressources

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 51

Page 52: Configuration et gestion de vSphere with Kubernetes

Nom de privilège Description Requis sur

Stockage basé sur le profil.Vue du stockage basé sur le profil

Permet d'afficher les stratégies de stockage définies.

Compte racine de vCenter Server

Machine virtuelle.Modifier la configuration.Ajouter un disque existantMachine virtuelle.Modifier la configuration.Ajouter un nouveau disque

Machine virtuelle.Modifier la configuration.Ajouter ou supprimer un périphérique

Machine virtuelle.Modifier la configuration.Modifier les paramètres

Machine virtuelle.Modifier la configuration.Supprimer un disque

Machine virtuelle.Modifier l'inventaire.Créer nouveau

Machine virtuelle.Modifier l'inventaire.Supprimer

Permet la création et la suppression de machines virtuelles. Permet la configuration des options et des périphériques de machine virtuelle.

Espace vSphere

Authentification pour vSphere with Kubernetes

En tant qu'administrateur vSphere, vous avez besoin de privilèges pour configurer un Cluster superviseur et gérer des espaces de noms. Vous devez définir les autorisations pour les espaces de noms afin de déterminer les ingénieurs DevOps autorisés à y accéder. En tant qu'ingénieur DevOps, vous vous authentifiez avec le Cluster superviseur à l'aide de vos informations d'identification vCenter Single Sign-On. Vous pouvez accéder uniquement aux espaces de noms pour lesquels vous disposez d'autorisations.

Autorisations pour les administrateurs vSphere

En tant qu'administrateur vSphere, vous avez besoin d'autorisations sur les clusters vSphere afin de les configurer comme des Cluster superviseur et de créer et gérer des espaces de noms. Vous devez disposer d'au moins un des privilèges suivants associés à votre compte d'utilisateur sur un cluster vSphere :

n Modifiez la configuration de l'espace de noms. Vous permet de créer et de configurer des espaces de noms sur un Cluster superviseur.

n Modifiez la configuration à l'échelle du cluster. Vous permet de configurer un cluster vSphere en tant que Cluster superviseur.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 52

Page 53: Configuration et gestion de vSphere with Kubernetes

Définition des autorisations pour les ingénieurs DevOps

En tant qu'administrateur vSphere, vous attribuez des autorisations en lecture seule ou en écriture aux comptes d'utilisateur au niveau de l'espace de noms. Les comptes d'utilisateur doivent être disponibles dans une source d'identité connectée à vCenter Single Sign-On. Un compte d'utilisateur peut accéder à plusieurs espaces de noms. Les utilisateurs qui sont membres des groupes d'administrateurs ont accès à tous les espaces de noms sur le Cluster superviseur.

Après avoir configuré un espace de noms avec ses autorisations, ses quotas de ressources et son stockage, vous devez fournir l'URL du plan de contrôle Kubernetes aux ingénieurs DevOps, qui peuvent l'utiliser pour se connecter au plan de contrôle. Une fois connectés, les ingénieurs DevOps peuvent accéder à tous les espaces de noms pour lesquels ils disposent d'autorisations sur tous les Cluster superviseur appartenant à un système vCenter Server. Lorsque les systèmes vCenter Server sont en mode Enhanced Linked Mode, les ingénieurs DevOps peuvent accéder à tous les espaces de noms pour lesquels ils disposent d'autorisations sur tous les Cluster superviseur disponibles dans le groupe Linked Mode. L'adresse IP du plan de contrôle Kubernetes est une adresse IP virtuelle générée par NSX-T pour servir de point d'accès au plan de contrôle Kubernetes sur le plan de contrôle.

Authentification auprès du Cluster superviseur

En tant qu'ingénieur DevOps, vous utilisez Outils de l'interface de ligne de commande Kubernetes pour vSphere pour vous authentifier auprès du Cluster superviseur à l'aide de vos informations d'identification vCenter Single Sign-On et de l'adresse IP du plan de contrôle Kubernetes. Pour plus d'informations, consultez Se connecter à Cluster superviseur en tant qu'utilisateur vCenter Single Sign-On.

Lors de votre connexion au Cluster superviseur, un proxy d'authentification redirige la demande vers vCenter Single Sign-On. Le plug-in vSphere kubectl établit une session avec vCenter Server et obtient un jeton d'authentification de vCenter Single Sign-On. Il extrait également une liste d'espaces de noms auxquels vous avez accès et remplit la configuration avec ces espaces de noms. La liste des espaces de noms est mise à jour lors de la prochaine connexion, en cas de modification des autorisations de votre compte d'utilisateur.

Note La session sur kubectl dure 10 heures. Après l'expiration de la session, vous devez vous authentifier à nouveau avec le Cluster superviseur. Lors de la déconnexion, le jeton est supprimé du fichier de configuration de votre compte d'utilisateur, mais reste valide jusqu'à la fin de la session.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 53

Page 54: Configuration et gestion de vSphere with Kubernetes

Authentification avec les clusters Tanzu Kubernetes

Les utilisateurs du cluster Tanzu Kubernetes, notamment les ingénieurs DevOps, les développeurs et les administrateurs, peuvent s'authentifier avec un cluster de différentes manières. Pour plus d'informations, consultez Authentification avec les clusters Tanzu Kubernetes.

Note Les clusters Tanzu Kubernetes requièrent que les comptes d'utilisateur et système disposent d'une stratégie de sécurité d'espace pour déployer des espaces et des ressources dans un cluster. Pour plus d'informations, consultez Utilisation des stratégies de sécurité de l'espace avec les clusters Tanzu Kubernetes.

Authentification avec les clusters Tanzu Kubernetes

Vous pouvez vous authentifier avec l'environnement du cluster Tanzu Kubernetes de différentes manières en fonction de votre rôle et de vos besoins.

Les ingénieurs DevOps provisionnent et utilisent des clusters Tanzu Kubernetes. Les développeurs déploient des charges de travail sur des clusters Tanzu Kubernetes. Les administrateurs peuvent avoir besoin de dépanner des clusters Tanzu Kubernetes. vSphere with Kubernetes fournit des méthodes d'authentification afin de prendre en charge chaque rôle ou objectif.

n Les ingénieurs DevOps se connectent au Cluster superviseur pour provisionner et mettre à jour des clusters Tanzu Kubernetes. L'authentification est effectuée à l'aide des informations d'identification Plug-in vSphere pour kubectl et vCenter Single Sign-On. Reportez-vous à la section Se connecter à Cluster superviseur en tant qu'utilisateur vCenter Single Sign-On.

n Les administrateurs de cluster se connectent à un cluster Tanzu Kubernetes provisionné pour l'utiliser et le gérer.

n Le rôle de cluster-admin est attribué à un utilisateur disposant de l'autorisation Modification sur l'Espace de noms de superviseur sur lequel le cluster est déployé. Les administrateurs de cluster s'authentifient à l'aide de Plug-in vSphere pour kubectl et de ses informations d'identification vCenter Single Sign-On. Reportez-vous à la section Se connecter à un cluster Tanzu Kubernetes en tant qu'utilisateur vCenter Single Sign-On.

n Les administrateurs de cluster peuvent également se connecter à un cluster Tanzu Kubernetes en tant qu'utilisateur kubernetes-admin. Cette méthode peut être appropriée si l'authentification vCenter Single Sign-On n'est pas disponible. Reportez-vous à la section Se connecter au Tanzu Kubernetes plan de contrôle de cluster en tant qu'administrateur Kubernetes.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 54

Page 55: Configuration et gestion de vSphere with Kubernetes

n Les utilisateurs ou les développeurs de cluster se connectent à un cluster Tanzu Kubernetes pour déployer des charges de travail, notamment des espaces, des services, des équilibrages de charge et d'autres ressources.

n Un administrateur de cluster accorde l'accès aux clusters aux développeurs en liant l'utilisateur ou le groupe à la stratégie de sécurité de l'espace personnalisée ou par défaut. Pour plus d'informations, consultez Accorder aux développeurs l'accès aux clusters Tanzu Kubernetes.

n Les développeurs liés s'authentifient avec les clusters Tanzu Kubernetes à l'aide de Plug-in vSphere pour kubectl et de leurs informations d'identification vCenter Single Sign-On. Reportez-vous à la section Se connecter à un cluster Tanzu Kubernetes en tant qu'utilisateur vCenter Single Sign-On.

n À des fins de dépannage, les administrateurs système peuvent se connecter à un cluster Tanzu Kubernetes en tant qu'utilisateur vmware-system-user à l'aide de l'une des méthodes suivantes :

n À l'aide de SSH et d'une clé privée. Reportez-vous à la section Connectez-vous par SSH aux nœuds de cluster Tanzu Kubernetes en tant qu'utilisateur système.

n À l'aide de SSH et d'un mot de passe. Reportez-vous à la section Se connecter à un nœud de cluster en tant qu'utilisateur système avec un mot de passe.

n À l'aide de vSphere Client et en accédant à la console de la machine virtuelle. Reportez-vous à la section Se connecter à un nœud de cluster en tant qu'utilisateur système avec un mot de passe.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 55

Page 56: Configuration et gestion de vSphere with Kubernetes

Configuration d'un Cluster superviseur 4En tant qu'administrateur vSphere, vous pouvez activer les clusters vSphere pour les charges de travail Kubernetes en les configurant en tant que Cluster superviseur. Configurez le stockage via des stratégies de stockage pour gérer les données de conteneur et les disques des machines virtuelles du plan de contrôle Kubernetes. Configurez également la mise en réseau avec NSX-T pour fournir la connectivité aux Espace vSphere et aux clusters Kubernetes créés via Service VMware Tanzu™ Kubernetes Grid™. Une fois que vous avez configuré les stratégies de stockage et la mise en réseau, configurez un cluster vSphere en tant que Cluster superviseur

Ce chapitre contient les rubriques suivantes :

n Configuration système requise et topologies de vSphere with Kubernetes

n Créer des stratégies de stockage pour vSphere with Kubernetes

n Configurer la vSphere with Kubernetes pour utiliser NSX-T Data Center

n Meilleures pratiques de configuration de vSphere with Kubernetes

n Modifier les paramètres de stockage sur le Cluster superviseur

n Modifier le certificat de point de terminaison de l'API Kubernetes

Configuration système requise et topologies de vSphere with Kubernetes

Pour configurer l'instance de vSphere with Kubernetes d'un cluster vSphere, votre environnement doit répondre à des exigences spécifiques en matière d'infrastructure, de mise en réseau et de stockage.

Limites de configuration maximales pour les clusters vSphere with Kubernetes

VMware fournit des limites de configuration dans l'outil Valeurs maximales de configuration VMware.

Pour les limites de configuration spécifiques à vSphere with Kubernetes, notamment le Cluster superviseur et les clusters Tanzu Kubernetes, sélectionnez vSphere > vSphere 7.0 > vSphere with Kubernetes > VMware Tanzu Kubernetes Grid service for vSphere et cliquez sur Afficher les limites ou accédez à ce lien.

VMware, Inc. 56

Page 57: Configuration et gestion de vSphere with Kubernetes

Topologie d'un cluster de gestion, Edge et de domaine de la charge de travail

Vous pouvez déployer vSphere with Kubernetes avec des fonctions combinées de gestion, Edge et de gestion de la charge de travail sur un cluster vSphere unique.

Figure 4-1. Cluster de gestion, Edge et de gestion de la charge de travail

Réseau externe

ESXi

vCenter Server

NSX Manager

ESXi

Cluster de gestion, Edge et de gestion decharge de travail

(Cluster superviseur)

ClusterEdge NSX

vSphereDistributed

Switch

Nœud Edge NSX VM1

Sortie Entrée

Nœud Edge NSX VM2

ESXi

VM 1 du plan de contrôle Kubernetes

Espace de

Espace de noms 2 -Cluster Tanzu Kubernetes

Nœud de plan de contrôle

Espace 1

Nœud worker 1

Espace 2

Nœud worker 2

Espace 1vSphere

Espace 2vSphere

VM 2 du plande contrôle Kubernetes

VM 2 du plande contrôle Kubernetes

noms1

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 57

Page 58: Configuration et gestion de vSphere with Kubernetes

Tableau 4-1. Conditions requises minimales de calcul pour le cluster de gestion, Edge et de gestion de la charge de travail

Système

Taille de déploiement minimale CPU Mémoire Stockage

vCenter Server 7.0 Petite 2 16 Go 290 Go

Hôtes ESXi 7.0 3 hôtes ESXi avec 1 adresse IP statique par hôte.

4 hôtes ESXi pour vSAN avec au moins 2 cartes réseau physiques.

Les hôtes doivent être joints dans un cluster sur lequel vSphere DRS et HA sont activés. vSphere DRS doit être en mode Entièrement automatisé ou Partiellement automatisé.

8 64 Go par hôte Non applicable

NSX Manager Moyen 6 24 Go 300 Go

NSX Edge 1 Grande 8 32 Go 200 Go

NSX Edge 2 Grande 8 32 Go 200 Go

Machines virtuelles de plan de contrôle Kubernetes

3 4 16 Go 16 Go

Topologie avec cluster de gestion et Edge, et cluster de gestion de la charge de travail distincts

Vous pouvez déployer des vSphere with Kubernetes dans deux clusters, un cluster pour les fonctions de gestion et Edge, et un autre dédié à la gestion de la charge de travail,

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 58

Page 59: Configuration et gestion de vSphere with Kubernetes

Figure 4-2. Cluster de gestion et Edge, et cluster de gestion de la charge de travail

Réseau externe

ESXi

vCenter Server

NSX Manager

ESXi

Cluster de gestion et Edge

Cluster Edge NSX

vSphere Distributed Switch

Nœud Edge NSX VM1

Sortie Entrée

Nœud Edge NSX VM2

ESXi ESXi

VM 1 du plan de contrôle Kubernetes

Espace de

ESXi

Cluster de gestion de la charge de travail(Cluster superviseur)

Espace de noms 2 -Cluster Tanzu Kubernetes

Nœud de plan de contrôle

Espace 1

Nœud Worker 1

Espace 2

Nœud Worker 2

ESXi

Espace 1 vSphere

Espace 2 vSphere

VM 2 du plan de contrôle Kubernetes

VM 2 du plan de contrôle Kubernetes

noms1

Tableau 4-2. Conditions requises minimales de calcul pour le cluster de gestion et Edge

Système

Taille de déploiement minimale CPU Mémoire Stockage

vCenter Server 7.0 Petite 2 16 Go 290 Go

Hôtes ESXi 7.0 2 hôtes ESXi 8 64 Go par hôte Non applicable

NSX Manager Moyen 6 24 Go 300 Go

NSX Edge 1 Grande 8 32 Go 200 Go

NSX Edge 2 Grande 8 32 Go 200 Go

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 59

Page 60: Configuration et gestion de vSphere with Kubernetes

Tableau 4-3. Conditions requises minimales de calcul pour le cluster de gestion de la charge de travail

Système

Taille de déploiement minimale CPU Mémoire Stockage

vCenter Server 7.0 Petite 2 16 Go 290 Go

Hôtes ESXi 7.0 3 hôtes ESXi avec 1 adresse IP statique par hôte.

4 hôtes ESXi pour vSAN disposant d'au moins 2 cartes réseau physiques

Les hôtes doivent être joints dans un cluster sur lequel vSphere DRS et HA sont activés. vSphere DRS doit être en mode entièrement automatisé.

8 64 Go par hôte Non applicable

Machines virtuelles de plan de contrôle Kubernetes

3 4 16 Go 16 Go

Spécifications réseau

Quelle que soit la topologie que vous mettez en œuvre pour la gestion de la charge de travail Kubernetes dans vSphere, votre déploiement doit répondre aux exigences de mise en réseau suivantes :

Composant Quantité minimale Configuration requise

Adresses IP statiques pour les machines virtuelles du plan de contrôle Kubernetes

Bloc de 5 Bloc de 5 adresses IP statiques consécutives à attribuer aux machines virtuelles du plan de contrôle Kubernetes dans le Cluster superviseur.

Réseau de gestion du trafic 1 Réseau de gestion routable vers les hôtes ESXi, l'instance de vCenter Server et le serveur DHCP. Le réseau doit pouvoir accéder à un registre de conteneur et disposer d'une connectivité Internet si le registre de conteneur se trouve sur le réseau externe. Le registre de conteneur doit pouvoir être résolu via DNS et le paramètre de sortie décrit ci-dessous doit pouvoir l'atteindre.

Serveur NTP et DNS 1 Serveur DNS et serveur NTP pouvant être utilisés pour l'instance de vCenter Server.

Note Configurez NTP sur tous les hôtes ESXi, les systèmes vCenter Server et les instances de NSX Manager.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 60

Page 61: Configuration et gestion de vSphere with Kubernetes

Composant Quantité minimale Configuration requise

Registre d'images Accès à un registre pour le service.

Sous-réseau du réseau de gestion 1 Le sous-réseau utilisé pour le trafic de gestion entre les hôtes ESXi et vCenter Server, les dispositifs NSX et le plan de contrôle Kubernetes. La taille du sous-réseau doit être la suivante :

n Une adresse IP par adaptateur VMkernel hôte.

n Une adresse IP du dispositif vCenter Server Appliance.

n Une ou quatre adresses IP pour NSX Manager. Quatre lors de l'exécution du clustering de NSX Manager de 3 nœuds et d'une adresse IP virtuelle (VIP).

n 5 adresses IP pour le plan de contrôle Kubernetes. 1 pour chacun des 3 nœuds, 1 pour l'adresse IP virtuelle, 1 pour le déploiement de la mise à niveau du cluster.

VLAN du réseau de gestion 1 ID de VLAN du sous-réseau du réseau de gestion.

VLAN 3 Ces adresses IP de VLAN sont les adresses IP des points de terminaison de tunnel (TEP). Le TEP de l'hôte ESXi et les TEP Edge doivent être routables.

Les adresses IP de VLAN sont requises pour les éléments suivants :

n VTEP d'hôte ESXi

n VTEP Edge utilisant l'adresse IP statique

n Passerelle de niveau 0 et liaison montante pour le nœud de transport.

Les hôtes ESXi et les nœuds NSX-T Edge servent de points de terminaison de tunnel et une adresse IP de point de terminaison de tunnel (TEP) est attribuée à chaque hôte et à chaque nœud Edge.

Comme les adresses IP des TEP pour les hôtes ESXi créent un tunnel de superposition avec des adresses IP de TEP sur les nœuds Edge, les adresses IP de VLAN doivent être routables.

Un VLAN supplémentaire est requis pour fournir une connectivité Nord-Sud à la passerelle de niveau 0.

Les pools d'adresses IP peuvent être partagés entre clusters. Cependant, le pool d'adresses IP de superposition d'hôte/VLAN ne doit pas être partagé avec le pool d'adresses IP/VLAN de superposition Edge.

Note Si les TEP hôtes et les TEP Edge utilisent des cartes réseau physiques différentes, ils peuvent utiliser le même VLAN.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 61

Page 62: Configuration et gestion de vSphere with Kubernetes

Composant Quantité minimale Configuration requise

Adresse IP de liaison montante de niveau 0

Adresses IP privées /24

Sous-réseau IP utilisé pour la liaison montante de niveau 0. Les conditions requises pour l'adresse IP de la liaison montante de niveau 0 sont les suivantes :

n 1 adresse IP, si vous n'utilisez pas de redondance Edge.

n 4 adresses IP, si vous utilisez BGP et une redondance Edge, 2 adresses IP par dispositif Edge.

n 3 adresses IP, si vous utilisez des routes statiques et une redondance Edge.

L'adresse IP, le sous-réseau et la passerelle de la gestion Edge, l'adresse IP, le sous-réseau et la passerelle de liaison montante doivent être uniques.

MTU de réseau physique 1 600 La taille de MTU doit être 1 600 ou une valeur supérieure sur n'importe quel réseau transportant du trafic de superposition.

Plage CIDR de l'Espace vSphere Adresses IP privées /24

Plage CIDR privée qui fournit les adresses IP des Espace vSphere. Ces adresses sont également utilisées pour les nœuds de cluster Tanzu Kubernetes.

Vous devez spécifier une plage CIDR unique d'Espace vSphere pour chaque cluster.

Note La plage CIDR d'Espace vSphere et la plage CIDR des adresses de service Kubernetes ne doivent pas se chevaucher.

Plage CIDR des services Kubernetes Adresses IP privées /16

Plage CIDR privée pour attribuer des adresses IP aux services Kubernetes. Vous devez spécifier une plage CIDR de services Kubernetes unique pour chaque Cluster superviseur.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 62

Page 63: Configuration et gestion de vSphere with Kubernetes

Composant Quantité minimale Configuration requise

Plage CIDR de sortie Adresses IP statiques /27

Annotation CIDR privée pour déterminer l'adresse IP de sortie des services Kubernetes. Une seule adresse IP de sortie est attribuée à chaque espace de noms dans le Cluster superviseur. L'adresse IP de sortie est l'adresse que les entités externes utilisent pour communiquer avec les services dans l'espace de noms. Le nombre d'adresses IP de sortie limite le nombre de stratégies de sortie dont peut disposer le Cluster superviseur.

La valeur minimale est un CIDR d'au moins/27. Par exemple, 10.174.4.96/27

Note Les adresses IP de sortie et les adresses IP d'entrée ne doivent pas chevaucher.

CIDR d'entrée Adresses IP statiques /27

Plage CIDR privée à utiliser pour les adresses IP d'entrée. L'entrée vous permet appliquer des stratégies de trafic aux demandes entrant dans le Cluster superviseur en provenance de réseaux externes. Le nombre d'adresses IP d'entrée limite le nombre d'entrées dont dispose le cluster.

La valeur minimale est un CIDR d'au moins/27.

Note Les adresses IP de sortie et les adresses IP d'entrée ne doivent pas chevaucher.

Créer des stratégies de stockage pour vSphere with Kubernetes

Avant d'activer vSphere with Kubernetes, créez des stratégies de stockage à utiliser dans le Cluster superviseur et les espaces de noms. Les stratégies représentent les banques de données disponibles dans l'environnement vSphere. Ils contrôlent le placement du stockage d'objets tels que les machines virtuelles du plan de contrôle, les disques éphémères d'espace, les images de conteneur et les volumes de stockage persistant. Si vous utilisez Service VMware Tanzu™ Kubernetes Grid™, les stratégies de stockage déterminent également la façon dont les nœuds de cluster Tanzu Kubernetes sont déployés.

En fonction de votre environnement de stockage vSphere et des besoins de DevOps, vous pouvez créer plusieurs stratégies de stockage pour représenter différentes classes de stockage. Par exemple, si votre environnement de stockage vSphere dispose de trois classes de banques de données, Bronze, Silver et Gold, vous pouvez créer des stratégies de stockage pour toutes les banques de données. Vous pouvez ensuite utiliser la banque de données Bronze pour les disques virtuels éphémères et d'image de conteneur, et utiliser les banques de données Silver et Gold pour les disques virtuels de volumes persistants. Pour plus d'informations sur les stratégies de stockage, reportez-vous au chapitre Gestion basée sur les stratégies de stockage dans la documentation Stockage vSphere.

L'exemple suivant crée la stratégie de stockage pour la banque de données marquée Gold.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 63

Page 64: Configuration et gestion de vSphere with Kubernetes

Conditions préalables

n Assurez-vous que la banque de données que vous référencez dans la stratégie de stockage est partagée entre tous les hôtes ESXi du cluster.

n Privilèges nécessaires : Stratégies de stockage VM. Mettre à jour et Stratégies de stockage VM. Afficher.

Procédure

1 Ajoutez des balises à la banque de données.

a Cliquez avec le bouton droit sur la banque de données à baliser et sélectionnez Balises et attributs personnalisés > Attribuer une balise.

b Cliquez sur Ajouter une balise et spécifiez les propriétés de la balise.

Propriété Description

Nom Spécifiez le nom de la balise de banque de données, par exemple Gold.

Description Obtenez la description de la balise. Par exemple, Banque de données pour des objets Kubernetes.

Catégorie Sélectionnez une catégorie existante ou créez une catégorie. Par exemple, Stockage pour Kubernetes.

2 Dans vSphere Client, ouvrez l'assistant Créer une stratégie de stockage de machine

virtuelle.

a Cliquez sur Menu > Stratégies et profils.

b Sous Stratégies et profils, cliquez sur Stratégies de stockage VM.

c Cliquez sur Créer une stratégie de stockage de machine virtuelle.

3 Entrez le nom et une description de la stratégie.

Option Action

vCenter Server Sélectionnez l'instance de vCenter Server.

Nom Entrez le nom de la stratégie de stockage (par exemple, Stratégie de stockage Gold).

Description Entrez la description de la stratégie de stockage.

4 Sur la page Structure de la stratégie sous Règles spécifiques à une base de données,

activez les règles de placement basé sur des balises.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 64

Page 65: Configuration et gestion de vSphere with Kubernetes

5 Sur la page Placement basé sur une balise, créez les règles de balise.

Sélectionnez les options en utilisant l'exemple suivant.

Option Description

Catégorie de balise Dans le menu déroulant, sélectionnez la catégorie de la balise, telle que Stockage pour Kubernetes.

Option d'utilisation Sélectionnez Utiliser le stockage marqué avec des balises.

Balises Cliquez sur Parcourir les balises, puis sélectionnez la balise de banque de données, par exemple Gold.

6 Sur la page Compatibilité de stockage, vérifiez la liste des banques de données qui

correspondent à cette stratégie.

Dans cet exemple, seule la banque de données marquée Gold s'affiche.

7 Sur la page Vérifier et terminer, vérifiez les paramètres de la stratégie de stockage, puis cliquez sur Terminer.

Résultats

La nouvelle stratégie de stockage de la banque de données marquée Gold figure dans la liste des stratégies de stockage existantes.

Étape suivante

Après la création de stratégies de stockage, un administrateur vSphere peut effectuer les tâches suivantes :

n Attribuer les stratégies de stockage au Cluster superviseur. Les stratégies de stockage configurées sur le Cluster superviseur garantissent que les machines virtuelles du plan de contrôle, les disques éphémères de l'espace et les images de conteneur sont placés sur les banques de données représentées par les stratégies . Reportez-vous à la section Activer vSphere with Kubernetes sur un cluster avec NSX-T Data Center.

n Attribuer les stratégies de stockage au Espace de noms de superviseur. Les stratégies de stockage visibles pour l'espace de noms déterminent les banques de données auxquelles l'espace de noms peut accéder et qu'il peut utiliser pour les volumes persistants. Les stratégies de stockage s'affichent comme des classes de stockage Kubernetes correspondantes dans l'espace de noms. Elles sont également propagées vers le cluster Tanzu Kubernetes sur cet espace de noms. Les ingénieurs DevOps peuvent utiliser les classes de stockage dans leurs spécifications de réclamation de volume persistant. Reportez-vous à la section Créer et configurer un Espace de noms de superviseur.

Configurer la vSphere with Kubernetes pour utiliser NSX-T Data Center

La vSphere with Kubernetes nécessite une configuration de mise en réseau spécifique pour activer la connectivité aux Cluster superviseur, aux Espace de noms de superviseur et à tous les

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 65

Page 66: Configuration et gestion de vSphere with Kubernetes

objets qui s'exécutent dans les espaces de noms, tels que les Espace vSphere et les clusters Tanzu Kubernetes. En tant qu'administrateur vSphere, installez et configurez NSX-T Data Center pour la vSphere with Kubernetes.

Le Cluster superviseur utilise une configuration de mise en réseau dogmatique. Il existe deux méthodes pour configurer la mise en réseau du Cluster superviseur qui permettent le déploiement du même modèle de mise en réseau :

n La manière la plus simple de configurer la mise en réseau du Cluster superviseur est d'utiliser le gestionnaire de SDDC de VMware Cloud Foundation. Pour plus d'informations, reportez-vous à la documentation du gestionnaire de SDDC de VMware Cloud Foundation. Pour plus d'informations, consultez la section Utilisation de la gestion de la charge de travail.

n Vous pouvez également configurer la mise en réseau du Cluster superviseur manuellement à l'aide d'un déploiement de NSX-T Data Center existant ou en déployant une nouvelle instance de NSX-T Data Center.

Cette section décrit comment configurer la mise en réseau du Cluster superviseur en déployant une nouvelle instance de NSX-T Data Center, mais les procédures s'appliquent également à un déploiement existant de NSX-T Data Center. Cette section fournit également des détails pour comprendre le fonctionnement du gestionnaire de SDDC de VMware Cloud Foundation lorsqu'il configure le domaine de charge de travail du Cluster superviseur.

Conditions préalables

n Vérifiez que votre environnement répond à la configuration système requise pour configurer un cluster vSphere en tant que Cluster superviseur. Pour plus d'informations sur la configuration requise, reportez-vous à Configuration système requise et topologies de vSphere with Kubernetes.

n Attribuez la licence VMware vSphere 7 Enterprise Plus avec module complémentaire pour Kubernetes à tous les hôtes ESXi qui feront partie du Cluster superviseur.

n Créez des stratégies de stockage pour le placement des machines virtuelles du plan de contrôle, des disques éphémères d'espace et des images de conteneur.

n Configurez le stockage partagé pour le cluster. Le stockage partagé est requis pour vSphere DRS, HA et pour le stockage de volumes persistants pour les conteneurs.

n Vérifiez que DRS et HA sont activés sur le cluster vSphere et que DRS est en mode entièrement automatisé.

n Vérifiez que vous disposez du privilège Modifier la configuration à l'échelle du cluster sur le cluster.

Procédure

1 Créer un vSphere Distributed Switch

Pour gérer la configuration de mise en réseau de tous les hôtes du Cluster superviseur, créez un vSphere Distributed Switch et créez un groupe de ports distribués pour chaque liaison montante de nœud NSX Edge.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 66

Page 67: Configuration et gestion de vSphere with Kubernetes

2 Déployer et configurer NSX Manager

Vous pouvez utiliser vSphere Client pour déployer NSX Manager sur le cluster vSphere et l'utiliser avec la vSphere with Kubernetes.

3 Ajouter une licence

Ajoutez une licence à l'aide de NSX Manager.

4 Ajouter un gestionnaire de calcul

Un gestionnaire de calcul est une application qui gère des ressources, telles que des hôtes et des machines virtuelles.

5 Créer des zones de transport

Les zones de transport indiquent quels hôtes et machines virtuelles peuvent utiliser un réseau particulier. Une zone de transport peut s'étendre sur un ou plusieurs clusters d'hôtes.

6 Créer un profil de liaison montante d'hôte

Un profil de liaison montante d'hôte définit des stratégies pour les liaisons montantes des hôtes ESXi vers des segments NSX-T Data Center.

7 Créer un profil de liaison montante Edge

Un profil de liaison montante définit des stratégies pour les liaisons montantes. Les paramètres définis par les profils de liaison montante peuvent inclure des stratégies d'association, des liaisons actives et en veille, l'ID de VLAN de transport et le paramètre MTU.

8 Créer un pool d'adresses IP pour les adresses IP du point de terminaison de tunnel d'hôte

Vous pouvez utiliser un pool d'adresses IP pour les points de terminaison de tunnel (TEP) d'hôte. Les TEP sont les adresses IP source et de destination utilisées dans l'en-tête IP externe afin d'identifier les hôtes ESXi qui débutent et terminent l'encapsulation NSX-T des trames de superposition. Vous pouvez utiliser DHCP ou configurer manuellement des pools d'adresses IP pour les adresses IP des TEP.

9 Créer un profil de nœud de transport

Un profil de nœud de transport définit la manière dont NSX-T Data Center est installé et configuré sur les hôtes d'un cluster spécifique auquel le profil est associé.

10 Appliquer le profil de nœud de transport au cluster vSphere

Pour installer NSX-T Data Center et préparer les TEP de superposition, appliquez le profil de nœud de transport au cluster vSphere.

11 Configurer et déployer un nœud de transport NSX Edge

Vous pouvez ajouter une machine virtuelle (VM) NSX Edge à l'infrastructure NSX-T Data Center et la configurer ensuite en tant que machine virtuelle de nœud de transport NSX Edge.

12 Créer un cluster NSX Edge

Pour vous assurer qu'au moins un dispositif NSX Edge est toujours disponible, créez un cluster NSX Edge.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 67

Page 68: Configuration et gestion de vSphere with Kubernetes

13 Créer un segment de liaison montante de niveau 0

Le segment de liaison montante de niveau 0 fournit la connectivité Nord-Sud de NSX-T Data Center à l'infrastructure physique.

14 Créer une passerelle de niveau 0

La passerelle de niveau 0 est le routeur logique de NSX-T Data Center qui fournit la connectivité Nord-Sud pour la mise en réseau logique de NSX-T Data Center à l'infrastructure physique. vSphere with Kubernetes prend en charge plusieurs passerelles de niveau 0 sur plusieurs clusters NSX Edge dans la même zone de transport.

15 Activer vSphere with Kubernetes sur un cluster avec NSX-T Data Center

Pour exécuter des charges de travail Kubernetes sur un cluster vSphere, vous devez activer le cluster avec vSphere with Kubernetes. Une fois le cluster activé, la vSphere with Kubernetes crée des nœuds de plan de contrôle Kubernetes sur le cluster et le processus Spherelet sur chaque hôte, ce qui permet d'exécuter des conteneurs en mode natif sur ESXi. Un cluster activé avec vSphere with Kubernetes est appelé Cluster superviseur.

Créer un vSphere Distributed Switch

Pour gérer la configuration de mise en réseau de tous les hôtes du Cluster superviseur, créez un vSphere Distributed Switch et créez un groupe de ports distribués pour chaque liaison montante de nœud NSX Edge.

Procédure

1 Dans vSphere Client, accédez à un centre de données.

2 Dans le navigateur, cliquez avec le bouton droit surle centre de données et sélectionnez Distributed Switch > Nouveau Distributed Switch.

3 Entrez un nom pour le nouveau Distributed Switch.

Par exemple, VSK_VDS.

4 Entrez les informations de configuration requises et cliquez sur Terminer.

5 Cliquez avec le bouton droit sur le Distributed Switch que vous avez créé et sélectionnez Paramètres > Modifier les paramètres.

6 Dans l'onglet Avancé, entrez 1 600 comme valeur MTU (en octets), puis cliquez sur OK.

7 Cliquez avec le bouton droit sur le Distributed Switch et sélectionnez Groupe de ports distribués > Nouveau groupe de ports distribués.

8 Créez un groupe de ports pour la liaison montante NSX Edge.

Par exemple, VSK_EDGE_LEFT_UPLINK.

9 Configurez le Type de VLAN sur Jonction VLAN.

10 Dans le menu Actions, sélectionnez Groupe de ports distribués > Gérer des groupes de ports distribués.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 68

Page 69: Configuration et gestion de vSphere with Kubernetes

11 Sélectionnez Association et basculement et cliquez sur Suivant.

12 Configurez les liaisons montantes actives et en veille.

Par exemple, la liaison montante active est Uplink1 et la liaison montante en veille est Uplink2.

13 Répétez les étapes 7 à 11 pour chaque liaison montante NSX Edge.

Par exemple, créez une deuxième liaison montante NSX Edge avec le nom VSK_EDGE_RIGHT_UPLINK. Configurez la liaison montante active sur Uplink2 et la liaison montante en veille sur Uplink1.

14 (Facultatif) Créez des groupes de ports pour les composants suivants :

n Gestion

n vSphere vMotion

n Stockage partagé

n Trafic de machine virtuelle

Étape suivante

Déployez et configurez NSX Manager. Reportez-vous à Déployer et configurer NSX Manager.

Déployer et configurer NSX Manager

Vous pouvez utiliser vSphere Client pour déployer NSX Manager sur le cluster vSphere et l'utiliser avec la vSphere with Kubernetes.

Suivez les étapes de cette procédure pour déployer NSX Manager à l'aide du fichier OVA.

Pour plus d'informations sur le déploiement de NSX Manager via l'interface utilisateur ou l'interface de ligne de commande, consultez le Guide d'installation de NSX-T Data Center.

Conditions préalables

n Vérifiez que votre environnement répond aux exigences requises pour la mise en réseau. Consultez Configuration système requise et topologies de vSphere with Kubernetes pour plus d'informations.

n Vérifiez que les ports requis sont ouverts. Pour plus d'informations sur le port et les protocoles, reportez-vous à Guide d'installation de NSX-T Data Center.

Procédure

1 Localisez le fichier OVA de NSX-T Data Center sur le portail de téléchargement de VMware.

Copiez l'URL de téléchargement ou téléchargez le fichier OVA.

2 Cliquez avec le bouton droit de la souris et sélectionnez Déployer un modèle OVF pour démarrer l'assistant d'installation.

3 Entrez l'URL de téléchargement du fichier OVA ou accédez au fichier OVA.

4 Entrez un nom pour la machine virtuelle (VM) NSX Manager.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 69

Page 70: Configuration et gestion de vSphere with Kubernetes

5 Sélectionnez le cluster vSphere sur lequel déployer NSX Manager.

6 Sélectionnez la taille du déploiement NSX-T.

La taille de déploiement minimale recommandée est Moyenne.

7 Sélectionnez le stockage partagé pour le déploiement.

8 Activez le provisionnement dynamique en cochant la case Activer le mode disque dynamique.

Par défaut, les disques virtuels font l'objet d'un provisionnement statique.

9 Sélectionnez le groupe de ports ou le réseau de destination pour NSX Manager.

10 Entrez les mots de passe de la racine du système, de l'administrateur de l'interface de ligne de commande et d'audit pour NSX Manager. Vos mots de passe doivent respecter les restrictions de renforcement du mot de passe.

n Au moins 12 caractères.

n Au moins une lettre minuscule.

n Au moins une lettre majuscule.

n Au moins un chiffre.

n Au moins un caractère spécial.

n Au moins cinq caractères différents.

n Les règles de complexité du mot de passe par défaut sont appliquées par le module PAM Linux.

11 Entrez le nom d'hôte de NSX Manager.

12 Acceptez le rôle NSX Manager par défaut pour la machine virtuelle.

13 Entrez la passerelle IPv4 par défaut, le réseau de gestion IPv4, le masque de réseau de gestion, le serveur DNS, la liste de recherche de domaines et l'adresse IP du serveur NTP.

14 Activez SSH et autorisez la connexion SSH racine à la ligne de commande de NSX Manager.

Par défaut, les options SSH sont désactivées pour des raisons de sécurité.

15 Vérifiez que votre spécification de modèle OVF personnalisé est exacte et cliquez sur Terminer pour lancer l'installation.

16 Après le démarrage de NSX Manager, connectez-vous à l'interface de ligne de commande en tant qu'administrateur et exécutez la commande get interface eth0 pour vérifier que l'adresse IP a été appliquée comme prévu.

17 Entrez la commande get services pour vérifier que tous les services sont en cours d'exécution.

Ajouter une licence

Ajoutez une licence à l'aide de NSX Manager.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 70

Page 71: Configuration et gestion de vSphere with Kubernetes

Conditions préalables

Procurez-vous une licence NSX-T Data Center Advanced ou supérieure.

Procédure

1 Connectez-vous à NSX Manager.

2 Sélectionnez Système > Licences > Ajouter.

3 Entrez la clé de licence.

4 Cliquez sur Ajouter.

Ajouter un gestionnaire de calcul

Un gestionnaire de calcul est une application qui gère des ressources, telles que des hôtes et des machines virtuelles.

Procédure

1 Connectez-vous à NSX Manager.

2 Sélectionnez Système > Infrastructure > Gestionnaires de calcul > Ajouter

3 Entrez les détails du gestionnaire de calcul.

Option Description

Nom et description Entrez le nom et la description de l'instance de vCenter Server.

Nom de domaine complet ou adresse IP

Entrez le nom de domaine complet ou l'adresse IP de l'instance de vCenter Server.

Nom d'utilisateur et mot de passe Entrez les informations d'identification de connexion de vCenter Server.

4 Sélectionnez Faire confiance pour autoriser vCenter Server à communiquer avec NSX-T Data

Center.

5 Cliquez sur Ajouter.

Résultats

Après un certain temps, le gestionnaire de calcul est enregistré avec vCenter Server et l'état de la connexion passe à Actif. Si le nom de domaine complet/PNID du vCenter Server change, vous devez l'enregistrer à nouveau avec le NSX Manager. Pour plus d'informations, consultez Enregistrez vCenter Server avec NSX Manager.

Note Après l'enregistrement de l'instance de vCenter Server, ne procédez pas à la mise hors tension et à la suppression de la machine virtuelle NSX Manager sans supprimer d'abord le gestionnaire de calcul. Dans le cas contraire, lorsque vous déployez un nouveau dispositif NSX Manager, vous ne pourrez plus enregistrer la même instance de vCenter Server. Vous obtiendrez une erreur indiquant que l'instance de vCenter Server est déjà enregistrée avec un autre dispositif NSX Manager.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 71

Page 72: Configuration et gestion de vSphere with Kubernetes

Vous pouvez cliquer sur le nom du gestionnaire de calcul pour afficher les détails, modifier le gestionnaire de calcul ou pour gérer les balises qui s'appliquent au gestionnaire de calcul.

Créer des zones de transport

Les zones de transport indiquent quels hôtes et machines virtuelles peuvent utiliser un réseau particulier. Une zone de transport peut s'étendre sur un ou plusieurs clusters d'hôtes.

En tant qu'administrateur vSphere, vous créez les zones de transport suivantes :

n Zone de transport de superposition utilisée par les machines virtuelles du plan de contrôle du Cluster superviseur.

n Zone de transport de VLAN pour les nœuds NSX Edge à utiliser pour les liaisons montantes vers le réseau physique.

Procédure

1 Connectez-vous à NSX Manager.

2 Sélectionnez Système > Infrastructure > Zones de transport > Ajouter.

3 Entrez un nom pour la zone de transport et éventuellement une description.

4 Sélectionner un type de trafic.

Vous pouvez sélectionner Superposition ou VLAN.

Par exemple, créez les zones de transport suivantes :

n Une zone de transport de VLAN avec le nom VSK_TZ_VLAN et le type de trafic VLAN.

n Une zone de transport de superposition avec le nom VSK_TZ_Overlay et le type de trafic Overlay.

5 (Facultatif) Entrez un ou plusieurs noms de stratégie d'association de liaison montante.

Les segments attachés aux zones de transport utilisent ces stratégies d'association nommées. Si les segments ne trouvent pas de stratégie d'association nommée correspondante, la stratégie d'association de liaison montante par défaut est utilisée.

Résultats

La nouvelle zone de transport s'affiche sur la page Zones de transport.

Créer un profil de liaison montante d'hôte

Un profil de liaison montante d'hôte définit des stratégies pour les liaisons montantes des hôtes ESXi vers des segments NSX-T Data Center.

Procédure

1 Connectez-vous à NSX Manager.

2 Sélectionnez Système > Infrastructure > Profils > Profils de liaison montante > Ajouter.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 72

Page 73: Configuration et gestion de vSphere with Kubernetes

3 Entrez un nom pour le profil de liaison montante et éventuellement une description du profil de liaison montante.

Par exemple, VSK_HOST_UPLINK_PROFILE.

4 Dans la section Association, cliquez sur Ajouter pour ajouter une stratégie d'association de dénomination et configurez une stratégie Source d'équilibrage de charge.

Une liste de liaisons montantes actives est spécifiée et chaque interface sur le nœud de transport est épinglée à une liaison montante active. Cette configuration permet d'utiliser simultanément plusieurs liaisons montantes actives.

5 Configurez les liaisons montantes actives et en veille.

Par exemple, configurez Uplink1 comme liaison montante active et Uplink2 comme liaison montante en veille.

6 Entrez une valeur pour le VLAN de transport.

Le VLAN de transport défini dans le profil de liaison montante balise le trafic de superposition et l'ID de VLAN est utilisé par le point de terminaison de tunnel (TEP).

7 Entrez la valeur MTU.

La valeur MTU par défaut du profil de liaison montante est 1 600.

Note Cette valeur doit être d'au moins 1 600, mais ne peut pas être supérieure à la valeur MTU sur les commutateurs physiques et vSphere Distributed Switch.

Créer un profil de liaison montante Edge

Un profil de liaison montante définit des stratégies pour les liaisons montantes. Les paramètres définis par les profils de liaison montante peuvent inclure des stratégies d'association, des liaisons actives et en veille, l'ID de VLAN de transport et le paramètre MTU.

Procédure

1 Connectez-vous à NSX Manager.

2 Sélectionnez Système > Infrastructure > Profils > Profils de liaison montante > Ajouter.

3 Entrez un nom pour le profil de liaison montante et ajoutez éventuellement une description du profil de liaison montante.

Par exemple, VSK_EDGE_UPLINK_PROFILE.

4 Dans la section Association, cliquez sur Ajouter pour ajouter une stratégie d'association de dénomination et configurez une stratégie Source d'équilibrage de charge.

Une liste de liaisons montantes actives est répertoriée et chaque interface sur le nœud de transport est épinglée à une liaison montante active. Cette configuration permet d'utiliser simultanément plusieurs liaisons montantes actives.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 73

Page 74: Configuration et gestion de vSphere with Kubernetes

5 Configurez deux liaisons montantes actives.

Par exemple, configurez Uplink1 et Uplink2 en tant que liaisons montantes actives.

6 Entrez une valeur pour le VLAN de transport.

7 Entrez la valeur MTU.

La valeur MTU par défaut du profil de liaison montante est 1 600.

Note Cette valeur doit être d'au moins 1 600, mais ne peut pas être supérieure à la valeur MTU sur les commutateurs physiques et vSphere Distributed Switch.

8 Affichez les liaisons montantes sur la page Profil de liaison montante.

Créer un pool d'adresses IP pour les adresses IP du point de terminaison de tunnel d'hôte

Vous pouvez utiliser un pool d'adresses IP pour les points de terminaison de tunnel (TEP) d'hôte. Les TEP sont les adresses IP source et de destination utilisées dans l'en-tête IP externe afin d'identifier les hôtes ESXi qui débutent et terminent l'encapsulation NSX-T des trames de superposition. Vous pouvez utiliser DHCP ou configurer manuellement des pools d'adresses IP pour les adresses IP des TEP.

Procédure

1 Connectez-vous à NSX Manager.

2 Sélectionnez Mise en réseau > Pools d'adresses IP > Ajouter un pool d'adresses IP.

3 Entrez les détails suivants du pool d'adresses IP.

Option Description

Nom et description Entrez le nom du pool d'adresses IP et une description facultative.

Par exemple, VSK_EDGE_TEP_POOL.

Plages d'adresses IP Entrez la plage d'allocation IP.

CIDR Entrez l'adresse réseau dans une notation CIDR.

4 Cliquez sur Ajouter et Appliquer.

5 Vérifiez que le pool d'adresses IP des TEP que vous avez créé est répertorié sur la page Pool d'adresses IP.

Créer un profil de nœud de transport

Un profil de nœud de transport définit la manière dont NSX-T Data Center est installé et configuré sur les hôtes d'un cluster spécifique auquel le profil est associé.

Conditions préalables

Vérifiez que vous avez créé une zone de transport de superposition.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 74

Page 75: Configuration et gestion de vSphere with Kubernetes

Procédure

1 Connectez-vous à NSX Manager.

2 Sélectionnez Système > Infrastructure > Profils > Profils de nœud de transport > Ajouter.

3 Entrez un nom pour le profil de nœud de transport et éventuellement une description.

Par exemple, VSK_TN_PROFILE.

4 Sélectionnez les zones de transport disponibles et cliquez sur le bouton +Ajouter un commutateur pour inclure les zones de transport dans le profil de nœud de transport.

5 Sélectionnez le type VDS.

6 Sélectionnez le mode Standard.

7 Sélectionnez les noms vCenter Server et vSphere Distributed Switch dans la liste.

8 Sélectionnez la zone de transport de superposition précédemment créée.

Par exemple, VSK_TZ_OVERLAY.

9 Sélectionnez le profil de liaison montante d'hôte précédemment créé.

Par exemple, VSK_HOST_UPLINK_PROFILE.

10 Sélectionnez Utiliser le pool d'adresses IP dans la liste Attribution IP.

11 Sélectionnez le pool TEP d'hôte précédemment créé.

Par exemple, VSK_EDGE_TEP_POOL.

12 Sélectionnez les liaisons montantes précédemment créées.

Par exemple, sélectionnez Uplink1 et Uplink2.

13 Cliquez sur Ajouter.

Appliquer le profil de nœud de transport au cluster vSphere

Pour installer NSX-T Data Center et préparer les TEP de superposition, appliquez le profil de nœud de transport au cluster vSphere.

Conditions préalables

Vérifiez que vous avez créé un profil de nœud de transport.

Procédure

1 Connectez-vous à NSX Manager.

2 Sélectionnez Système > Infrastructure > Nœuds > Nœuds de transport d'hôte.

3 Dans le menu déroulant Géré par, sélectionnez une instance existante de vCenter Server.

Cette page répertorie les clusters vSphere disponibles.

4 Sélectionnez le cluster.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 75

Page 76: Configuration et gestion de vSphere with Kubernetes

5 Cliquez sur Configurer NSX.

6 Sélectionnez le profil de nœud de transport précédemment créé et cliquez sur Appliquer.

Par exemple, VSK_TN_PROFILE.

7 Sur la page Nœud de transport d'hôte, vérifiez que l'état de la configuration de NSX-T Data Center est Réussite et que l'état de la connectivité NSX Manager des hôtes du cluster est Actif.

Résultats

Le profil de nœud de transport créé précédemment est appliqué au cluster vSphere afin d'installer NSX-T Data Center et de préparer le TEP de superposition.

Configurer et déployer un nœud de transport NSX Edge

Vous pouvez ajouter une machine virtuelle (VM) NSX Edge à l'infrastructure NSX-T Data Center et la configurer ensuite en tant que machine virtuelle de nœud de transport NSX Edge.

Conditions préalables

Vérifiez que vous avez créé des zones de transport, un profil de liaison montante Edge et un pool d'adresses IP des TEP Edge.

Procédure

1 Connectez-vous à NSX Manager.

2 Sélectionnez Système > Infrastructure > Nœuds > Nœuds de transport Edge > Ajouter une VM Edge.

3 Entrez un nom pour le dispositif NSX Edge.

4 Entrez le nom d'hôte ou le nom de domaine complet de vCenter Server.

5 Sélectionnez le format Grand.

6 Entrez l'interface de ligne de commande et les mots de passe racine pour NSX Edge. Vos mots de passe doivent respecter les restrictions de renforcement du mot de passe.

n Au moins 12 caractères.

n Au moins une lettre minuscule.

n Au moins une lettre majuscule.

n Au moins un chiffre.

n Au moins un caractère spécial.

n Au moins cinq caractères différents.

n Les règles de complexité du mot de passe par défaut sont appliquées par le module PAM Linux.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 76

Page 77: Configuration et gestion de vSphere with Kubernetes

7 Entrez les détails de NSX Edge.

Option Description

Gestionnaire de calcul Sélectionnez le gestionnaire de calcul dans le menu déroulant.

Cluster Sélectionnez le cluster dans le menu déroulant.

Banque de données Sélectionnez la banque de données partagée dans la liste.

8 Configurez les paramètres du nœud.

Option Description

Attribution IP Sélectionnez Statique.

Entrez les valeurs pour :

n Adresse IP de gestion : entrez l'adresse IP sur le même VLAN que le réseau de gestion de vCenter Server.

n Passerelle par défaut : choisissez la passerelle par défaut du réseau de gestion.

Interface de gestion Sélectionnez le groupe de ports vSphere Distributed Switch sur le même VLAN que le réseau de gestion dans le menu déroulant.

9 Entrez le nom de domaine, l'adresse IP du serveur DNS et les adresses IP du serveur NTP.

10 Utilisez le nom par défaut pour le Nom du commutateur Edge.

11 Sélectionnez les zones de transport auxquelles le nœud de transport appartient.

Sélectionnez les deux zones de transport créées précédemment.

Par exemple, sélectionnez VSK_TZ_OVERLAY et VSK_TZ_VLAN.

12 Sélectionnez le profil de liaison montante Edge précédemment créé.

Par exemple, VSK_EDGE_UPLINK_PROFILE.

13 Sélectionnez Utiliser le pool d'adresses IP dans Attribution IP.

14 Sélectionnez le pool d'adresses IP des TEP Edge créé précédemment.

Par exemple, VSK_EDGE_TEP_POOL.

15 Dans la section Mappage du commutateur de stratégie d'association, mappez toutes les liaisons montantes vers les profils de liaison montante Edge créés précédemment.

Par exemple, sélectionnez VSK_EDGE_LEFT_UPLINK pour Uplink1 et sélectionnez VSK_EDGE_RIGHT_UPLINK pour Uplink2.

16 Cliquez sur Terminer.

17 Répétez les étapes 10 à 16 pour configurer une deuxième machine virtuelle NSX Edge.

Vous pouvez déployer les deux machines virtuelles NSX Edge simultanément.

18 Affichez l'état de la connexion sur la page Nœuds de transport Edge.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 77

Page 78: Configuration et gestion de vSphere with Kubernetes

Créer un cluster NSX Edge

Pour vous assurer qu'au moins un dispositif NSX Edge est toujours disponible, créez un cluster NSX Edge.

Procédure

1 Connectez-vous à NSX Manager.

2 Sélectionnez Système > Infrastructure > Nœuds > Clusters Edge > Ajouter.

3 Entrez le nom du cluster NSX Edge.

Par exemple, VSK_EC.

4 Sélectionnez un profil de cluster NSX Edge dans le menu déroulant.

Sélectionnez nsx-default-edge-high-availability-profile.

5 Dans le menu déroulant Type de membre, sélectionnez les nœuds NSX Edge.

6 Dans la colonne Disponible, sélectionnez les machines virtuelles NSX Edge créées précédemment, puis cliquez sur la flèche droite pour les déplacer vers la colonne Sélectionné.

7 Cliquez sur Enregistrer.

Créer un segment de liaison montante de niveau 0Le segment de liaison montante de niveau 0 fournit la connectivité Nord-Sud de NSX-T Data Center à l'infrastructure physique.

Procédure

1 Connectez-vous à NSX Manager.

2 Sélectionnez Mise en réseau > Segments > Ajouter un segment.

3 Entrez un nom pour le segment.

Par exemple, VSK_UL_SEG.

4 Sélectionnez Isolé pour le paramètre Connectivité.

5 Sélectionnez la zone de transport précédemment créée.

Par exemple, sélectionnez VSK_TZ_VLAN.

6 Basculez le commutateur État d'administration pour l'activer.

7 Entrez un ID de VLAN.

8 Cliquez sur Enregistrer.

Créer une passerelle de niveau 0La passerelle de niveau 0 est le routeur logique de NSX-T Data Center qui fournit la connectivité Nord-Sud pour la mise en réseau logique de NSX-T Data Center à l'infrastructure physique.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 78

Page 79: Configuration et gestion de vSphere with Kubernetes

vSphere with Kubernetes prend en charge plusieurs passerelles de niveau 0 sur plusieurs clusters NSX Edge dans la même zone de transport.

Conditions préalables

Vérifiez que vous avez créé un cluster NSX Edge.

Procédure

1 Connectez-vous à NSX Manager.

2 Sélectionnez Mise en réseau > Passerelles de niveau 0.

3 Cliquez sur Ajouter une passerelle de niveau 0.

4 Entrez un nom pour la passerelle de niveau 0.

Par exemple, VSK_T0.

5 Sélectionnez un mode HA actif-veille.

En mode actif-veille, le membre actif sélectionné traite tout le trafic. Si le membre actif échoue, un nouveau membre est choisi comme membre actif.

6 Sélectionnez le cluster NSX Edge précédemment créé.

Par exemple, sélectionnez VSK_EC.

7 Cliquez sur Enregistrer.

8 Pour continuer la configuration, sélectionnez Oui.

9 Configurez les interfaces.

a Cliquez sur interfaces et définition.

b Cliquez sur Ajouter une interface.

c Entrez un nom.

Par exemple, entrez le nom VSK_T0_UL1.

d Sélectionnez Externe pour le Type.

e Entrez une adresse IP à partir du VLAN de liaison montante du routeur logique Edge. L'adresse IP doit être différente de l'adresse IP de gestion configurée pour les machines virtuelles NSX Edge créées précédemment.

f Sélectionnez un nœud NSX Edge dans la liste.

g Cliquez sur Enregistrer.

h Répétez les étapes de A à F pour les autres machines virtuelles de nœuds NSX Edge.

i Cliquez sur Fermer.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 79

Page 80: Configuration et gestion de vSphere with Kubernetes

10 Pour configurer le routage ou BGP, cliquez sur Routage.

a Cliquez sur Définir dans les routes statiques.

b Entrez un nom.

c Entrez une adresse IP réseau.

d Pour configurer les tronçons suivants, cliquez sur Définir les tronçons suivants et sur Ajouter le tronçon suivant.

e Entrez l'adresse IP du routeur du tronçon suivant. En général, il s'agit de la passerelle par défaut du VLAN du réseau de gestion à partir du VLAN de liaison montante du routeur logique NSX Edge.

f Cliquez sur Appliquer et Enregistrer.

11 Cliquez sur Fermer.

12 Pour vérifier la connectivité, assurez-vous qu'un périphérique externe dans l'architecture physique peut envoyer une requête ping aux interfaces que vous avez configurées.

Activer vSphere with Kubernetes sur un cluster avec NSX-T Data Center

Pour exécuter des charges de travail Kubernetes sur un cluster vSphere, vous devez activer le cluster avec vSphere with Kubernetes. Une fois le cluster activé, la vSphere with Kubernetes crée des nœuds de plan de contrôle Kubernetes sur le cluster et le processus Spherelet sur chaque hôte, ce qui permet d'exécuter des conteneurs en mode natif sur ESXi. Un cluster activé avec vSphere with Kubernetes est appelé Cluster superviseur.

Procédure

1 Dans le menu d'accueil de vSphere Client, sélectionnez Gestion de la charge de travail.

2 Sélectionnez l'instance de vCenter Server que vous souhaitez configurer.

3 Sélectionnez Activer.

4 Sélectionnez Sélectionner un cluster > Centre de données.

5 Sélectionnez un cluster dans la liste des clusters compatibles, puis cliquez sur Suivant.

6 Dans Paramètres du cluster, sélectionnez le dimensionnement des machines virtuelles du plan de contrôle.

La taille des machines virtuelles du plan de contrôle détermine la quantité de Espace vSphere que vous pouvez exécuter sur le cluster.

Pour obtenir des instructions, reportez-vous au site Valeurs maximales de configuration VMware.

7 Cliquez sur Suivant.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 80

Page 81: Configuration et gestion de vSphere with Kubernetes

8 Dans Paramètres réseau, configurez les paramètres de mise en réseau du plan de contrôle et des nœuds worker.

a Dans le volet Réseau de gestion, configurez les paramètres de trafic de gestion suivants :

Option Description

Réseau Sélectionnez un réseau sur lequel un adaptateur VMkernel est configuré pour le trafic de gestion.

Démarrage de l'adresse IP du plan de contrôle

Entrez une adresse IP qui détermine le point de départ pour la réservation d'adresses IP consécutives pour les machines virtuelles du plan de contrôle Kubernetes comme suit :

n Une adresse IP pour chacune des machines virtuelles du plan de contrôle Kubernetes.

n Une adresse IP flottante pour l'une des machines virtuelles du plan de contrôle Kubernetes devant être utilisée comme interface au réseau de gestion. La machine virtuelle du plan de contrôle à laquelle l'adresse IP flottante est attribuée est utilisée comme machine virtuelle principale pour les trois machines virtuelles du plan de contrôle Kubernetes.

n Une adresse IP à utiliser comme tampon dans le cas où une machine virtuelle du plan de contrôle Kubernetes tombe en panne et qu'une nouvelle machine virtuelle du plan de contrôle est introduite pour la remplacer.

Masque de sous-réseau Entrez le masque de sous-réseau du réseau de gestion.

Serveurs DNS Entrez les adresses des serveurs DNS que vous utilisez dans votre environnement. Si le système vCenter Server est enregistré avec un nom de domaine complet, vous devez entrer les adresses IP des serveurs DNS que vous utilisez avec l'environnement vSphere afin que le nom de domaine complet soit résolu dans le Cluster superviseur.

Serveurs NTP Entrez les adresses des serveurs NTP que vous utilisez dans votre environnement, le cas échéant.

Domaines de recherche DNS Entrez les noms de domaine que le DNS recherche dans les nœuds du plan de contrôle Kubernetes, tels que corp.local, afin que le serveur DNS puisse les résoudre.

b Dans le volet Réseau de charge de travail, configurez les paramètres des réseaux pour

les espaces de noms.

Les paramètres réseau d'espace de noms fournissent la connectivité aux Espace vSphere et aux espaces de noms s'exécutant dans le Cluster superviseur.

Option Description

vSphere Distributed Switch Sélectionnez le commutateur vSphere Distributed Switch qui gère la mise en réseau superposé pour le Cluster superviseur.

Par exemple, VKS_VDS.

Cluster Edge Sélectionnez le cluster NSX Edge ayant la passerelle de niveau 0 que vous souhaitez utiliser pour la mise en réseau de l'espace de noms.

Par exemple, sélectionnez VSK_EC.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 81

Page 82: Configuration et gestion de vSphere with Kubernetes

Option Description

Nom de domaine complet du point de terminaison du serveur d'API

Vous pouvez également entrer le nom de domaine complet du point de terminaison du serveur d'API.

Serveur DNS Entrez les adresses IP des serveurs DNS que vous utilisez avec votre environnement, le cas échéant.

Serveur NTP Entrez l'adresse IP du serveur NTP.

CIDR d'espaces Entrez une annotation CIDR pour déterminer la plage d'adresses IP des espaces natifs vSphere. Vous pouvez utiliser la valeur par défaut.

CIDR de services Entrez une annotation CIDR pour déterminer la plage d'adresses IP des services Kubernetes. Vous pouvez utiliser la valeur par défaut.

CIDR d'entrée Entrez une annotation CIDR qui détermine la plage d'adresses IP d'entrée pour les services Kubernetes. Cette plage est utilisée pour les services de type d'équilibrage de charge et d'entrée.

CIDR de sortie Entrez une annotation CIDR qui détermine l'adresse IP de sortie pour les services Kubernetes. Une seule adresse IP de sortie est attribuée à chaque espace de noms dans le Cluster superviseur. L'adresse IP de sortie est l'adresse IP utilisée par les Espace vSphere dans l'espace de noms particulier pour communiquer en dehors de NSX-T Data Center.

9 Dans les Paramètres de stockage, configurez le stockage du Cluster superviseur.

La stratégie de stockage que vous sélectionnez pour chacun des objets suivants garantit que l'objet est placé sur la banque de données référencée dans la stratégie de stockage. Vous pouvez utiliser des stratégies de stockage identiques ou différentes pour les objets.

Option Description

Nœud de plan de contrôle Sélectionnez la stratégie de stockage pour le placement des machines virtuelles du plan de contrôle.

Disques éphémères d'espace Sélectionnez la stratégie de stockage pour le placement des Espace vSphere.

Cache des images de conteneur Sélectionnez la stratégie de stockage pour le placement du cache des images de conteneur.

10 Dans la section Prêt à terminer, vérifiez les paramètres, puis cliquez sur Terminer.

Le cluster est activé avec la vSphere with Kubernetes et vous pouvez créer des Espace de noms de superviseur à fournir aux ingénieurs DevOps. Des nœuds de plan de contrôle Kubernetes sont créés sur les hôtes faisant partie du cluster et du processus Spherelet.

Étape suivante

Créez et configurez un Espace de noms de superviseur sur le Cluster superviseur. Reportez-vous à la section Créer et configurer un Espace de noms de superviseur.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 82

Page 83: Configuration et gestion de vSphere with Kubernetes

Meilleures pratiques de configuration de vSphere with Kubernetes

Tenez compte de ces meilleures pratiques lorsque vous configurez vSphere with Kubernetes sur un cluster vSphere.

n Utilisez la banque de données vSAN pour NSX Edge.

n Si vous utilisez une banque de données vSAN, assurez-vous que l'environnement vSAN est correctement dimensionné pour les charges de travail. La configuration vSAN nécessite davantage de mémoire, car la mémoire du noyau est utilisée pour vSAN. Cela réduit la mémoire disponible pour les machines virtuelles NSX Edge. Utilisez le calculateur vSAN pour un dimensionnement approprié. Pour plus d'informations sur le dimensionnement de vSAN, reportez-vous aux ressources suivantes : :

n https://blogs.vmware.com/virtualblocks/2015/11/11/vsan-design-sizing-memory-overhead-considerations/

n https://www.vmbaggum.nl/2017/11/vsan-memory-consumption-calculator/

n https://communities.vmware.com/thread/572229

n Si vous utilisez une banque de données NFS, vérifiez qu'elle est partagée entre tous les hôtes du cluster. Créez une banque de données NFS unique pour chaque nœud NSX Edge.

n Configurez un pool de ressources dédié pour chaque cluster NSX Edge. Ne partagez pas le pool de ressources avec d'autres machines virtuelles.

n Lorsque vous configurez la superposition d'hôte ESXi, utilisez des VLAN dans la plage 1-4094.

n Lorsque vous configurez une superposition Edge, utilisez des VLAN dans la plage 1-4094.

Modifier les paramètres de stockage sur le Cluster superviseur

Les stratégies de stockage attribuées au Cluster superviseur permettent de gérer la manière dont les objets tels que les machines virtuelles de plan de contrôle, l'Espace vSphere et le cache des images de conteneur sont placés dans des banques de données au sein de l'environnement de stockage vSphere. En tant qu'administrateur vSphere, vous configurez généralement les stratégies de stockage lors de l'activation du Cluster superviseur. Effectuez cette tâche si vous devez apporter des modifications aux attributions de stratégies de stockage après la configuration initiale du Cluster superviseur.

Les modifications que vous apportez aux paramètres de stockage s'appliquent uniquement aux nouveaux objets.

Procédure

1 Dans vSphere Client, accédez au cluster hôte sur lequel vSphere with Kubernetes est activé.

2 Cliquez sur l'onglet Configurer puis sur Stockage sous Espaces de noms.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 83

Page 84: Configuration et gestion de vSphere with Kubernetes

3 Modifiez les attributions de stratégie de stockage pour les éléments suivants.

Option Description

Nœud de plan de contrôle Sélectionnez la stratégie de stockage pour le placement des machines virtuelles du plan de contrôle.

Disques éphémères d'espace Sélectionnez la stratégie de stockage pour le placement des Espace vSphere.

Cache des images de conteneur Sélectionnez la stratégie de stockage pour le placement du cache des images de conteneur.

Modifier le certificat de point de terminaison de l'API Kubernetes

En tant qu'administrateur vSphere, vous pouvez modifier le certificat de point de terminaison de l'API Kubernetes. Le certificat authentifie le plan de contrôle Kubernetes aux ingénieurs DevOps, lors de la connexion et des interactions suivantes avec le Cluster superviseur.

Conditions préalables

Vérifiez que vous avez accès à une autorité de certification qui peut signer des CSR. Pour les ingénieurs DevOps, l'autorité de certification doit être installée sur leur système en tant qu'utilisateur racine approuvé.

Procédure

1 Dans le vSphere Client, naviguer vers le Cluster superviseur.

2 Cliquez sur configurer puis sous Espaces de noms sélectionnez Certificats .

3 Dans le volet de la plate-forme de charge de travail MTG , sélectionnez Actions > Générer une CSR .

4 Fournissez les détails du certificat.

5 Une fois la CSR générée, cliquez sur Copier .

6 Signez le certificat avec une autorité de certification.

7 Dans le volet de la plate-forme de charge de travail MTG , sélectionnez Actions > Remplacer le certificat .

8 Téléchargez le fichier de certificat signé et cliquez sur Remplacer le certificat .

9 Validez le certificat sur l'adresse IP du plan de contrôle Kubernetes.

Par exemple, vous pouvez ouvrir la page de téléchargement de Outils de l'interface de ligne de commande Kubernetes pour vSphere et confirmer que le certificat a été remplacé avec succès à l'aide du navigateur. Vous pouvez également utiliser echo | openssl s_client -connect https://ip:6443 .

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 84

Page 85: Configuration et gestion de vSphere with Kubernetes

Utilisation d'espaces de noms sur un Cluster superviseur 5En tant qu'administrateur vSphere, vous pouvez créer des espaces de noms sur un Cluster superviseur et les configurer avec des quotas de ressources, du stockage, ainsi que définir des autorisations pour les utilisateurs ingénieurs DevOps. Une fois que vous avez configuré un espace de noms, vous pouvez lui fournir des ingénieurs DevOps qui exécutent des Espace vSphere et des clusters Kubernetes créés via Service VMware Tanzu™ Kubernetes Grid™.

Ce chapitre contient les rubriques suivantes :

n Créer et configurer un Espace de noms de superviseur

n Configurer des limitations sur des objets Kubernetes sur un espace de noms

n Définir les réservations et limites de CPU et de mémoire par défaut pour les conteneurs

n Utilisation du Service de registre pour fournir un registre d'images privé

n Modifier les paramètres de stockage d'un espace de noms

Créer et configurer un Espace de noms de superviseur

En tant qu'administrateur vSphere, vous créez un Espace de noms de superviseur sur le Cluster superviseur. Vous définissez des limites de ressources sur l'espace de noms, ainsi que des autorisations afin que les ingénieurs DevOps puissent y accéder. Vous fournissez l'URL du plan de contrôle Kubernetes aux ingénieurs DevOps dans lequel ils peuvent exécuter des charges de travail Kubernetes sur les espaces de noms pour lesquels ils disposent d'autorisations.

Conditions préalables

n Configurez un cluster avec vSphere with Kubernetes.

n Créez des utilisateurs ou des groupes pour tous les ingénieurs DevOps qui accéderont à l'espace de noms.

n Créez des stratégies de stockage pour le stockage permanent que les Espace vSphere et les espaces à l'intérieur d'un cluster Tanzu Kubernetes utilisent. Les stratégies de stockage peuvent définir différents types et classes de stockage, par exemple, Gold, Silver et Bronze.

n Vérifiez que vous disposez du privilège privilege.Namespaces.Manage.label sur le Cluster superviseur.

VMware, Inc. 85

Page 86: Configuration et gestion de vSphere with Kubernetes

Procédure

1 Dans le menu d'accueil de vSphere Client, sélectionnez Plate-forme de charge de travail.

2 Cliquez sur Espaces de noms, puis sur Créer un espace de noms.

3 Sélectionnez le Cluster superviseur où vous souhaitez placer l'espace de noms.

4 Entrez un nom et une description, puis cliquez sur Créer.

L'espace de noms est créé sur le Cluster superviseur.

5 Définissez des autorisations afin que les ingénieurs DevOps puissent accéder à l'espace de noms.

a Dans le volet Autorisations, sélectionnez Ajouter des autorisations.

b Sélectionnez une source d'identité, un utilisateur ou un groupe, ainsi qu'un rôle, puis cliquez sur OK.

6 Définissez le stockage persistant sur l'espace de noms.

Les stratégies de stockage que vous attribuez à l'espace de noms contrôlent la façon dont les volumes persistants et les nœuds de cluster Tanzu Kubernetes sont placés dans des banques de données dans l'environnement de stockage vSphere. Les réclamations de volume persistant qui correspondent aux volumes persistants peuvent provenir d'un Espace vSphere ou du cluster Tanzu Kubernetes.

a Dans le volet Stockage, sélectionnez Ajouter un stockage.

b Sélectionnez une stratégie de stockage pour contrôler le placement des banques de données des volumes persistants et cliquez sur OK.

Après avoir attribué la stratégie de stockage, la vSphere with Kubernetes crée une classe de stockage Kubernetes correspondante dans le Espace de noms de superviseur. Si vous utilisez Service VMware Tanzu™ Kubernetes Grid™, la classe de stockage est automatiquement répliquée de l'espace de noms vers le cluster Kubernetes. Lorsque vous attribuez plusieurs stratégies de stockage à l'espace de noms, une classe de stockage distincte est créée pour chaque stratégie de stockage.

7 Dans le volet Capacité et utilisation, sélectionnez Modifier les quotas et configurez les limitations de ressources sur l'espace de noms.

Option Description

CPU Quantité de ressources de CPU à réserver pour l'espace de noms.

Mémoire Quantité de mémoire à réserver pour l'espace de noms.

Limite de stockage total Quantité totale d'espace de stockage à réserver pour l'espace de noms.

Limites des stratégies de stockage Définissez la quantité de stockage dédiée à chacune des stratégies de stockage que vous avez associées à l'espace de noms.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 86

Page 87: Configuration et gestion de vSphere with Kubernetes

Un pool de ressources pour l'espace de noms est créé sur vCenter Server. La limite de stockage détermine la quantité totale de stockage disponible pour l'espace de noms tandis que les stratégies de stockage déterminent le placement de volumes persistants pour les Espace vSphere sur les classes de stockage associées.

Étape suivante

Partagez l'URL du plan de contrôle Kubernetes avec les ingénieurs DevOps ainsi que le nom d'utilisateur qu'ils peuvent utiliser pour se connecter à l'instance de vCenter Server via kubectl. Vous pouvez octroyer l'accès à plusieurs espaces de noms à un ingénieur DevOps.

Configurer des limitations sur des objets Kubernetes sur un espace de noms

Vous pouvez configurer des limitations pour les conteneurs exécutés à l'intérieur de l'espace de noms, ainsi que des limitations pour divers objets Kubernetes. Les limitations que vous configurez pour un objet dépendent des spécificités de vos applications et de la manière dont vous souhaitez qu'ils consomment des ressources au sein d'un espace de noms.

Conditions préalables

n Vérifiez que vous disposez du privilège Modifier la configuration de l'espace de noms sur le Cluster superviseur.

Procédure

1 Dans le menu d'accueil de vSphere Client, sélectionnez Plate-forme de charge de travail.

2 Sélectionnez un espace de noms, sélectionnez Configurer, puis sélectionnez Limites d'objets.

3 Configurez des limites d'objets pour l'espace de noms.

Le nombre d'espaces que vous définissez affectera le nombre de Espace vSphere que vous pouvez déployer via des déploiements, des tâches, des jeux de réplicas, des contrôleurs de réplication, etc.

Définir les réservations et limites de CPU et de mémoire par défaut pour les conteneurs

Vous pouvez définir les réservations et les limites de mémoire et de CPU par défaut des conteneurs sur un espace de noms via vSphere Client. Les ingénieurs DevOps peuvent remplacer ultérieurement ces valeurs dans les spécifications d'espace qu'ils définissent. Les demandes de conteneur se traduisent en réservations de ressources sur des Espace vSphere.

Conditions préalables

n Vérifiez que vous disposez du privilège Modifier la configuration de l'espace de noms sur le Cluster superviseur.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 87

Page 88: Configuration et gestion de vSphere with Kubernetes

Procédure

1 Dans le menu d'accueil de vSphere Client, sélectionnez Plate-forme de charge de travail.

2 Sélectionnez un espace de noms, sélectionnez Configurer, puis cliquez sur Limites de ressources

3 Configurez les réservations et les limites de mémoire et de CPU par défaut des conteneurs dans l'espace de noms.

Option Description

Demande de CPU Définissez la réservation de CPU par défaut des conteneurs dans l'espace de noms.

Limite de CPU Définissez la limite par défaut pour l'utilisation de CPU pour les conteneurs dans l'espace de noms.

Demande de mémoire Définissez la réservation de mémoire par défaut pour les conteneurs dans l'espace de noms.

Limite de mémoire Définissez la limite par défaut pour l'utilisation de la mémoire pour les conteneurs dans l'espace de noms.

Utilisation du Service de registre pour fournir un registre d'images privé

Vous pouvez activer un registre d'images privé sur un Cluster superviseur via le Service de registre. Un cluster peut disposer d'une instance du registre d'images privé. Tous les espaces de noms d'un Cluster superviseur sont représentés sous forme de projets dans le registre privé.

En tant qu'administrateur vSphere, vous activez le registre d'images privé sur le Cluster superviseur. Vous devez fournir l'URL de l'interface utilisateur du registre d'images privé aux ingénieurs DevOps, qui peuvent établir une connexion sécurisée avec l'assistance des informations d'identification de Docker vSphere et des images push et pull aux projets dans le registre d'images privé. Une fois qu'une Privé, masqué image est envoyée à un projet dans le registre d'images privé, les ingénieurs DevOps peuvent y déployer une Espace vSphere.

Si les ingénieurs DevOps signalent qu'un trop grand nombre d'images sont stockées pour un projet, en tant qu'administrateur vSphere, vous pouvez purger les images de ce projet dans le registre d'images privé. La purge des images d'un projet supprime toutes les références à ces images, mais ne les supprime pas de la banque de données vSphere. Tous les samedis à 2:00, le service garbage collector supprime de l'intégralité du registre d'images privé toutes les images qui ne sont pas référencées par des applications.

Activer un registre d'images privé via le Service de registre sur un Cluster superviseur

En tant qu'administrateur vSphere, vous pouvez activer un registre d'images privé sur le Cluster superviseur via le Service de registre. Les ingénieurs DevOps peuvent envoyer et extraire des images du registre, ainsi que déployer des Espace vSphere à l'aide de ces images.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 88

Page 89: Configuration et gestion de vSphere with Kubernetes

Conditions préalables

n Créez une stratégie de stockage pour le placement des images de conteneur.

Procédure

1 Dans vSphere Client, accédez au cluster dans lequel vous souhaitez activer le registre d'images.

2 Sélectionnez Configurer.

3 Sous Espaces de noms, sélectionnez Registre d'images.

4 Cliquez sur Activer Harbor.

5 Sélectionnez la stratégie de stockage pour le placement des images de conteneur.

Résultats

Un registre d'images privé est activé après quelques minutes. Un espace de noms spécial est créé pour cette instance du registre d'images privé. Vous ne pouvez pas effectuer d'opérations sur cet espace de noms, car il est en lecture seule pour les utilisateurs vSphere.

Chaque espace de noms sur le Cluster superviseur dispose d'un projet correspondant avec le même nom que le registre d'images privé. Chaque utilisateur ou groupe qui dispose d'une autorisation de modification ou d'affichage sur un espace de noms devient un membre avec le rôle inhérent pour le projet correspondant avec le même nom dans le registre d'images privé. Le cycle de vie des projets et des membres du registre d'images privé est géré automatiquement et est lié au cycle de vie des espaces de noms et aux autorisations d'utilisateurs ou de groupes dans les espaces de noms.

Étape suivante

Indiquez l'URL de l'instance de registre d'images privé pour les ingénieurs DevOps.

Purger les images du registre d'images privé

En tant qu'administrateur vSphere, vous pouvez purger les images d'un projet dans le registre d'images privé à la demande des ingénieurs DevOps. La purge d'images du registre d'images privé supprime toutes les références aux images faites par les espaces, mais ne supprime pas les images du registre d'images.

Procédure

1 Dans vSphere Client, accédez à l'espace de noms.

2 Sélectionnez Configurer et sélectionnez Général.

3 En regard de Registre intégré, cliquez sur Purger.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 89

Page 90: Configuration et gestion de vSphere with Kubernetes

Modifier les paramètres de stockage d'un espace de noms

Les stratégies de stockage qu'un administrateur vSphere attribue à un espace de noms dans un Cluster superviseur contrôlent la façon dont les volumes persistants et les nœuds de cluster Tanzu Kubernetes sont placés dans des banques de données vSphere. Les réclamations de volume persistant qui correspondent aux volumes persistants peuvent provenir d'un Espace vSphere ou d'un cluster Tanzu Kubernetes. Vous pouvez modifier les attributions de stratégie de stockage initiales.

Conditions préalables

Avant de supprimer une stratégie de stockage de vCenter Server, d'un Espace de noms de superviseur ou de modifier l'attribution de stratégie de stockage, assurez-vous qu'aucune réclamation de volume persistant correspondant à la classe de stockage n'est exécutée dans l'espace de noms. Assurez-vous également qu'aucun cluster Tanzu Kubernetes n'utilise la classe de stockage.

Procédure

1 Dans vSphere Client, accédez à l'espace de noms.

a Dans le menu d'accueil de vSphere Client, sélectionnez Plate-forme de charge de travail.

b Sélectionnez l'espace de noms.

2 Cliquez sur l'onglet Stockage puis sur Stratégies de stockage.

3 Cliquez sur l'icône Modifier pour modifier les attributions de stratégie de stockage.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 90

Page 91: Configuration et gestion de vSphere with Kubernetes

Utilisation de Espace vSphere 6En tant qu'ingénieur DevOps, vous pouvez déployer et gérer le cycle de vie des Espace vSphere dans les limites de ressources d'un espace de noms qui s'exécute sur un Cluster superviseur. Vous devez disposer d'autorisations d'écriture sur un espace de noms pour déployer des Espace vSphere sur celui-ci.

Ce chapitre contient les rubriques suivantes :

n S'authentifier sur Cluster superviseur et obtenir les contextes

n Afficher les classes de stockage dans un Espace de noms de superviseur ou un cluster Tanzu Kubernetes

n Déployer une application dans un espace de noms

n Faire monter en charge et baisser en charge une application

n Transférer des images vers un espace de noms sur le Service de registre

n Déployer une application à l'aide d'une image à partir de Service de registre

n Déployer une application avec état

n Surveiller les volumes persistants

S'authentifier sur Cluster superviseur et obtenir les contextes

Une fois que l'administrateur vSphere vous a fourni l'adresse IP du plan de contrôle Kubernetes sur le Cluster superviseur, vous pouvez vous connecter au Cluster superviseur et obtenir les contextes auxquels vous avez accès. Les contextes correspondent aux espaces de noms sur le Cluster superviseur.

Conditions préalables

n Obtenez l'adresse IP du plan de contrôle Kubernetes du Cluster superviseur auprès de votre administrateur vSphere.

n Obtenez votre compte d'utilisateur dans vCenter Single Sign-On.

n Vérifiez auprès de votre administrateur vSphere que vous disposez des autorisations nécessaires pour accéder aux contextes dont vous avez besoin.

VMware, Inc. 91

Page 92: Configuration et gestion de vSphere with Kubernetes

n Vérifiez que le certificat desservi par le plan de contrôle Kubernetes est approuvé sur votre système, soit en faisant en sorte que l'autorité de certification de signature soit installée en tant que racine d'approbation ou en ajoutant le certificat en tant que racine d'approbation directement.

Procédure

1 Dans une fenêtre de navigateur, ouvrez l'URL du plan de contrôle Kubernetes.

2 Vérifiez que le total de contrôle SHA256 du fichier vsphere-plugin.zip correspond au total de contrôle du fichier sha256sum.txt.

3 Téléchargez le fichier vsphere-plugin.zip sur votre machine et définissez-le sur le chemin de recherche exécutable de votre système d'exploitation.

4 Dans une fenêtre d'invite de commande, exécutez la commande suivante pour vous connecter à vCenter Server :

kubectl vsphere login --server=https://<server_adress> --vsphere-username <your user account name>

5 Pour afficher les détails des contextes de configuration auxquels vous pouvez accéder, exécutez la commande kubectl suivante :

kubectl config get-contexts

L'interface de ligne de commande affiche les détails de chaque contexte disponible.

6 Pour basculer entre les contextes, utilisez la commande suivante :

kubectl config use-context <example-context-name>

Résultats

L'API de connexion sur le plan de contrôle Kubernetes est appelée. Un proxy d'authentification redirige une demande d'authentification vers vCenter Single Sign-On. vCenter Server renvoie un jeton Web JSON et l'ajoute au fichier kubeconfig. Ce jeton est envoyé au plan de contrôle Kubernetes avec chaque nouvelle commande kubectl pour authentifier l'utilisateur.

Afficher les classes de stockage dans un Espace de noms de superviseur ou un cluster Tanzu Kubernetes

Une fois qu'un administrateur vSphere a créé une stratégie de stockage et l'attribue à l'Espace de noms de superviseur, la stratégie de stockage s'affiche comme une classe de stockage Kubernetes correspondante dans l'espace de noms et tous les clusters Tanzu Kubernetes disponibles. En tant qu'ingénieur DevOps, vous pouvez vérifier que la classe de stockage est disponible.

Votre capacité à exécuter les commandes dépend de vos autorisations.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 92

Page 93: Configuration et gestion de vSphere with Kubernetes

Conditions préalables

Assurez-vous que votre administrateur vSphere a créé une stratégie de stockage appropriée et l'a attribuée à l'Espace de noms de superviseur.

Procédure

1 Utilisez l'une des commandes suivantes pour vérifier que les classes de stockage sont disponibles.

n kubectl get storageclass

Note Cette commande est disponible uniquement pour un utilisateur disposant des privilèges d'administrateur.

Vous obtenez des résultats semblables aux résultats suivants. Le nom de la classe de stockage correspond au nom de la stratégie de stockage du côté vSphere.

NAME PROVISIONER AGE

silver csi.vsphere.vmware.com 2d

gold csi.vsphere.vmware.com 1d

n kubectl describe namespace namespace_name

Dans la sortie, le nom de la classe de stockage s'affiche dans le paramètre storageclass_name.storageclass.storage.k8s.io/requests.storage. Par exemple :

–––––––––––––––––

Name: namespace_name

Resource Used Hard

-------- --- ---

silver.storageclass.storage.k8s.io/requests.storage 1Gi 9223372036854775807

gold.storageclass.storage.k8s.io/requests.storage 0 9223372036854775807

2 Pour vérifier la quantité d'espace de stockage disponible sur l'espace de noms, exécutez la commande suivante.

kubectl describe resourcequotas -namespace espace_de_noms

Vous obtenez des résultats semblables aux résultats suivants.

Name: ns-my-namespace

Namespace: ns-my-namespace

Resource Used Hard

-------- ---- ----

requests.storage 0 200Gi

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 93

Page 94: Configuration et gestion de vSphere with Kubernetes

Déployer une application dans un espace de noms

Vous pouvez déployer une application dans un espace de noms sur un Cluster superviseur. Une fois l'application déployée, le nombre respectif de Espace vSphere est créé sur le Cluster superviseur dans l'espace de noms.

Vous pouvez également déployer des applications à partir d'images stockées dans le registre d'images Harbor. Reportez-vous à la section Déployer une application à l'aide d'une image à partir de Service de registre.

Conditions préalables

n Obtenez l'adresse IP du plan de contrôle Kubernetes du Cluster superviseur auprès de votre administrateur vSphere.

n Obtenez votre compte d'utilisateur dans vCenter Single Sign-On.

n Vérifiez auprès de votre administrateur vSphere que vous disposez des autorisations nécessaires pour accéder aux contextes dont vous avez besoin.

Procédure

1 Authentifiez-vous avec le Cluster superviseur.

kubectl vsphere login --server <makster URL> --vsphere-username <vSphere user account name>

2 Passez au contexte dans lequel vous souhaitez déployer l'application.

kubectl config use-context <namespace>

3 Déployez l'application.

kubectl apply -f <application name>.yaml

Faire monter en charge et baisser en charge une application

Vous pouvez augmenter et diminuer le nombre de réplicas pour chaque application exécutée sur un Cluster superviseur.

Conditions préalables

n Obtenez l'adresse IP du plan de contrôle Kubernetes du Cluster superviseur auprès de votre administrateur vSphere.

n Obtenez votre compte d'utilisateur dans vCenter Single Sign-On.

n Vérifiez auprès de votre administrateur vSphere que vous disposez des autorisations nécessaires pour accéder aux contextes dont vous avez besoin.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 94

Page 95: Configuration et gestion de vSphere with Kubernetes

Procédure

1 Authentifiez-vous avec le Cluster superviseur.

kubectl vsphere login --server <control plane load balancer IP address> --vsphere-username

<vSphere user account name>

2 Faites monter ou baisser en charge une application.

kubectl get deployments

kubectl scale deployment <deployment-name> --replicas=<number-of-replicas>

Transférer des images vers un espace de noms sur le Service de registre

Vous pouvez transférer des images du docker vers un projet sur Service de registre. Les projets du Service de registre correspondent à des espaces de noms sur un Cluster superviseur sur la vSphere with Kubernetes.

Conditions préalables

n Vérifiez que Service de registre est activé sur le Cluster superviseur.

n Obtenez l'URL de l'interface utilisateur de Service de registre à partir de votre administrateur vSphere.

n Obtenez votre compte d'utilisateur pour lequel vous disposez d'autorisations d'écriture sur l'espace de noms qui correspond au projet sur Service de registre où vous souhaitez transférer les images.

n Obtenez l'adresse IP du plan de contrôle Kubernetes du Cluster superviseur auprès de votre administrateur vSphere.

n Téléchargez le plug-in d'assistance des informations d'identification de vSphere Docker dans la page du plan de contrôle Kubernetes et configurez le plug-in sur le chemin du fichier exécutable de votre système.

Procédure

1 Dans un navigateur, connectez-vous à l'interface utilisateur de Service de registre via l'URL de Service de registre.

2 Cliquez sur Certificat de registre pour enregistrer le certificat sur votre machine.

3 Copiez le certificat dans le répertoire suivant, en fonction de votre système d'exploitation.

n Linux

/etc/docker/certs.d/<Container Registry IP>

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 95

Page 96: Configuration et gestion de vSphere with Kubernetes

n Mac OS

security add-trusted-cert -d -r trustRoot -k ~/Library/Keychains/login.keychain ca.crt

Une fois l'importation terminée, redémarrez Docker.

4 Connectez-vous à Service de registre avec l'assistance des informations d'identification de vSphere Docker.

docker-credential-vsphere login <container-registry-IP>

5 Balisez l'image que vous souhaitez transférer vers le projet dans Service de registre avec le même nom que l'espace de noms où vous souhaitez l'utiliser :

docker tag <image-name>[:TAG] <container-registry-IP>/<project-name>/<image-name>[:TAG]

6 Pour transférer une image vers un projet dans Harbor, exécutez la commande suivante :

docker push <container-registry-IP>/<namespace-name>/<image_name>

Exemple

Transférez l'image suivante au registre d'images Harbor :

docker tag busybox:latest <container-registry-IP>/<namespace-name>/busybox:latest

docker push <container-registry-IP>/busybox/busybox:latest

Étape suivante

Déployez des Espace vSphere à l'aide d'images issues du registre Harbor.

Déployer une application à l'aide d'une image à partir de Service de registre

Vous pouvez utiliser des images stockées dans Service de registre pour déployer des Espace vSphere dans des espaces de noms sur le Cluster superviseur.

Conditions préalables

n Transférez des images vers un projet dans le Service de registre portant le même nom que l'espace de noms dans lequel vous souhaitez déployer votre application. Reportez-vous à la section Transférer des images vers un espace de noms sur le Service de registre .

n Ajoutez le contenu du fichier vspere-plugin.zip au chemin d'accès au fichier d'exécution de votre environnement.

Procédure

1 Créez un fichier YAML qui contient les paramètres suivants :

...

namespace: <namespace-name>

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 96

Page 97: Configuration et gestion de vSphere with Kubernetes

...

spec:

...

image: <image registry URL>/<namespace name>/<image name>

2 Connectez-vous au Cluster superviseur:

kubectl vsphere login --server=https://<server_adress> --vsphere-username <your user account name>

3 Basculez vers l'espace de noms dans lequel vous souhaitez déployer l'application.

kubectl config use-context <namespace>

4 Déployez une Espace vSphere à partir de ce fichier YAML :

kubectl apply -f <yaml file name>.yaml

5 Exécutez la commande suivante pour vérifier que l'image est extraite du Service de registre et que la Espace vSphere est en état d'exécution :

kubectl describe pod/<yaml name>

Résultats

Le fichier YAML que vous avez créé est déployé dans l'espace de noms spécifié en utilisant l'image du projet sur Service de registre qui tire son nom de l'espace de noms.

Exemple :Créez et déployez le fichier YAML suivant sur l'espace de noms demoapp1 à l'aide de l'image busybox du projet demoapp1 dans Service de registre :

apiVersion: v1

kind: Pod

metadata:

name: busybox

namespace: demoapp1

spec:

containers:

- name: busybox

image: <harbor_IP>/demoapp1/busybox:latest

command:

- sleep

- "3600"

imagePullPolicy: IfNotPresent

restartPolicy: Always

Déployer une application avec état

Les applications avec état, par exemple les bases de données, enregistrent les données entre les sessions et nécessitent un stockage persistant pour stocker les données. Les données

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 97

Page 98: Configuration et gestion de vSphere with Kubernetes

conservées sont appelées l'état de l'application. Vous pouvez ensuite récupérer les données et les utiliser lors de la prochaine session. Kubernetes offre des volumes persistants en tant qu'objets pouvant conserver leur état et leurs données.

Dans l'environnement vSphere, les objets de volume persistant sont sauvegardés par des 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. Une fois que l'administrateur vSphere a créé une stratégie de stockage, par exemple Gold et l'attribue à un espace de noms dans un Cluster superviseur, la stratégie de stockage s'affiche comme une classe de stockage Kubernetes correspondante dans l'Espace de noms de superviseur et tous les clusters Tanzu Kubernetes disponibles.

En tant qu'ingénieur DevOps, vous pouvez utiliser la classe de stockage dans vos spécifications de réclamation de volume persistant. Vous pouvez ensuite déployer une application qui utilise le stockage à partir de la réclamation de volume persistant.

Conditions préalables

Assurez-vous que votre administrateur vSphere a créé une stratégie de stockage appropriée et l'a attribuée à l'espace de noms.

Procédure

1 Accédez à votre espace de noms dans l'environnement vSphere Kubernetes.

Reportez-vous à la section S'authentifier sur Cluster superviseur et obtenir les contextes.

2 Vérifiez que les classes de stockage sont disponibles.

Reportez-vous à la section Afficher les classes de stockage dans un Espace de noms de superviseur ou un cluster Tanzu Kubernetes.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 98

Page 99: Configuration et gestion de vSphere with Kubernetes

3 Créez une réclamation de volume persistant.

a Créez un fichier YAML contenant la configuration de réclamation de volume persistant.

Dans cet exemple, le fichier fait référence à la classe de stockage gold.

apiVersion: v1

kind: PersistentVolumeClaim

metadata:

name: my-pvc

spec:

accessModes:

- ReadWriteOnce

storageClassName: gold

resources:

requests:

storage: 3Gi

b Appliquez la réclamation de volume persistant au cluster Kubernetes.

kubectl apply -f pvc_name.yaml

Cette commande crée un volume persistant Kubernetes et un volume vSphere avec un disque virtuel de sauvegarde qui répond aux exigences de stockage de la réclamation.

c Vérifiez l'état de la réclamation du volume persistant.

kubectl get pvc my-pvc

Les résultats indiquent que le volume est lié à la réclamation de volume persistant.

NAME STATUS VOLUME CAPACITY ACCESSMODES STORAGECLASS AGE

my-pvc Bound my-pvc 2Gi RWO gold 30s

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 99

Page 100: Configuration et gestion de vSphere with Kubernetes

4 Créez un espace qui monte votre volume persistant.

a Créez un fichier YAML incluant le volume persistant.

Le fichier contient ces paramètres.

...

volumes:

- name: my-pvc

persistentVolumeClaim:

claimName: my-pvc

b Déployez un espace à partir du fichier YAML :

kubectl create -f pv_pod_name .yaml

c Vérifiez que l'espace a été créé.

kubectl get pod

NAME READY STATUS RESTARTS AGE

pod_name 1/1 Ready 0 40s

Résultats

L'espace que vous avez configuré utilise un stockage persistant décrit dans la réclamation de volume persistant.

Étape suivante

L'administrateur vSphere peut vérifier et surveiller le volume persistant dans vSphere Client. Reportez-vous à la section Surveiller les volumes persistants.

Surveiller les volumes persistants

Lorsque des ingénieurs DevOps déploient une application avec état avec une réclamation de volume persistant, vSphere with Kubernetes crée un objet de volume persistant et un disque virtuel persistant correspondant. En tant qu'administrateur vSphere, vous pouvez vérifier les détails du volume persistant dans vSphere Client. Vous pouvez également surveiller sa conformité de stockage et son état de santé.

Procédure

1 Dans vSphere Client, accédez à l'espace de noms qui contient des volumes persistants.

a Dans le menu d'accueil de vSphere Client, sélectionnez Plate-forme de charge de travail.

b Cliquez sur l'espace de noms.

2 Cliquez sur l'onglet Stockage, puis sur Réclamations du volume persistant.

vSphere Client répertorie tous les objets de réclamation de volume persistant et les volumes correspondants disponibles dans l'espace de noms.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 100

Page 101: Configuration et gestion de vSphere with Kubernetes

3 Pour afficher les détails d'une réclamation de volume persistant sélectionnée, cliquez sur le nom du volume dans la colonne Nom du volume persistant.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 101

Page 102: Configuration et gestion de vSphere with Kubernetes

4 Sur la page Volumes de conteneurs, vérifiez l'état de santé et la conformité de la stratégie de stockage du volume.

a Cliquez sur l'icône Détails et basculez entre les onglets Principes de base et Objets Kubernetes pour afficher des informations supplémentaires sur le volume persistant Kubernetes.

b Vérifiez l'état de conformité du stockage.

Vous pouvez voir l'un des éléments suivants dans la colonne État de conformité.

État de conformité Description

Conforme La banque de données dans laquelle réside la machine virtuelle sauvegardant le volume dispose des capacités de stockage requises par la stratégie.

Périmé L'état indique que la règle a été modifiée, mais que les nouvelles exigences de stockage n'ont pas été communiquées à la banque de données. Pour communiquer les modifications, réappliquez la stratégie au volume périmé.

Non conforme La banque de données prend en charge les conditions de stockage spécifiées, mais n'est actuellement pas conforme à la stratégie de stockage. Par exemple, l'état peut devenir Non conforme lorsque les ressources physiques de la banque de données sont indisponibles. Vous pouvez rendre la banque de données conforme en apportant des modifications à la configuration physique de votre cluster d'hôtes, par exemple, en ajoutant des hôtes ou des disques au cluster. Si ces ressources supplémentaires répondent aux conditions de la stratégie de stockage, l'état devient Conforme.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 102

Page 103: Configuration et gestion de vSphere with Kubernetes

État de conformité Description

Non applicable La stratégie de stockage fait référence aux capacités de banque de données qui ne sont pas prises en charge par la banque de données.

c Si l'état de conformité est Périmé, sélectionnez le volume et cliquez sur Réappliquer la stratégie.

L'état devient Conforme.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 103

Page 104: Configuration et gestion de vSphere with Kubernetes

Exécution de clusters Tanzu Kubernetes dans vSphere with Kubernetes

7Vous pouvez déployer des charges de travail de conteneur sur vSphere en provisionnant des clusters Tanzu Kubernetes à l'aide de l'API déclarative Service Tanzu Kubernetes Grid. Service Tanzu Kubernetes Grid fournit une intégration native à vSphere et une gestion complète du cycle de vie des clusters Kubernetes. Un cluster Tanzu Kubernetes permet la prise en charge d'opérations d'authentification, de stockage, de mise en réseau et de cloud. Vous pouvez interagir avec le service et les clusters provisionnés à l'aide d'interfaces familières, notamment vSphere Client et l'interface de ligne de commande Kubernetes.

Ce chapitre contient les rubriques suivantes :

n Connexion à l'environnement du cluster Tanzu Kubernetes

n Création de clusters Tanzu Kubernetes

n Déploiement de charges de travail sur des clusters Tanzu Kubernetes

n Fonctionnement des clusters Tanzu Kubernetes

Connexion à l'environnement du cluster Tanzu Kubernetes

Vous pouvez vous connecter à des clusters Tanzu Kubernetes à l'aide de diverses méthodes et vous authentifier en fonction de votre rôle et de vos objectifs.

Télécharger et installer les Outils de l'interface de ligne de commande Kubernetes pour vSphere

Vous pouvez utiliser Outils de l'interface de ligne de commande Kubernetes pour vSphere pour afficher et contrôler des espaces de noms et clusters vSphere with Kubernetes.

Le module de téléchargement des outils de l'interface de ligne de commande Kubernetes comporte deux exécutables : le kubectl Open Source standard et le plug-in Plug-in vSphere pour kubectl. L'interface de ligne de commande kubectl dispose d'une architecture enfichable. Le plug-in Plug-in vSphere pour kubectl étend les commandes disponibles pour kubectl afin que vous vous connectiez au Cluster superviseur et aux clusters Tanzu Kubernetes à l'aide des informations d'identification vCenter Single Sign-On.

Note Nous vous recommandons de télécharger et d'installer la dernière édition du Plug-in vSphere pour kubectl.

VMware, Inc. 104

Page 105: Configuration et gestion de vSphere with Kubernetes

Conditions préalables

n Obtenez le lien de la page de téléchargement Outils de l'interface de ligne de commande Kubernetes auprès de votre administrateur vSphere.

n Si vous avez accès à vCenter Server, vous pouvez également obtenir le lien comme suit :

n Connectez-vous à vCenter Server en utilisant vSphere Client.

n Accédez à Cluster vSphere > Espaces de noms > Espace de noms du superviseur.

n Sélectionnez l'onglet Résumé et localisez la zone État sur cette page.

n Sélectionnez Ouvrir sous l'en-tête Lien vers les outils de CLI pour ouvrir la page de téléchargement. Vous pouvez également Copier le lien.

Procédure

1 À l'aide d'un navigateur, accédez à l'URL de téléchargement des Outils de l'interface de ligne de commande Kubernetes de votre environnement.

2 Sélectionnez le système d'exploitation.

3 Téléchargez le fichier vsphere-plugin.zip.

4 Extrayez le contenu du fichier ZIP dans un répertoire de travail.

Le module vsphere-plugin.zip contient deux fichiers exécutables : kubectl et Plug-in vSphere pour kubectl. kubectl est l'interface de ligne de commande Kubernetes standard. kubectl-vsphere est le plug-in Plug-in vSphere pour kubectl qui vous aide à vous authentifier avec le Cluster superviseur et les clusters Tanzu Kubernetes à l'aide de vos informations d'identification vCenter Single Sign-On.

5 Ajoutez l'emplacement des deux exécutables à la variable CHEMIN D'ACCÈS de votre système.

6 Pour vérifier l'installation de l'interface de ligne de commande kubectl, démarrez un shell, un terminal ou une session d'invite de commande et exécutez la commande kubectl.

Le message de la bannière kubectl et la liste des options de ligne de commande s'affichent pour l'interface de ligne de commande.

7 Pour vérifier l'installation du plug-in Plug-in vSphere pour kubectl, exécutez la commande kubectl vsphere.

Le message de la bannière Plug-in vSphere pour kubectl et la liste des options de ligne de commande s'affichent pour le plug-in.

Étape suivante

Télécharger et installer des certificats TLS.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 105

Page 106: Configuration et gestion de vSphere with Kubernetes

Télécharger et installer des certificats TLS

Pour vous connecter en toute sécurité à des clusters Tanzu Kubernetes, téléchargez et installez le certificat d'autorité de certification racine pour vCenter Server et la dernière édition du Plug-in vSphere pour kubectl.

Certificat d'autorité de certification de vCenter Server

vSphere with Kubernetes prend en charge vCenter Single Sign-On pour l'accès au cluster à l'aide de la commande kubectl vsphere login … de Plug-in vSphere pour kubectl.

Pour vous connecter en toute sécurité à un cluster Tanzu Kubernetes à l'aide du plug-in, vous avez besoin du certificat d'autorité de certification racine pour vCenter Server ou du certificat de l'autorité de certification personnalisée si votre administrateur vSphere a remplacé le certificat d'autorité de certification racine.

Pour télécharger et installer le certificat d'autorité de certification racine vCenter Server, reportez-vous à l'article de la base de connaissances VMware Comment télécharger et installer des certificats racines pour vCenter Server.

Certificat d'autorité de certification du cluster Tanzu Kubernetes

Pour établir une connexion sécurisée avec le serveur d'API du cluster Tanzu Kubernetes à l'aide de l'interface de ligne de commande kubectl, vous devez disposer du certificat d'autorité de certification du cluster Tanzu Kubernetes.

Si vous utilisez la dernière édition du Plug-in vSphere pour kubectl, lors de votre première connexion au cluster Tanzu Kubernetes, le plug-in installe le certificat d'autorité de certification du cluster Tanzu Kubernetes à votre place. Ce certificat est stocké dans le secret Kubernetes nommé TANZU-KUBERNETES-CLUSTER-NAME-ca. Le plug-in utilise ce certificat pour remplir les informations de l'autorité de certification dans la banque de données de l'autorité de certification du cluster correspondant.

Si vous mettez à jour vSphere with Kubernetes, assurez-vous d'effectuer la mise à jour vers la dernière version du plug-in. Reportez-vous à la section Mettre à jour le Plug-in vSphere pour kubectl.

Se connecter à Cluster superviseur en tant qu'utilisateur vCenter Single Sign-On

Pour provisionner des clusters Tanzu Kubernetes à l'aide de Service Tanzu Kubernetes Grid, connectez-vous à Cluster superviseur à l'aide du Plug-in vSphere pour kubectl et authentifiez-vous avec vos informations d'identification vCenter Single Sign-On.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 106

Page 107: Configuration et gestion de vSphere with Kubernetes

Une fois que vous êtes connecté à Cluster superviseur, Plug-in vSphere pour kubectl génère le contexte du cluster. Dans Kubernetes, un contexte de configuration contient un cluster, un espace de noms et un utilisateur. Vous pouvez afficher le contexte du cluster dans le fichier .kube/config. Ce fichier est communément appelé fichier kubeconfig.

Note Si vous disposez d'un fichier kubeconfig existant, celui-ci est ajouté à chaque contexte du cluster. Plug-in vSphere pour kubectl respecte la variable d'environnement KUBECONFIG déjà utilisée par kubectl elle-même. Bien que cela ne soit pas obligatoire, il peut être utile de définir cette variable avant d'exécuter kubectl vsphere login ... afin que les informations soient écrites dans un nouveau fichier au lieu d'être ajoutées à votre fichier kubeconfig actuel.

Conditions préalables

n Obtenez vos informations d'identification vCenter Single Sign-On.

n Obtenez l'adresse IP du plan de contrôle du Cluster superviseur.

n Obtenez le nom de l'Espace de noms de superviseur.

n Obtenez la confirmation que vous disposez des autorisations Modification sur l'Espace de noms de superviseur.

n Télécharger et installer les Outils de l'interface de ligne de commande Kubernetes pour vSphere .

n Vérifiez que le certificat desservi par le plan de contrôle Kubernetes est approuvé sur votre système, soit en faisant en sorte que l'autorité de certification de signature soit installée en tant que racine d'approbation, soit en ajoutant le certificat en tant que racine d'approbation directement.

Procédure

1 Pour afficher la syntaxe et les options de la commande pour la connexion, exécutez la commande suivante.

kubectl vsphere login --help

2 Exécutez la commande suivante pour vous connecter à Cluster superviseur.

kubectl vsphere login --server= <ADRESSE-IP-DU-PLAN-DE-CONTRÔLE-KUBERNETES> --vsphere-

username <VCENTER-SSO-USER>

Par exemple :

kubectl vsphere login --server=10.92.42.13 --vsphere-username [email protected]

Cette action crée un fichier de configuration avec le jeton Web JSON (JWT) afin de s'authentifier auprès de l'API Kubernetes.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 107

Page 108: Configuration et gestion de vSphere with Kubernetes

3 Entrez le mot de passe de l'utilisateur pour vous authentifier.

Une fois que vous êtes connecté à Cluster superviseur, vous pouvez voir les contextes de configuration auxquels vous pouvez accéder. Par exemple :

You have access to the following contexts:

tanzu-ns-1

tkg-cluster-1

tkg-cluster-2

4 Pour afficher les détails des contextes de configuration auxquels vous pouvez accéder, exécutez la commande kubectl suivante :

kubectl config get-contexts

L'interface de ligne de commande affiche les détails de chaque contexte disponible.

5 Pour basculer entre les contextes, utilisez la commande suivante :

kubectl config use-context <example-context-name>

Étape suivante

Se connecter à un cluster Tanzu Kubernetes en tant qu'utilisateur vCenter Single Sign-On.

Se connecter à un cluster Tanzu Kubernetes en tant qu'utilisateur vCenter Single Sign-On

Vous pouvez vous connecter à un cluster Tanzu Kubernetes à l'aide de Plug-in vSphere pour kubectl et vous authentifier avec vos informations d'identification vCenter Single Sign-On.

Une fois que vous êtes connecté au cluster Tanzu Kubernetes, Plug-in vSphere pour kubectl génère le contexte du cluster. Dans Kubernetes, un contexte de configuration contient un cluster, un espace de noms et un utilisateur. Vous pouvez afficher le contexte du cluster dans le fichier .kube/config. Ce fichier est communément appelé fichier kubeconfig.

Note Si vous disposez d'un fichier kubeconfig existant, celui-ci est ajouté à chaque contexte du cluster. Plug-in vSphere pour kubectl respecte la variable d'environnement KUBECONFIG déjà utilisée par kubectl elle-même. Bien que cela ne soit pas obligatoire, il peut être utile de définir cette variable avant d'exécuter kubectl vsphere login ... afin que les informations soient écrites dans un nouveau fichier au lieu d'être ajoutées à votre fichier kubeconfig actuel.

Conditions préalables

Obtenez les informations suivantes auprès de votre administrateur vSphere :

n Obtenez vos informations d'identification vCenter Single Sign-On.

n Obtenez l'adresse IP du plan de contrôle du Cluster superviseur.

n Obtenez le nom de l'Espace de noms de superviseur.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 108

Page 109: Configuration et gestion de vSphere with Kubernetes

n Télécharger et installer les Outils de l'interface de ligne de commande Kubernetes pour vSphere .

Procédure

1 Pour afficher la syntaxe et les options de la commande pour la connexion, exécutez la commande suivante.

kubectl vsphere login --help

2 Exécutez la commande suivante pour vous connecter au cluster Tanzu Kubernetes.

kubectl vsphere login --server=SUPERVISOR-CLUSTER-CONTROL-PLANE-IP

--tanzu-kubernetes-cluster-name TANZU-KUBERNETES-CLUSTER-NAME

--tanzu-kubernetes-cluster-namespace SUPERVISOR-NAMESPACE-WHERE-THE-CLUSTER-IS-DEPLOYED

--vsphere-username VCENTER-SSO-USER-NAME

Par exemple :

kubectl vsphere login --server=10.92.42.137

--tanzu-kubernetes-cluster-name tanzu-kubernetes-cluster-01

--tanzu-kubernetes-cluster-namespace tanzu-ns-1

--vsphere-username [email protected]

Cette action crée un fichier de configuration avec le jeton Web JSON (JWT) afin de s'authentifier auprès de l'API Kubernetes.

3 Pour vous authentifier, entrez votre mot de passe vCenter Single Sign-On.

Si l'opération réussit, le message Logged in successfully s'affiche et vous pouvez exécuter des commandes kubectl sur le cluster. Si la commande renvoie Error from server (Forbidden), cette erreur signifie généralement que vous ne disposez pas des autorisations requises. Pour plus d'informations, consultez Dépanner les erreurs de connexion vCenter Single Sign-On.

4 Pour obtenir une liste de contextes auxquels vous avez accès, exécutez la commande suivante :

kubectl config get-contexts

Cette commande répertorie les contextes de configuration auxquels vous avez accès. Vous devez voir un contexte de configuration pour le cluster cible, tel que tkg-cluster-01.

5 Pour utiliser le contexte du cluster cible, exécutez la commande suivante :

kubectl config use-context CLUSTER-NAME

6 Pour répertorier les nœuds de cluster, exécutez la commande suivante :

kubectl get nodes

Vous voyez le plan de contrôle et les nœuds worker présents dans ce cluster.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 109

Page 110: Configuration et gestion de vSphere with Kubernetes

7 Pour répertorier tous les espaces de cluster, exécutez la commande suivante :

kubectl get pods -A

Vous voyez désormais tous les espaces de ce cluster dans tous les espaces de noms auxquels vous avez accès. Si vous n'avez déployé aucune charge de travail, vous ne voyez aucun espace dans l'espace de noms par défaut.

Se connecter au Tanzu Kubernetes plan de contrôle de cluster en tant qu'administrateur Kubernetes

Vous pouvez vous connecter au Tanzu Kubernetes plan de contrôle de cluster en tant qu'utilisateur kubernetes-admin pour les tâches administratives et résoudre les problèmes de cluster.

Un fichier kubeconfig valide pour un cluster Tanzu Kubernetes provisionné est disponible sur le Cluster superviseur en tant qu'objet secret nommé CLUSTER-NAME-kubeconfig. Vous pouvez utiliser ce secret pour vous connecter au plan de contrôle du cluster en tant qu'utilisateur kubernetes-admin. Cela peut être nécessaire si vCenter Single Sign-On n'est pas disponible. Pour plus d'informations sur ce secret, reportez-vous à Secrets du cluster Tanzu Kubernetes.

Conditions préalables

Connectez-vous au Cluster superviseur. Reportez-vous à la section Se connecter à Cluster superviseur en tant qu'utilisateur vCenter Single Sign-On.

Procédure

1 Changez de contexte pour utiliser l'Espace de noms de superviseur où le cluster Tanzu Kubernetes est provisionné.

kubectl config use-context SUPERVISOR-NAMESPACE

2 Affichez le secret en exécutant la commande suivante.

kubectl get secrets

Cette commande renvoie plusieurs objets secrets utilisés dans l'espace de noms. Le secret dont vous avez besoin ici est nommé CLUSTER-NAME-kubeconfig. Pour plus d'informations sur cet objet secret, reportez-vous à Secrets du cluster Tanzu Kubernetes.

3 Accédez au secret en exécutant la commande suivante.

Note Les informations d'identification nécessaires pour déchiffrer le mot de passe sont codées en base 64. Sur Linux, utilisez -d pour la décoder. Sur Mac, utilisez -D.

kubectl get secret CLUSTER-NAME-kubeconfig -o jsonpath='{.data.value}' | base64 -d > tkg-cluster-

kubeconfig-admin

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 110

Page 111: Configuration et gestion de vSphere with Kubernetes

Cette commande écrit le secret décodé dans un fichier local nommé tkg-cluster-kubeconfig-admin. Vous pouvez utiliser la commande cat pour lire le fichier et le vérifier.

4 Connectez-vous au cluster Tanzu Kubernetes en tant qu'administrateur Kubernetes en utilisant le fichier tkg-cluster-kubeconfig-admin décodé.

Il existe deux moyens d'effectuer cette action :

Option Description

--kubeconfig <path\to\kubeconfig> Utilisez l'indicateur --kubeconfig et le chemin d'accès au fichier kubeconfig local. Par exemple, en supposant que le fichier kubeconfig se trouve dans le répertoire où vous exécutez la commande : kubectl --kubeconfig tkg-cluster-kubeconfig-admin get nodes

KUBECONFIG Définissez votre variable d'environnement KUBECONFIG pour qu'elle pointe vers le fichier kubeconfig décodé et exécutez kubectl, tel que kubectl get nodes.

Connectez-vous par SSH aux nœuds de cluster Tanzu Kubernetes en tant qu'utilisateur système

Vous pouvez accéder aux nœuds de cluster Tanzu Kubernetes et les dépanner en tant que vmware-system-user à l'aide du protocole SSH.

Pour le dépannage, vous pouvez vous connecter par SSH à n'importe quel nœud de cluster Tanzu Kubernetes en tant qu'utilisateur vmware-system-user. Le secret qui contient la clé privée SSH est nommé CLUSTER-NAME-ssh. Pour plus d'informations sur ce secret, reportez-vous à Secrets du cluster Tanzu Kubernetes.

Conditions préalables

Connectez-vous au cluster Tanzu Kubernetes. Reportez-vous à la section Se connecter à un cluster Tanzu Kubernetes en tant qu'utilisateur vCenter Single Sign-On.

Procédure

1 Créez une variable d'environnement nommée NAMESPACE dont la valeur est le nom de l'Espace de noms de superviseur.

export NAMESPACE=YOUR-SUPERVISOR-NAMESPACE

2 Changez de contexte pour utiliser l'Espace de noms de superviseur où le cluster Tanzu Kubernetes est provisionné.

kubectl config use-context $NAMESPACE

3 Exécutez la commande kubectl suivante pour afficher l'objet secret YOUR-CLUSTER-NAME-ssh.

kubectl get secrets

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 111

Page 112: Configuration et gestion de vSphere with Kubernetes

Pour plus d'informations sur l'objet secret YOUR-CLUSTER-NAME-ssh, reportez-vous à la section Secrets du cluster Tanzu Kubernetes.

4 Créez un espace de système JumpBox à l'aide de la spécification d'espace jumpbox.yaml suivante. Remplacez les valeurs de namespace et secretName par les valeurs qui correspondent à votre environnement.

apiVersion: v1

kind: Pod

metadata:

name: jumpbox

namespace: YOUR-NAMESPACE #REPLACE YOUR-NAMESPACE

spec:

containers:

- image: "photon:3.0"

name: jumpbox

command: [ "/bin/bash", "-c", "--" ]

args: [ "yum install -y openssh-server; mkdir /root/.ssh; cp /root/ssh/ssh-privatekey /

root/.ssh/id_rsa; chmod 600 /root/.ssh/id_rsa; while true; do sleep 30; done;" ]

volumeMounts:

- mountPath: "/root/ssh"

name: ssh-key

readOnly: true

volumes:

- name: ssh-key

secret:

secretName: YOUR-CLUSTER-NAME-ssh #REPLACE YOUR-CLUSTER-NAME

5 Provisionnez l'espace de système JumpBox en appliquant la spécification jumpbox.yaml.

kubectl apply -f jumpbox.yaml

6 Créez une variable d'environnement avec l'adresse IP du nœud de cluster cible en exécutant l'ensemble de commandes suivant.

a Obtenez le nom de la machine virtuelle cible.

kubectl get virtualmachines

b Créez une variable d'environnement nommée VMNAME dont la valeur est le nom du nœud cible.

export VMNAME=NAME-OF-THE-VIRTUAL-MACHINE

c Créez une variable d'environnement nommée VMIP dont la valeur est l'adresse IP de la machine virtuelle du nœud cible.

export VMIP=$(kubectl -n $NAMESPACE get virtualmachine/$VMNAME -o jsonpath='{.status.vmIp}')

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 112

Page 113: Configuration et gestion de vSphere with Kubernetes

7 Connectez-vous par SSH au nœud de cluster à l'aide de l'espace de système JumpBox en exécutant la commande suivante.

kubectl exec -it jumpbox /usr/bin/ssh vmware-system-user@$VMIP

Étape suivante

Une fois que vous vous êtes authentifié, il peut être nécessaire d'utiliser sudo ou sudo su pour effectuer certaines opérations, telles que le redémarrage de kubelet.

Se connecter à un nœud de cluster en tant qu'utilisateur système avec un mot de passe

Vous pouvez vous connecter à n'importe quel nœud de cluster en tant qu'utilisateur vmware-system-user à l'aide d'un mot de passe pour dépanner un cluster Tanzu Kubernetes. Vous pouvez fournir le mot de passe via SSH ou à l'aide de la console de machine virtuelle.

Vous pouvez vous connecter à un nœud de cluster en tant qu'utilisateur vmware-system-user avec un mot de passe. Le mot de passe est stocké sous la forme d'un secret nommé CLUSTER-NAME-ssh-password. Le mot de passe est codé en base 64 dans .data.ssh-passwordkey. Vous pouvez le fournir via une session SSH ou en accédant à la console de la machine virtuelle à l'aide de vSphere Client. Pour plus d'informations sur ce secret, reportez-vous à Secrets du cluster Tanzu Kubernetes.

Conditions préalables

Connectez-vous au Cluster superviseur. Reportez-vous à la section Se connecter à un cluster Tanzu Kubernetes en tant qu'utilisateur vCenter Single Sign-On.

Procédure

1 Changez de contexte pour utiliser l'Espace de noms de superviseur où le cluster Tanzu Kubernetes est provisionné.

kubectl config use-context NAMESPACE

2 Affichez le secret.

kubectl get secrets

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 113

Page 114: Configuration et gestion de vSphere with Kubernetes

3 Procurez-vous le mot de passe pour le cluster cible, décodez-le et écrivez-le dans un fichier local.

kubectl get secret CLUSTER-NAME-ssh-password -o jsonpath='{.data.ssh-passwordkey}' | base64 -d >

tkg-cluster-password

Note Les informations d'identification nécessaires pour déchiffrer le mot de passe sont codées en base 64. Sur Linux, utilisez -d pour la décoder. Sur Mac, utilisez -D.

La commande écrit le mot de passe dans un nom de fichier local nommé tkg-cluster-password.

4 Procurez-vous l'adresse IP de la machine virtuelle du nœud de cluster cible.

kubectl get virtualmachines

5 Connectez-vous à distance au nœud de la machine virtuelle cible à l'aide de SSH ou à l'aide de la console Web.

Option Description

Se connecter via SSH a Exécutez une session shell ou de terminal.

b Exécutez la commande suivante :

ssh vmware-system-user@NODE-IP-ADDRESS

c Entrez le mot de passe dans l'invite.

Connectez-vous à l'aide de la console Web.

a Connectez-vous à vCenter Server en utilisant vSphere Client.

b Sélectionnez Menu > VM et modèles.

c Localisez la machine virtuelle dans l'inventaire vSphere.

d Cliquez sur Lancer la console Web et sélectionnez OK.

e Entrez le nom d'utilisateur vmware-system-user à l'invite.

f Entrez le mot de passe dans l'invite.

Accorder aux développeurs l'accès aux clusters Tanzu Kubernetes

Les développeurs sont les utilisateurs cibles de Kubernetes. Une fois qu'un cluster Tanzu Kubernetes est provisionné, vous pouvez y accorder accès aux développeurs à l'aide de l'authentification vCenter Single Sign-On.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 114

Page 115: Configuration et gestion de vSphere with Kubernetes

Authentification pour les développeurs

Un administrateur de cluster peut accorder un accès au cluster à d'autres utilisateurs, tels que des développeurs. Les développeurs peuvent déployer des espaces sur des clusters directement à l'aide de leurs comptes d'utilisateur ou indirectement à l'aide de comptes de service. Pour plus d'informations, consultez Utilisation des stratégies de sécurité de l'espace avec les clusters Tanzu Kubernetes.

n Pour l'authentification de compte d'utilisateur, les clusters Tanzu Kubernetes prennent en charge les utilisateurs et les groupes vCenter Single Sign-On. L'utilisateur ou le groupe peut être local par rapport à vCenter Server ou synchronisé à partir d'un serveur d'annuaire pris en charge.

n Pour l'authentification de compte de service, vous pouvez utiliser des jetons de service. Pour plus d'informations, consultez la documentation Kubernetes.

Ajout d'utilisateurs développeurs à un cluster

Pour accorder aux développeurs l'accès au cluster :

1 Définissez un rôle ou ClusterRole pour l'utilisateur ou le groupe, et appliquez-le au cluster. Pour plus d'informations, consultez la documentation Kubernetes.

2 Créez un RoleBinding ou ClusterRoleBinding pour l'utilisateur ou le groupe, et appliquez-le au cluster. Voir l'exemple suivant.

Exemple de RoleBinding

Pour accorder accès à un utilisateur ou un groupe vCenter Single Sign-On, l'objet du RoleBinding doit contenir l'une des valeurs suivantes pour le paramètre name.

Tableau 7-1. Champs d'utilisateur et de groupe pris en charge

Champ Description

sso:USER-NAME@DOMAIN Par exemple, un nom d'utilisateur local, tel que sso:[email protected].

sso:GROUP-NAME@DOMAIN Par exemple, un nom de groupe à partir d'un serveur d'annuaire intégré à vCenter Server, tel que sso:[email protected].

L'exemple de RoleBinding suivant lie l'utilisateur local vCenter Single Sign-On nommé Joe au ClusterRole par défaut nommé edit. Ce rôle autorise un accès en lecture/écriture à la plupart des objets d'un espace de noms, dans ce cas l'espace de noms default.

kind: RoleBinding

apiVersion: rbac.authorization.k8s.io/v1

metadata:

name: rolebinding-cluster-user-joe

namespace: default

roleRef:

kind: ClusterRole

name: edit #Default ClusterRole

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 115

Page 116: Configuration et gestion de vSphere with Kubernetes

apiGroup: rbac.authorization.k8s.io

subjects:

- kind: User

name: sso:[email protected] #sso:<username>@<domain>

apiGroup: rbac.authorization.k8s.io

Création de clusters Tanzu Kubernetes

Vous pouvez créer des clusters Tanzu Kubernetes en appelant l'API déclarative de Service Tanzu Kubernetes Grid à l'aide de l'interface de ligne de commande kubectl et une spécification de cluster définie à l'aide de YAML.

Workflow de création de clusters Tanzu Kubernetes

Vous provisionnez des clusters Tanzu Kubernetes en appelant l'API déclarative Service Tanzu Kubernetes Grid. Une fois qu'un cluster est provisionné, vous pouvez utiliser des ressources personnalisées pour le gérer et déployer des charges de travail à l'aide de kubectl.

Workflow de création de clusters Tanzu Kubernetes

Le workflow fournit une présentation de haut niveau du processus de provisionnement. Chacune des étapes comporte des liens pour obtenir plus d'informations sur la tâche spécifique.

1 Vérifiez auprès de votre administrateur vSphere que les conditions préalables suivantes sont remplies.

a vSphere with Kubernetes (gestion de la charge de travail) est activé pour votre centre de données.

b Un Espace de noms de superviseur est créé et configuré pour héberger le cluster Tanzu Kubernetes.

n Les autorisations de modification sont accordées à un ou plusieurs ingénieurs DevOps afin d'accéder à l'Espace de noms de superviseur à l'aide de leurs identifiants vCenter Single Sign-On.

n Une stratégie de stockage basée sur des balises est définie et associée à l'Espace de noms de superviseur.

n Les quotas de capacité et d'utilisation sont vérifiés et ajustés, le cas échéant.

2 Pour héberger les fichiers OVA afin de créer des nœuds de cluster Tanzu Kubernetes, créez une bibliothèque de contenu abonnée sur une banque de données partagée. Pour plus d'informations, consultez Créer une bibliothèque de contenu avec abonnement pour les clusters Tanzu Kubernetes.

3 Pour vous connecter à des clusters Tanzu Kubernetes et les utiliser, téléchargez et installez les Outils de l'interface de ligne de commande Kubernetes pour vSphere . Pour plus d'informations, consultez Télécharger et installer les Outils de l'interface de ligne de commande Kubernetes pour vSphere .

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 116

Page 117: Configuration et gestion de vSphere with Kubernetes

4 Pour provisionner des clusters Tanzu Kubernetes, authentifiez-vous auprès du Cluster superviseur. Pour plus d'informations, consultez Se connecter à Cluster superviseur en tant qu'utilisateur vCenter Single Sign-On.

5 Pour définir la spécification d'un cluster Tanzu Kubernetes, créez le fichier YAML de configuration du cluster comme suit.

a Pour consulter la liste des paramètres de configuration pour le provisionnement de clusters Tanzu Kubernetes, voir Paramètres de configuration pour les clusters Tanzu Kubernetes.

b Pour répertorier les classes de machines virtuelles disponibles et décider de celles à utiliser, exécutez la commande suivante. Pour plus d'informations, consultez Types de classes de machines virtuelles pour les clusters Tanzu Kubernetes.

kubectl describe virtualmachineclasses

c Pour déterminer les classes de stockage disponibles et décider de celles à utiliser, exécutez la commande suivante. Pour plus d'informations, consultez Stockage dans vSphere with Kubernetes.

kubectl describe namespace SUPERVISOR-NAMESPACE

d Pour répertorier les versions de logiciels Kubernetes disponibles, exécutez la commande suivante.

kubectl get virtualmachineimages

e Pour créer le fichier YAML pour le provisionnement du cluster Tanzu Kubernetes, utilisez les informations collectées aux sous-étapes a, b, c et d, et reportez-vous aux exemples : Exemple de fichiers YAML pour le provisionnement de clusters Tanzu Kubernetes.

6 Pour provisionner le cluster, exécutez la commande suivante. Pour plus d'informations, consultez Provisionner un cluster Tanzu Kubernetes.

kubectl apply -f CLUSTER-NAME.yaml

7 Pour surveiller le déploiement de nœuds de cluster, utilisez vSphere Client et kubectl. Pour plus d'informations, reportez-vous à Surveiller l'état du cluster Tanzu Kubernetes à l'aide de vSphere Client et Surveiller l'état du cluster Tanzu Kubernetes à l'aide de kubectl.

8 Pour vous connecter au cluster, utilisez le Plug-in vSphere pour kubectl. Pour plus d'informations, consultez Se connecter à un cluster Tanzu Kubernetes en tant qu'utilisateur vCenter Single Sign-On.

9 Pour vérifier la création du cluster Tanzu Kubernetes, déployez un exemple de charge de travail. Pour plus d'informations, reportez-vous aux rubriques suivantes :

n Exemple de charge de travail Tanzu Kubernetes

n Exemple d'équilibrage de charge du service Tanzu Kubernetes

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 117

Page 118: Configuration et gestion de vSphere with Kubernetes

n Exemple d'entrée Tanzu Kubernetes

n Exemple de réclamation de volume persistant Tanzu Kubernetes

Note La stratégie de sécurité de l'espace est activée sur les clusters Tanzu Kubernetes. En fonction de la charge de travail et de l'utilisateur, il peut être nécessaire de créer une liaison RoleBinding appropriée ou une stratégie PodSecurityPolicy personnalisée. Pour plus d'informations, consultez Utilisation des stratégies de sécurité de l'espace avec les clusters Tanzu Kubernetes.

Créer une bibliothèque de contenu avec abonnement pour les clusters Tanzu Kubernetes

L'administrateur vSphere configure une bibliothèque de contenu avec abonnement sur le Cluster superviseur. L'image de machine virtuelle utilisée pour les nœuds de cluster Tanzu Kubernetes est extraite de cette bibliothèque.

Une bibliothèque de contenu avec abonnement provient d'une bibliothèque de contenu publiée. Une fois l'abonnement créé, le système le synchronise avec la bibliothèque publiée. Pour créer les nœuds de cluster Tanzu Kubernetes, VMware publie une bibliothèque OVA Photon OS à laquelle vous vous abonnez. Une fois que l'abonné est synchronisé avec l'éditeur, vous pouvez associer la bibliothèque de contenu au Cluster superviseur.

Il existe deux méthodes pour synchroniser des images.

n À la demande. La bibliothèque de contenu télécharge les images avec abonnement à la demande.

n Lors de la publication. La bibliothèque de contenu synchronise automatiquement les images avec abonnement lorsqu'elles sont publiées.

Le téléchargement à la demande requiert moins d'espace de stockage. Cette considération est importante, car d'autres images contenant différentes versions de Kubernetes sont publiées. En revanche, lors de votre première utilisation d'une nouvelle version, vous devez attendre que le téléchargement ait lieu.

Note Si la bibliothèque de contenu avec abonnement atteint la capacité de stockage de sa banque de données, vous devez migrer les clusters afin d'utiliser une nouvelle bibliothèque. Reportez-vous à la section Migrer des clusters Tanzu Kubernetes vers une nouvelle bibliothèque de contenu.

Conditions préalables

Les privilèges suivants sont requis pour créer une bibliothèque de contenu avec abonnement :

n Bibliothèque de contenu.Créer une bibliothèque locale ou Bibliothèque de contenu.Créer une bibliothèque abonnée sur l'instance de vCenter Server sur laquelle vous souhaitez créer la bibliothèque.

n Banque de données.Allouer de l'espace sur la banque de données de destination.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 118

Page 119: Configuration et gestion de vSphere with Kubernetes

Procédure

1 Dans vSphere Client, sélectionnez Menu > Bibliothèques de contenu.

2 Cliquez sur l'icône Créer une bibliothèque de contenu.

L'assistant Nouvelle bibliothèque de contenu s'ouvre.

3 Entrez les informations d'identification sur la page Nom et emplacement.

a Entrez un Nom pour la bibliothèque de contenu.

b Pour vCenter Server, sélectionnez l'instance de vCenter Server dans laquelle l'espace de noms du Cluster superviseur est configuré.

c Cliquez sur Suivant.

4 Fournissez les détails de la configuration de la bibliothèque de contenu sur la page Configurer la bibliothèque de contenu.

a Sélectionnez l'élément de menu Bibliothèque de contenu avec abonnement.

b Dans la zone de texte URL d'abonnement, entrez l'adresse URL de la bibliothèque publiée https://wp-content.vmware.com/v2/latest/lib.json.

c Pour l'option Télécharger du contenu , sélectionnez l'option Télécharger le contenu de la bibliothèque uniquement lorsque cela est nécessaire , ce qui télécharge les OVA à la demande.

d Cliquez sur Suivant.

5 Lorsqu'un message vous y invite, acceptez l'empreinte du certificat SSL.

L'empreinte du certificat SSL est stockée sur votre système jusqu'à ce que vous supprimiez de l'inventaire la bibliothèque de contenu abonnée.

6 Sur la page Ajouter un stockage, sélectionnez une banque de données en tant qu'emplacement de stockage pour le contenu de la bibliothèque de contenu et cliquez sur Suivant.

7 Sur la page Prêt à terminer, passez en revue les détails et cliquez sur Terminer.

8 Sur la page Bibliothèques de contenu, confirmez que la bibliothèque est synchronisée.

9 Accédez à la vue Menu > Hôtes et clusters.

10 Dans l'inventaire vSphere, sélectionnez l'objet de cluster vSphere et sélectionnez l'onglet Configurer.

11 Sélectionnez l'option Espaces de noms > Général.

12 Pour la Bibliothèque de contenu, cliquez sur Modifier.

13 Cliquez sur Ajouter une bibliothèque.

14 Sélectionnez la Bibliothèque de contenu avec abonnement Kubernetes que vous avez créée.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 119

Page 120: Configuration et gestion de vSphere with Kubernetes

15 Cliquez sur OK pour terminer la procédure.

Provisionner un cluster Tanzu Kubernetes

Provisionnez un cluster Tanzu Kubernetes à l'aide d'un fichier YAML déclaratif qui appelle l'API Service Tanzu Kubernetes Grid.

Conditions préalables

n Obtenez l'adresse IP du plan de contrôle du Cluster superviseur.

n Obtenez le nom de l'Espace de noms de superviseur dans lequel vous prévoyez de déployer le cluster Tanzu Kubernetes.

n Créez et associez une bibliothèque de contenu abonnée. Reportez-vous à la section Créer une bibliothèque de contenu avec abonnement pour les clusters Tanzu Kubernetes.

n Authentifiez-vous avec le Cluster superviseur. Reportez-vous à la section Se connecter à Cluster superviseur en tant qu'utilisateur vCenter Single Sign-On.

Procédure

1 Basculez vers l'espace de noms dans lequel vous souhaitez déployer le cluster Tanzu Kubernetes.

kubectl config use-context SUPERVISOR-NAMESPACE

Par exemple :

kubectl config use-context sns-1

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 120

Page 121: Configuration et gestion de vSphere with Kubernetes

2 Sélectionnez une version d'image.

a Obtenez une liste des images de contenu disponibles et de la version de Kubernetes fournie par l'image.

kubectl get virtualmachineimages

Exemple de résultat :

NAME VERSION OSTYPE

photon-3-k8s-v1.16.4---vmware.1-tkg.1.baa5e61 v1.16.4+vmware.1-tkg.1.baa5e61

vmwarePhoton64Guest

b Pour afficher plus d'informations sur les images disponibles, exécutez la commande suivante.

kubectl describe virtualmachineimages

c Déterminez la version d'image que vous souhaitez utiliser. Par exemple, v1.16.6+vmware.1-tkg.1.886c781.

Note L'exemple montre la version sémantique complète. Les raccourcis de version sont pris en charge, tels que version: v1.16.6 et version: v1.16. Reportez-vous à la section Paramètres de configuration pour les clusters Tanzu Kubernetes.

3 Créez un fichier YAML avec les paramètres de configuration requis pour définir le cluster.

a Commencez par l'un des exemples de fichiers YAML. Reportez-vous à la section Exemple de fichiers YAML pour le provisionnement de clusters Tanzu Kubernetes.

b Élaborez le YAML en fonction de vos spécifications en faisant référence à la liste des paramètres pris en charge. Reportez-vous à la section Paramètres de configuration pour les clusters Tanzu Kubernetes.

4 Provisionnez le cluster Tanzu Kubernetes à l'aide de la commande kubectl suivante.

kubectl apply -f CLUSTER-NAME.yaml

5 Pour surveiller le provisionnement de clusters et la création de nœuds, utilisez vSphere Client. Reportez-vous à la section Surveiller l'état du cluster Tanzu Kubernetes à l'aide de vSphere Client.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 121

Page 122: Configuration et gestion de vSphere with Kubernetes

6 Pour vérifier que le cluster a été provisionné, exécutez les commandes kubectl suivantes.

a Pour répertorier les clusters provisionnés dans l'espace de noms, exécutez la commande suivante.

kubectl get tanzukubernetesclusters

Exemple de résultat :

NAME CONTROL PLANE WORKER DISTRIBUTION AGE PHASE

tkc-cluster 1 1 v1.16.4+vmware.1-tkg.1.886c781 6d5h running

b Pour afficher des détails sur un cluster spécifique, exécutez la commande suivante :

kubectl describe tanzukubernetescluster CLUSTER-NAME

Note Pour des commandes supplémentaires, consultez Commandes opérationnelles du cluster Tanzu Kubernetes.

7 Pour vérifier que le cluster a été provisionné, connectez-vous. Reportez-vous à la section Se connecter à un cluster Tanzu Kubernetes en tant qu'utilisateur vCenter Single Sign-On.

8 Exécutez la commande suivante pour déboguer le provisionnement d'un cluster.

kubectl get tanzukubernetescluster,cluster-

api,virtualmachinesetresourcepolicy,virtualmachineservice,virtualmachine

Note Pour un dépannage supplémentaire, consultez Dépannage des clusters Tanzu Kubernetes.

Paramètres de configuration pour les clusters Tanzu Kubernetes

L'API de Service Tanzu Kubernetes Grid affiche plusieurs paramètres pour le provisionnement et la mise à jour de clusters Tanzu Kubernetes.

Paramètres de provisionnement de clusters Tanzu Kubernetes

Ce tableau répertorie et décrit tous les paramètres YAML et les valeurs acceptables pour le provisionnement du cluster.

Note Ce tableau référence pour tous les paramètres de provisionnement du cluster. Pour afficher la hiérarchie des paramètres dans des exemples de fichiers YAML, reportez-vous à la section Exemple de fichiers YAML pour le provisionnement de clusters Tanzu Kubernetes.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 122

Page 123: Configuration et gestion de vSphere with Kubernetes

Tableau 7-2. Paramètres de provisionnement de clusters Tanzu Kubernetes

Nom Valeur Description

apiVersion run.tanzu.vmware.com/v1alpha1 Spécifie la version de l'API du service Tanzu Kubernetes Grid.

kind TanzuKubernetesCluster Spécifie le type de ressource Kubernetes à créer. La seule valeur autorisée est TanzuKubernetesCluster (sensible à la casse).

metadata Non applicable Inclus des métadonnées de cluster, telles que name et namespace. Il s'agit de métadonnées Kubernetes standard. vous pouvez donc utiliser generateName au lieu de name, ajouter des étiquettes et des annotations, etc.

name Chaîne définie par l'utilisateur qui accepte des caractères alphanumériques et des tirets (par exemple : my-tkg-cluster-1)

Spécifie le nom du cluster à créer. Contraintes actuelles de dénomination des clusters :

n La longueur du nom ne doit pas dépasser 41 caractères.

n Le nom doit commencer par une lettre.

n Il peut contenir des lettres, des chiffres et des traits d'union.

n Il doit se terminer par une lettre ou un chiffre.

namespace Chaîne définie par l'utilisateur qui accepte des caractères alphanumériques et des tirets (par exemple : my-sns-1)

Identifie le nom de l'espace de noms de superviseur dans lequel le cluster sera déployé. Il s'agit d'une référence à un espace de noms de superviseur qui existe sur le cluster superviseur.

spec Non applicable Inclut la spécification, exprimée de manière déclarative, pour l'état final du cluster, y compris le nœud toplogy et la distribution logicielle Kubernetes.

topology Non applicable Inclut des champs qui décrivent le nombre, l'objet et l'organisation des nœuds de cluster, ainsi que les ressources allouées à chacun d'entre eux. Les nœuds de cluster sont regroupés en pools en fonction de leur rôle prévu : control-plane ou worker. Chaque pool est homogène, disposant de la même allocation de ressources et utilisant le même stockage.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 123

Page 124: Configuration et gestion de vSphere with Kubernetes

Tableau 7-2. Paramètres de provisionnement de clusters Tanzu Kubernetes (suite)

Nom Valeur Description

controlPlane Non applicable Spécifie la topologie du plan de contrôle du cluster, y compris le nombre de nœuds (count), le type de machine virtuelle (class) et les ressources de stockage allouées pour chaque nœud (storageClass).

count Un nombre entier, soit 1 ou 3 Spécifie le nombre de nœuds du plan de contrôle. Le plan de contrôle doit avoir un nombre impair de nœuds.

class Un élément défini par le système sous la forme d'une chaîne provenant d'un ensemble énuméré (par exemple : guaranteed-small ou best-effort-large)

Spécifie le nom de la classe VirtualMachineClass qui décrit les paramètres de matériel virtuel à utiliser pour chaque nœud du pool. Cela contrôle le matériel disponible pour le nœud (CPU et mémoire), ainsi que les demandes et les limites de ces ressources. Reportez-vous à la section Types de classes de machines virtuelles pour les clusters Tanzu Kubernetes.

storageClass node-storage (par exemple) Identifie la classe de stockage à utiliser pour le stockage des disques qui stockent les systèmes de fichiers racine des nœuds du plan de contrôle. Exécutez kubectl describe ns sur l'espace de noms pour afficher les classes de stockage disponibles. Les classes de stockage disponibles pour l'espace de noms dépendent du stockage défini par l'administrateur vSphere. Les classes de stockage associées à l'espace de noms de superviseur sont répliquées dans le cluster. En d'autres termes, la classe de stockage doit être disponible dans l'espace de noms de superviseur afin d'être une valeur valide pour ce champ.

workers Non applicable Spécifie la topologie des nœuds worker du cluster, y compris le nombre de nœuds (count), le type de machine virtuelle (class) et les ressources de stockage allouées pour chaque nœud (storageClass).

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 124

Page 125: Configuration et gestion de vSphere with Kubernetes

Tableau 7-2. Paramètres de provisionnement de clusters Tanzu Kubernetes (suite)

Nom Valeur Description

count Un nombre entier compris entre 0 et 150 (par exemple : 1, 2 ou 7)

Spécifie le nombre de nœuds worker dans le cluster. Un cluster sans nœud worker peut être créé, ce qui permet d'utiliser un cluster avec des nœuds de plan de contrôle uniquement. Il n'y a pas de valeur maximale fixe pour le nombre de nœuds worker, mais 150 est une limite raisonnable.

class Un élément défini par le système sous la forme d'une chaîne provenant d'un ensemble énuméré (par exemple : guaranteed-small ou best-effort-large)

Spécifie le nom de la classe VirtualMachineClass qui décrit les paramètres de matériel virtuel à utiliser pour chaque nœud du pool. Cela contrôle le matériel disponible pour le nœud (CPU et mémoire), ainsi que les demandes et les limites de ces ressources. Reportez-vous à la section Types de classes de machines virtuelles pour les clusters Tanzu Kubernetes.

storageClass node-storage (par exemple) Identifie la classe de stockage à utiliser pour le stockage des disques qui stockent les systèmes de fichiers racine des nœuds worker. Exécutez kubectl describe ns sur l'espace de noms pour répertorier les classes de stockage disponibles. Les classes de stockage disponibles pour l'espace de noms dépendent du stockage défini par l'administrateur vSphere. Les classes de stockage associées à l'espace de noms de superviseur sont répliquées dans le cluster. En d'autres termes, la classe de stockage doit être disponible dans l'espace de noms de superviseur pour être valide.

distribution Non applicable Indique la distribution du cluster : le cluster Tanzu Kubernetes logiciel installé sur le plan de contrôle et les nœuds worker, y compris Kubernetes lui-même.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 125

Page 126: Configuration et gestion de vSphere with Kubernetes

Tableau 7-2. Paramètres de provisionnement de clusters Tanzu Kubernetes (suite)

Nom Valeur Description

version Chaîne alphanumérique avec des tirets qui représente la version de Kubernetes (par exemple : v1.16.6+vmware.1-tkg.1, v1.16.6 ou v1.16)

Spécifie la version logicielle de la distribution Kubernetes à installer sur les nœuds de cluster à l'aide de la notation de version sémantique. Peut spécifier la version complète ou utiliser des raccourcis de version, tels que « version: v1.16.6 », qui est résolue en l'image la plus récente correspondant à cette version de correctif, ou « version: v1.16 », qui est résolue en la version de correctif correspondante la plus récente. La version résolue s'affiche sous la forme « fullVersion » dans la description du cluster une fois que vous l'avez créée.

settings Non applicable Identifie les informations de configuration d'exécution facultatives pour le cluster, notamment les détails du nœud network et le storage persistant pour les espaces.

network Non applicable Spécifie les paramètres liés au réseau pour le cluster.

cni Non applicable Identifie le plug-in Container Networking Interface (CNI) pour le cluster. La valeur par défaut est Calico.

name calico Spécifie le plug-in CNI à utiliser. Actuellement, seul Calico est pris en charge. Toute autre valeur n'est pas valide.

services Non applicable Identifie les paramètres réseau des services Kubernetes. La valeur par défaut est 10.96.0.0/12.

cidrBlocks ["198.51.100.0/12"] (par exemple) Spécifie une plage d'adresses IP à utiliser pour les services Kubernetes. La valeur par défaut est 10.96.0.0/12. Celle-ci ne doit pas se chevaucher avec les paramètres choisis pour le cluster superviseur. Bien que ce champ soit une baie et autorise normalement plusieurs plages, Calico ne prend en charge qu'une seule plage et Calico est le seul CNI pris en charge actuellement.

pods Non applicable Spécifie les paramètres réseau pour les espaces. La valeur par défaut est 192.168.0.0/16.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 126

Page 127: Configuration et gestion de vSphere with Kubernetes

Tableau 7-2. Paramètres de provisionnement de clusters Tanzu Kubernetes (suite)

Nom Valeur Description

cidrBlocks ["192.0.2.0/16"] (par exemple) Spécifie une plage d'adresses IP à utiliser pour les espaces Kubernetes. La valeur par défaut est 192.168.0.0/16. Celle-ci ne doit pas se chevaucher avec les paramètres choisis pour le cluster superviseur. Bien que ce champ soit une baie et autorise normalement plusieurs plages, Calico ne prend en charge qu'une seule plage et Calico est le seul CNI pris en charge actuellement.

serviceDomain "cluster.local" Spécifie le domaine de service pour le cluster. La valeur par défaut est cluster.local.

storage Non applicable Identifie les entrées de stockage du volume persistant (PV) pour les charges de travail de conteneur.

classes Baie d'une ou de plusieurs chaînes définies par l'utilisateur (par exemple : ["gold", "silver"])

Spécifie les classes de stockage du volume persistant (PV) nommé pour les charges de travail de conteneur. Les classes de stockage associées à l'espace de noms de superviseur sont répliquées dans le cluster. En d'autres termes, la classe de stockage doit être disponible dans l'espace de noms de superviseur pour être une valeur valide.

defaultClass silver (par exemple) Spécifie une classe de stockage nommée à annoter comme valeur par défaut dans le cluster. Si vous ne la spécifiez pas, aucune valeur par défaut n'est définie. Vous n'avez pas à spécifier une ou plusieurs classes pour spécifier une defaultClass.

Types de classes de machines virtuelles pour les clusters Tanzu Kubernetes

Lorsque vous provisionnez un cluster Tanzu Kubernetes, vous spécifiez le type de classe de machine virtuelle. Chaque type de classe réserve un ensemble de ressources pour la machine virtuelle, notamment le traitement, la mémoire et le stockage. En outre, pour chaque type, des éditions garanties et de meilleur effort sont proposées en fonction de votre cas d'utilisation.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 127

Page 128: Configuration et gestion de vSphere with Kubernetes

Valeurs par défaut pour certains types de classe de machine virtuelle

Le tableau répertorie les valeurs par défaut des types de classe de machines virtuelles qui sont utilisés comme tailles de déploiement de machine virtuelle pour les nœuds de cluster Tanzu Kubernetes. Chaque type de classe est une demande de réservations de ressources sur la machine virtuelle pour le traitement, la mémoire et le stockage.

Il existe deux éditions pour chaque type de classe : garantie et de meilleur effort. Une édition de classe garantie réserve entièrement ses ressources configurées, c'est-à-dire, pour un cluster, spec.policies.resources.requests correspond aux paramètres spec.hardware. Ce n'est pas le cas pour une édition de classe meilleur effort, car elle permet de surengager les ressources. Généralement, les classes garanties sont utilisées pour les charges de travail de production.

Note La liste peut ne pas être exhaustive et dans les futurs types de machine virtuelle, elle peut être personnalisable. Pour afficher la liste actuelle et complète des types de machines virtuelles disponibles dans votre environnement, connectez-vous au Cluster superviseur et exécutez la commande kubectl describe virtualmachineclasses.

Tableau 7-3. Valeurs par défaut pour certains types de classe de machine virtuelle

Classe CPU Mémoire (Go) Stockage (Go)CPU et mémoire réservés

guaranteed-xlarge 4 32 16 Oui

best-effort-xlarge 4 32 16 Non

guaranteed-large 4 16 16 Oui

best-effort-large 4 16 16 Non

guaranteed-medium 2 8 16 Oui

best-effort-medium 2 8 16 Non

guaranteed-small 2 4 16 Oui

best-effort-small 2 4 16 Non

guaranteed-xsmall 2 2 16 Oui

best-effort-xsmall 2 2 16 Non

Exemple de fichiers YAML pour le provisionnement de clusters Tanzu Kubernetes

Vous pouvez utiliser les exemples de fichiers YAML comme point de départ pour le provisionnement et la mise à jour de clusters Tanzu Kubernetes à l'aide du Service Tanzu Kubernetes Grid.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 128

Page 129: Configuration et gestion de vSphere with Kubernetes

Configuration YAML minimale pour le provisionnement de clusters

La configuration YAML minimale requise pour créer un cluster Tanzu Kubernetes présente les caractéristiques suivantes :

n Cette configuration YAML provisionne un cluster avec un seul nœud de plan de contrôle et trois nœuds worker.

n Les valeurs des paramètres apiVersion et kind sont des constantes.

n La version de Kubernetes, répertoriée comme v1.16, sera résolue à la distribution la plus récente correspondant à cette version mineure, par exemple v1.16.8+vmware.1-tkg.3.60d2ffd.

n La classe de machine virtuelle best-effort-<size> n'a aucune réservation. Pour plus d'informations, consultez Types de classes de machines virtuelles pour les clusters Tanzu Kubernetes.

n Si vous souhaitez utiliser Helm ou Kubeapps comme defaultClass, ce qui est référencé par de nombreux diagrammes, ajoutez spec.settings.storage.defaultClass à la configuration YAML minimale.

n Les paramètres d'exécution pour settings.storage ne sont pas spécifiés, car les valeurs par défaut sont utilisées.

n Les paramètres d'exécution de settings.network ne sont pas nécessaires, car les valeurs par défaut sont utilisées. Pour référence, voici les paramètres réseau par défaut. Pour plus d'informations, consultez Paramètres de configuration pour les clusters Tanzu Kubernetes.

n CIDR d'espace par défaut : 192.168.0.0/16

n CIDR de services par défaut : 10.96.0.0/12

n Domaine de service par défaut : cluster.local

n Étant donné que la stratégie de sécurité de l'espace Utilisation des stratégies de sécurité de l'espace avec les clusters Tanzu Kubernetes, après la création d'un cluster de Tanzu Kubernetes à l'aide de cet exemple YAML, vous pourrez exécuter des espaces mais pas des déploiements. Pour créer un déploiement, Exemples de liaisons pour la stratégie de sécurité de l'espace par défaut à l'une des stratégies de sécurité de l'espace par défaut.

apiVersion: run.tanzu.vmware.com/v1alpha1 #TKG API endpoint

kind: TanzuKubernetesCluster #required parameter

metadata:

name: tkg-cluster-1 #cluster name, user defined

namespace: namespace-a #supervisor namespace

spec:

distribution:

version: v1.16 #resolved kubernetes version

topology:

controlPlane:

count: 1 #number of control plane nodes

class: best-effort-small #vmclass for control plane nodes

storageClass: tkc-storage-policy #storageclass for control plane

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 129

Page 130: Configuration et gestion de vSphere with Kubernetes

workers:

count: 3 #number of worker nodes

class: best-effort-small #vmclass for worker nodes

storageClass: tkc-storage-policy #storageclass for worker nodes

Configuration YAML complète pour le provisionnement de clusters

La configuration YAML complète requise pour créer un cluster Tanzu Kubernetes présente les caractéristiques suivantes :

n Cette configuration YAML provisionne un cluster avec trois nœuds de plan de contrôle et cinq nœuds worker.

n Le nom complet de la distribution et la version de Kubernetes sont spécifiés : v1.16.8+vmware.1-tkg.3.60d2ffd.

n Les paramètres réseau sont inclus, car les valeurs par défaut ne sont pas utilisées. Les plages CIDR ne doivent pas se chevaucher avec celles du Cluster superviseur. Pour plus d'informations, consultez Paramètres de configuration pour les clusters Tanzu Kubernetes.

n Différentes classes de stockage sont utilisées pour les nœuds de plan de contrôle et les nœuds worker.

n La classe de machine virtuelle guaranteed-effort-<size> dispose de réservations complètes. Pour plus d'informations, consultez Types de classes de machines virtuelles pour les clusters Tanzu Kubernetes.

apiVersion: run.tanzu.vmware.com/v1alpha1

kind: TanzuKubernetesCluster

metadata:

name: tkg-cluster-2

namespace: namespace-b

spec:

distribution:

version: v1.16.8+vmware.1-tkg.3.60d2ffd #The full image name is specified

topology:

controlPlane:

count: 3 #3 control plane nodes

class: guaranteed-large #large size VM

storageClass: tkc-storage-policy-yellow #Specific storage class for control plane

workers:

count: 5 #5 worker nodes

class: guaranteed-xlarge #extra large size VM

storageClass: tkc-storage-policy-green #Specific storage class for workers

settings:

network:

cni:

name: calico

services:

cidrBlocks: ["198.51.100.0/12"] #Cannot overlap with Supervisor Cluster

pods:

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 130

Page 131: Configuration et gestion de vSphere with Kubernetes

cidrBlocks: ["192.0.2.0/16"] #Cannot overlap with Supervisor Cluster

storage:

classes: ["gold", "silver"] #Named PVC storage classes

defaultClass: silver #Default PVC storage class

Supprimer un cluster Tanzu Kubernetes

Utilisez la commande kubectl pour supprimer un cluster Tanzu Kubernetes provisionné par Service Tanzu Kubernetes Grid.

Ne tentez pas de supprimer un cluster Tanzu Kubernetes à l'aide de vSphere Client ou de l'interface de ligne de commande de vCenter Server.

Conditions préalables

Authentifiez-vous avec le Cluster superviseur. Reportez-vous à la section Se connecter à Cluster superviseur en tant qu'utilisateur vCenter Single Sign-On.

Procédure

1 Exécutez la commande kubectl suivante pour basculer le contexte de configuration au cluster cible.

kubectl config use-context CLUSTER-NAME

2 Exécutez la commande suivante pour supprimer le cluster .

kubectl delete tanzukubernetescluster --namespace CLUSTER-NAMESPACE CLUSTER-NAME

Par exemple :

kubectl delete tanzukubernetescluster --namespace tkg-cluster-ns tkg-cluster-1

Résultat attendu : lors de l'utilisation du nettoyage de la mémoire des ressources Kubernetes, toutes les ressources dépendantes créées par Service Tanzu Kubernetes Grid pour provisionner le cluster Tanzu Kubernetes sont supprimées.

Provisionnement d'un cluster Tanzu Kubernetes dans un environnement isolé

Pour provisionner un cluster Tanzu Kubernetes dans un environnement isolé, téléchargez les fichiers image de la machine virtuelle et créez une bibliothèque de contenu locale. Importez les images dans la bibliothèque locale et associez-les avec les Espace de noms de superviseur dans lesquels vous créez les cluster Tanzu Kubernetes.

Télécharger les fichiers image

Pour provisionner un cluster Tanzu Kubernetes dans un environnement isolé, téléchargez les fichiers OVA et OVF depuis le réseau CDN (Content Delivery Network).

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 131

Page 132: Configuration et gestion de vSphere with Kubernetes

Conditions préalables

Vérifiez le workflow :

n Provisionnement d'un cluster Tanzu Kubernetes dans un environnement isolé.

Procédure

1 À l'aide d'un navigateur, accédez à l'URL suivante : https://wp-content.vmware.com/v2/latest.

2 Cliquez sur le répertoire de l'image de votre choix. En général, ce répertoire correspond à la dernière version de la distribution Kubernetes.

Par exemple :

ob-15957779-photon-3-k8s-v1.16.8---vmware.1-tkg.3.60d2ffd

Note Le nom de la distribution est nécessaire ultérieurement lorsque vous importez les fichiers dans la bibliothèque de contenu locale. Vous pouvez donc le copier dans un fichier ou laisser le navigateur ouvert jusqu'à la fin de la procédure.

3 Cliquez avec le bouton droit de la souris sur chacun des fichiers suivants et sélectionnez Enregistrer le lien sous.

n photon-ova.ovf

n photon-ova-disk1.vmdk

4 Vérifiez que chaque fichier est correctement téléchargé sur votre système de fichiers local.

Étape suivante

Créer une bibliothèque de contenu locale.

Créer une bibliothèque de contenu locale

Pour provisionner un cluster Tanzu Kubernetes dans un environnement isolé, créez une bibliothèque de contenu locale.

Conditions préalables

Télécharger les fichiers image.

Procédure

1 Connectez-vous à vCenter Server en utilisant vSphere Client.

2 Cliquez sur Menu.

3 Cliquez sur Bibliothèque de contenu.

4 Cliquez sur l'icône +Créer.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 132

Page 133: Configuration et gestion de vSphere with Kubernetes

5 Dans l'assistant Nouvelle bibliothèque de contenu, configurez la bibliothèque comme suit :

a Entrez un Nom pour la bibliothèque, par exemple Kubernetes-local, puis cliquez sur Suivant.

b Sélectionnez Bibliothèque de contenu locale, puis cliquez sur Suivant.

c Sélectionnez la banque de données et cliquez sur Suivant.

d Vérifiez la configuration et cliquez sur Terminer.

Étape suivante

Importer des images dans la bibliothèque de contenu locale.

Importer des images dans la bibliothèque de contenu locale

Pour provisionner un cluster Tanzu Kubernetes dans un environnement isolé, importez les fichiers image téléchargés dans la bibliothèque de contenu locale.

Conditions préalables

n Télécharger les fichiers image

n Créer une bibliothèque de contenu locale

Procédure

1 Connectez-vous à vCenter Server en utilisant vSphere Client.

2 Sélectionnez Menu > Bibliothèques de contenu > .

3 Dans la liste Bibliothèques de contenu, cliquez sur le lien correspondant au nom de la bibliothèque de contenu locale que vous avez créée.

4 Cliquez sur Actions.

5 Sélectionnez Importer un élément.

6 Dans la fenêtre Importer un élément de bibliothèque, sélectionnez Fichier local.

7 Cliquez sur Télécharger des fichiers.

8 Sélectionnez les fichiers photon-ova.ovf et photon-ova-disk1.vmdk.

Le message suivant s'affiche : 2 files ready to import. Chaque fichier est répertorié avec une coche verte en regard de son nom.

9 Modifiez le nom de l'Élément de destination pour inclure la version complète de Kubernetes à partir du répertoire dans lequel vous avez téléchargé les fichiers.

Par exemple :

photon-3-k8s-v1.16.8---vmware.1-tkg.3.60d2ffd

10 Cliquez sur Importer.

11 Affichez le volet Tâches récentes au bas de la page.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 133

Page 134: Configuration et gestion de vSphere with Kubernetes

12 Surveillez la tâche Extraire le contenu d'un élément de bibliothèque et vérifiez que son état est Terminé.

Étape suivante

Associer la bibliothèque de contenu locale à l'Espace de noms de superviseur.

Associer la bibliothèque de contenu locale à l'Espace de noms de superviseur

Pour provisionner un cluster Tanzu Kubernetes dans un environnement isolé, associez la bibliothèque de contenu locale à l'Espace de noms de superviseur.

Conditions préalables

n Télécharger les fichiers image.

n Créer une bibliothèque de contenu locale.

n Importer des images dans la bibliothèque de contenu locale.

Procédure

1 Connectez-vous à vCenter Server en utilisant vSphere Client.

2 Cliquez sur Menu.

3 Cliquez sur Gestion de la charge de travail.

4 Cliquez sur Espaces de noms.

5 Sélectionnez l'Espace de noms de superviseur sur lequel vous souhaitez provisionner le cluster Tanzu Kubernetes. Vous pouvez également créer un Espace de noms de superviseur et le sélectionner.

6 Lorsque l'Espace de noms de superviseur est sélectionné, recherchez la vignette Tanzu Kubernetes.

7 Cliquez sur Modifier en regard de l'étiquette Bibliothèque de contenu.

8 Dans la fenêtre Bibliothèque de contenu, sélectionnez le bouton radio en regard du nom de la bibliothèque de contenu locale créée, telle que Kubernetes-local.

9 Cliquez sur OK.

Étape suivante

Vérifiez la disponibilité de l'image de machine virtuelle.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 134

Page 135: Configuration et gestion de vSphere with Kubernetes

Vérifiez la disponibilité de l'image de machine virtuelle

Pour provisionner un cluster Tanzu Kubernetes dans un environnement isolé, vérifiez que l'image de la machine virtuelle est synchronisée et disponible.

Note Une fois la bibliothèque de contenu locale créée et associée à l'Espace de noms de superviseur cible, la synchronisation de l'image de la machine virtuelle peut prendre plusieurs minutes avant d'être disponible pour le provisionnement d'un cluster Tanzu Kubernetes.

Conditions préalables

n Télécharger les fichiers image.

n Créer une bibliothèque de contenu locale.

n Importer des images dans la bibliothèque de contenu locale.

n Associer la bibliothèque de contenu locale à l'Espace de noms de superviseur.

Procédure

1 Connectez-vous à Cluster superviseur.

Par exemple :

kubectl vsphere login --server IP-ADDRESS-SUPERVISOR-CLUSTER --vsphere-username VCENTER-SSO-

USERNAME

2 Basculez le contexte sur l'Espace de noms de superviseur cible.

kubectl config use-context SUPERVISOR-NAMESPACE

3 Exécutez la commande suivante.

kubectl get virtualmachineimages

Vérifiez que vous voyez l'image que vous avez synchronisée à partir de la bibliothèque de contenu locale.

NAME AGE

photon-3-k8s-v1.16.8---vmware.1-tkg.3.60d2ffd 14m

Étape suivante

Créer un cluster à l'aide d'une image locale.

Créer un cluster à l'aide d'une image locale

Pour provisionner un cluster Tanzu Kubernetes dans un environnement isolé, créez un cluster à l'aide de l'image de machine virtuelle synchronisée à partir d'une bibliothèque de contenu locale.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 135

Page 136: Configuration et gestion de vSphere with Kubernetes

Pour la valeur distribution.version, vous pouvez entrer le nom complet de l'image ou, si vous avez conservé le format du nom du répertoire de l'image, vous pouvez le raccourcir pour la version Kubernetes. Si vous souhaitez utiliser un numéro de version complet, remplacez ----- par +. Par exemple, si vous avez une image OVA nommée photon-3-k8s-v1.16.8---vmware.1-tkg.3.60d2ffd, les formats suivants sont acceptables.

spec:

distribution:

version: v1.16.8

spec:

distribution:

version: v1.16.8+vmware.1-tkg.3

spec:

distribution:

version: v1.16.8+vmware.1-tkg.3.60d2ffd

```

Conditions préalables

n Télécharger les fichiers image.

n Créer une bibliothèque de contenu locale.

n Importer des images dans la bibliothèque de contenu locale.

n Associer la bibliothèque de contenu locale à l'Espace de noms de superviseur.

n Vérifiez la disponibilité de l'image de machine virtuelle.

Procédure

1 Mettez à jour le fichier de spécification du cluster avec la version de l'image que vous avez téléchargée.

Par exemple :

apiVersion: run.tanzu.vmware.com/v1alpha1

kind: TanzuKubernetesCluster

metadata:

name: dev-cluster

namespace: cltest

spec:

topology:

controlPlane:

count: 3

class: best-effort-xsmall

storageClass: high-performance-ssd

workers:

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 136

Page 137: Configuration et gestion de vSphere with Kubernetes

count: 3

class: best-effort-xsmall

storageClass: high-performance-ssd

distribution:

version: v1.16.8

settings:

network:

cni:

name: calico

services:

cidrBlocks: ["198.51.100.0/12"]

pods:

cidrBlocks: ["192.0.2.0/16"]

2 Pour créer un cluster, exécutez la commande suivante.

kubectl apply -f CLUSTER-NAME.yaml

Déploiement de charges de travail sur des clusters Tanzu Kubernetes

Vous pouvez déployer des charges de travail d'application sur des clusters Tanzu Kubernetes à l'aide d'espaces, de services, de volumes persistants et de ressources de niveau supérieur, telles que des déploiements et des ensembles de répliques.

Exemple de charge de travail Tanzu Kubernetes

Après avoir créé un cluster Tanzu Kubernetes, il est recommandé de déployer une charge de travail de test et de vérifier le fonctionnement du cluster.

Vous pouvez utiliser l'exemple d'application Démonstration de mise en service de Kubernetes pour vous aider à vérifier le bon fonctionnement du cluster récemment provisionné.

Conditions préalables

n Provisionnez un cluster Tanzu Kubernetes. Reportez-vous à la section Provisionner un cluster Tanzu Kubernetes.

n Connectez-vous au cluster. Reportez-vous à la section Se connecter à un cluster Tanzu Kubernetes en tant qu'utilisateur vCenter Single Sign-On.

Procédure

1 Changez de contexte pour utiliser le contexte de configuration cible du cluster Tanzu Kubernetes en exécutant la commande suivante.

kubectl config use-context TANZU-CLUSTER-NAME

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 137

Page 138: Configuration et gestion de vSphere with Kubernetes

2 Déployez l'application kuard sur votre cluster Tanzu Kubernetes en exécutant la commande suivante.

kubectl run --restart=Never --image=gcr.io/kuar-demo/kuard-amd64:blue kuard

3 Transférez le port de conteneur 8080 vers votre port d'hôte local 8080 à l'aide de la commande suivante.

kubectl port-forward kuard 8080:8080

4 Lancez votre navigateur et accédez à http://localhost:8080.

Vous pouvez voir la page Web kuard, que vous pouvez explorer. Lorsque vous avez terminé, appuyez sur Ctrl+C dans la session kubectl pour arrêter le transfert de port.

5 Pour vérifier que l'espace est créé, exécutez la commande suivante.

kubectl get pods

Résultat attendu :

NAME READY STATUS RESTARTS AGE

kuard 1/1 Running 0 10d

6 Pour supprimer l'espace kuard que vous avez créé, exécutez la commande suivante.

kubectl delete pod kuard

Résultat attendu :

pod "kuard" deleted

7 Pour vérifier que les espaces que vous avez créés sont supprimés, exécutez la commande suivante.

kubectl get pods

Étape suivante

Vérifiez la mise en réseau des nœuds de cluster. Reportez-vous à la section Commandes de mise en réseau du cluster Tanzu Kubernetes.

Exemple d'équilibrage de charge du service Tanzu Kubernetes

Pour provisionner un équilibrage de charge externe dans un cluster Tanzu Kubernetes, vous pouvez créer un service de type LoadBalancer. Le service d'équilibrage de charge expose une adresse IP publique. Le trafic provenant de l'équilibrage de charge externe peut être dirigé vers des espaces de cluster.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 138

Page 139: Configuration et gestion de vSphere with Kubernetes

Vous pouvez provisionner un équilibrage de charge externe pour les espaces Kubernetes qui sont exposés en tant que services. Par exemple, vous pouvez déployer un conteneur Nginx et l'exposer comme service Kubernetes de type LoadBalancer.

Conditions préalables

n Consultez Type de service LoadBalancer dans la documentation Kubernetes.

n Provisionnez un cluster Tanzu Kubernetes. Reportez-vous à la section Provisionner un cluster Tanzu Kubernetes.

n Créez la stratégie PodSecurityPolicy appropriée. Reportez-vous à la section Utilisation des stratégies de sécurité de l'espace avec les clusters Tanzu Kubernetes.

n Connectez-vous au cluster Tanzu Kubernetes cible. Reportez-vous à la section Se connecter à un cluster Tanzu Kubernetes en tant qu'utilisateur vCenter Single Sign-On.

Procédure

1 Vérifiez que le cluster exécute VMware Cloud Provider Pod.

kubectl get pods -n vmware-system-cloud-provider

Tanzu Cloud Provider est prêt et en cours d'exécution.

NAME READY STATUS RESTARTS AGE

tanzu-cluster-cloud-provider-59dc84b95c-nbs4n 1/1 Running 0 24h

2 Créez un fichier YAML nommé nginx-lbsvc.yaml et remplissez-le avec le contenu suivant.

kind: Service

apiVersion: v1

metadata:

name: srvclb-ngnx

spec:

selector:

app: hello

tier: frontend

ports:

- protocol: "TCP"

port: 80

targetPort: 80

type: LoadBalancer

---

apiVersion: apps/v1

kind: Deployment

metadata:

name: loadbalancer

spec:

replicas: 2

selector:

matchLabels:

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 139

Page 140: Configuration et gestion de vSphere with Kubernetes

app: hello

template:

metadata:

labels:

app: hello

tier: frontend

spec:

serviceAccountName: NETWORKING-TEST-SA

containers:

- name: nginx

image: "nginxdemos/hello"

Ce fichier YAML définit un service Kubernetes de type LoadBalancer et déploie un conteneur Nginx en tant qu'équilibrage de charge externe pour le service.

3 Appliquez la configuration de type de service LoadBalancer.

kubectl apply -f nginx-lbsvc.yaml

4 Vérifiez le déploiement de l'espace et du service Nginx.

kubectl get all

Dans le résultat de la commande, vous pouvez voir que l'espace pod/nginx-UUID est Running et le service/nginx de type LoadBalancer est actif avec une adresse IP externe et interne. Le service est également représenté dans l'Espace de noms de superviseur.

5 Obtenez l'adresse IP externe et le port du service LoadBalancer Nginx.

kubectl get services

Exemple de résultat :

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE

srvclb LoadBalancer 198.56.165.254 192.168.123.4 80:30964/TCP 14m

6 Lancez un navigateur et entrez l'adresse IP externe du service LoadBalancer Nginx.

Le message suivant apparaît : Welcome to nginx!

Exemple d'entrée Tanzu Kubernetes

Une ressource d'entrée Kubernetes qui fournit le routage HTTP ou HTTPS depuis l'extérieur du cluster vers un ou plusieurs services au sein du cluster. Les clusters Tanzu Kubernetes prennent en charge l'entrée via des contrôleurs tiers, tels que Contour et Nginx.

Ce didacticiel explique comment déployer le contrôleur d'entrée Contour pour acheminer le trafic externe vers des services au sein d'un cluster Tanzu Kubernetes. Contour est un projet Open Source auquel VMware contribue. Vous pouvez également utiliser le contrôleur d'entrée Nginx pour prendre en charge les services d'entrée.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 140

Page 141: Configuration et gestion de vSphere with Kubernetes

Conditions préalables

n Consultez la ressource Entrée dans la documentation Kubernetes.

n Consultez les contrôleurs d'entrée spécifiques, tels que Contour et Nginx.

n Provisionnez un cluster Tanzu Kubernetes. Reportez-vous à la section Provisionner un cluster Tanzu Kubernetes.

n Ajoutez une stratégie de sécurité de l'espace. Reportez-vous à la section Exemple de rôle pour la stratégie de sécurité de l'espace personnalisée.

n Connectez-vous au cluster Tanzu Kubernetes. Reportez-vous à la section Se connecter à un cluster Tanzu Kubernetes en tant qu'utilisateur vCenter Single Sign-On.

Procédure

1 Créez un espace de noms appelé projectcontour, qui est l'espace de noms par défaut du déploiement du contrôleur d'entrée Contour.

2 Téléchargez le fichier YAML du contrôleur d'entrée Contour : Déploiement d'entrée Contour.

3 Ouvrez le fichier contour.yaml à l'aide d'un éditeur de texte.

4 Recherchez la ligne externalTrafficPolicy: Local et supprimez-la du fichier contour.yaml. Cette ligne se trouve dans la section Service.spec du fichier YAML (généralement, ligne 1193).

5 Modifiez le fichier contour.yaml et ajoutez une stratégie de sécurité d'espace dans le rôle nommé contour-certgen.

apiVersion: rbac.authorization.k8s.io/v1beta1

kind: Role

metadata:

name: contour-certgen

namespace: projectcontour

rules:

- apiGroups:

- ""

resources:

- secrets

verbs:

- list

- watch

- create

- get

- put

- post

- patch

- apiGroups:

- extensions

resourceNames:

- DEFAULT-OR-CUSTOM-PSP #Enter the name of a valid PSP

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 141

Page 142: Configuration et gestion de vSphere with Kubernetes

resources:

- podsecuritypolicies

verbs:

- use

6 Modifiez le fichier contour.yaml et ajoutez une stratégie de sécurité d'espace dans le rôle nommé contour-leaderelection.

apiVersion: rbac.authorization.k8s.io/v1beta1

kind: Role

metadata:

name: contour-leaderelection

namespace: projectcontour

rules:

- apiGroups:

- ""

resources:

- configmaps

verbs:

- create

- get

- list

- watch

- update

- apiGroups:

- ""

resources:

- events

verbs:

- create

- update

- patch

- apiGroups:

- extensions

resourceNames:

- DEFAULT-OR-CUSTOM-PSP #Enter the name of a valid PSP

resources:

- podsecuritypolicies

verbs:

- use

7 Déployez Contour en appliquant le fichier contour.yaml.

kubectl apply -f contour.yaml

8 Vérifiez que le contrôleur d'entrée Contour est déployé en tant que service de type LoadBalancer et qu'il est accessible à partir de son adresse IP externe.

kubectl get services -n projectcontour

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE

contour ClusterIP 198.63.146.166 <none> 8001/TCP 120m

envoy LoadBalancer 198.48.52.47 192.168.123.5 80:30501/TCP,443:30173/TCP 120m

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 142

Page 143: Configuration et gestion de vSphere with Kubernetes

9 Vérifiez que les espaces Contour et Envoy sont en cours d'exécution.

kubectl get pods -n projectcontour

NAME READY STATUS RESTARTS AGE

contour-7966d6cdbf-skqfl 1/1 Running 1 21h

contour-7966d6cdbf-vc8c7 1/1 Running 1 21h

contour-certgen-77m2n 0/1 Completed 0 21h

envoy-fsltp 1/1 Running 0 20h

10 Exécutez une commande ping sur l'équilibrage de charge à l'aide de l'adresse IP externe.

Par exemple :

ping 192.168.123.5

PING 192.168.123.5 (192.168.123.5) 56(84) bytes of data.

64 bytes from 192.168.123.5: icmp_seq=1 ttl=62 time=3.50 ms

11 Déployez deux services de test et ajoutez des règles et des chemins d'accès d'entrée en créant le fichier YAML suivant nommé ingress-test.yaml.

kind: Service

apiVersion: v1

metadata:

name: hello

spec:

selector:

app: hello

tier: backend

ports:

- protocol: TCP

port: 80

targetPort: http

---

apiVersion: apps/v1

kind: Deployment

metadata:

name: hello

spec:

replicas: 3

selector:

matchLabels:

app: hello

tier: backend

track: stable

template:

metadata:

labels:

app: hello

tier: backend

track: stable

spec:

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 143

Page 144: Configuration et gestion de vSphere with Kubernetes

serviceAccountName: test-sa

containers:

- name: hello

image: "gcr.io/google-samples/hello-go-gke:1.0"

ports:

- name: http

containerPort: 80

---

kind: Service

apiVersion: v1

metadata:

name: nihao

spec:

selector:

app: nihao

tier: backend

ports:

- protocol: TCP

port: 80

targetPort: http

---

apiVersion: apps/v1

kind: Deployment

metadata:

name: nihao

spec:

replicas: 3

selector:

matchLabels:

app: nihao

tier: backend

track: stable

template:

metadata:

labels:

app: nihao

tier: backend

track: stable

spec:

containers:

- name: nihao

image: "gcr.io/google-samples/hello-go-gke:1.0"

ports:

- name: http

containerPort: 80

---

apiVersion: networking.k8s.io/v1beta1

kind: Ingress

metadata:

name: hello-ingress

spec:

rules:

- http:

paths:

- path: /hello

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 144

Page 145: Configuration et gestion de vSphere with Kubernetes

backend:

serviceName: hello

servicePort: 80

- path: /nihao

backend:

serviceName: nihao

servicePort: 80

12 Appliquez la configuration du fichier YAML ingress-test.

kubectl apply -f ingress-test.yaml

13 Vérifiez que les services hello et nihao sont créés.

kubectl get services

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE

hello ClusterIP 198.63.19.152 <none> 80/TCP 21h

nihao ClusterIP 198.57.57.66 <none> 80/TCP 21h

14 Vérifiez que vous pouvez accéder aux deux services à l'aide des routes d'entrée pour chacun d'entre eux.

curl http://192.168.123.5:80/hello

{"message":"Hello"}

curl http://192.168.123.5:80/nihao

{"message":"Hello"}

Les services en cours d'exécution dans le cluster sont accessibles en externe via le contrôleur d'entrée au moyen de l'adresse IP externe de l'équilibrage de charge.

Exemple de réclamation de volume persistant Tanzu Kubernetes

Pour exécuter des charges de travail avec état sur des clusters Tanzu Kubernetes, vous pouvez créer une réclamation de volume persistant (PVC) pour demander des ressources de stockage persistantes sans connaître les détails de l'infrastructure de stockage sous-jacente. Le stockage utilisé pour la PVC est alloué à partir du quota de stockage pour l'Espace de noms de superviseur.

Par défaut, les conteneurs sont éphémères et sans état. Pour les charges de travail avec état, une approche courante consiste à créer une réclamation de volume persistant (PVC). Vous pouvez utiliser une réclamation de volume persistant pour monter les volumes persistants et accéder au stockage. La demande provisionne dynamiquement un objet de volume persistant et un disque virtuel correspondant. La réclamation est liée au volume persistant. Lorsque vous supprimez la réclamation, l'objet de volume persistant correspondant et le disque de machine virtuelle provisionné sont supprimés.

Conditions préalables

n Consultez la documentation Stockage dans vSphere with Kubernetes.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 145

Page 146: Configuration et gestion de vSphere with Kubernetes

n Connectez-vous au cluster Tanzu Kubernetes cible. Reportez-vous à la section Se connecter à un cluster Tanzu Kubernetes en tant qu'utilisateur vCenter Single Sign-On.

Procédure

1 Basculez vers l'espace de noms sur lequel le cluster est en cours d'exécution.

kubectl config use-context NAMESPACE

2 Répertoriez les classes de stockage disponibles.

kubectl get storageclasses

3 Créez un fichier YAML contenant la configuration PVC.

Utilisez l'exemple suivant. Remplacez les valeurs des variables name, storageClassName et storage par les vôtres.

apiVersion: v1

kind: PersistentVolumeClaim

metadata:

name: my-pvc

spec:

accessModes:

- ReadWriteOnce

storageClassName: gold

resources:

requests:

storage: 3Gi

4 Appliquez la réclamation de volume persistant au cluster.

kubectl apply -f PVC-NAME.yaml

5 Vérifiez l'état de la réclamation du volume persistant.

kubectl get pvc

La réclamation de volume persistant est répertoriée et disponible pour être utilisée. La réclamation de volume persistant apparaît également dans l'Espace de noms de superviseur, car le stockage provient de son quota.

Étape suivante

Consultez l'exemple d'application avec état dans la documentation Kubernetes : Déploiement de WordPress et de MySQL avec des volumes persistants.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 146

Page 147: Configuration et gestion de vSphere with Kubernetes

Utilisation des stratégies de sécurité de l'espace avec les clusters Tanzu Kubernetes

Service Tanzu Kubernetes Grid provisionne des clusters Tanzu Kubernetes avec contrôleur d'admission PodSecurityPolicy activé. Cela signifie que la stratégie de sécurité de l'espace est requise pour déployer des charges de travail. Les administrateurs de cluster peuvent déployer des espaces à partir de leur compte d'utilisateur dans n'importe quel espace de noms et à partir de comptes de service dans l'espace de noms kube-system. Pour tous les autres cas d'utilisation, vous devez effectuer une liaison explicite avec la stratégie de sécurité de l'espace. Les clusters incluent des stratégies de sécurité d'espace par défaut auxquelles vous pouvez vous lier. Vous pouvez aussi créer votre propre stratégie de sécurité d'espace.

À propos des stratégies de sécurité de l'espace Kubernetes

Les stratégies de sécurité de l'espace (PSP) Kubernetes sont des ressources au niveau du cluster qui contrôlent la sécurité des espaces. L'utilisation des PSP vous permet de contrôler les types d'espaces qui peuvent être déployés et les types de comptes qui peuvent les déployer.

Une ressource PodSecurityPolicy définit un ensemble de conditions qu'un espace doit respecter pour être déployé. Si les conditions ne sont pas remplies, l'espace ne peut pas être déployé. Une stratégie PodSecurityPolicy unique doit valider un espace dans son intégralité. Un espace ne peut pas avoir certaines de ses règles dans une stratégie et d'autres dans une autre stratégie.

Il existe différentes façons d'implémenter l'utilisation de stratégies de sécurité de l'espace dans Kubernetes. L'approche classique consiste à utiliser des objets de contrôle d'accès basé sur les rôles (RBAC). ClusterRole et ClusterRoleBinding s'appliquent à l'échelle du cluster. Rôle et RoleBinding s'appliquent à un espace de noms spécifique. Si une liaison RoleBinding est utilisée, elle permet uniquement aux espaces d'être exécutés dans le même espace de noms que la liaison.

Il existe deux façons de créer des espaces Kubernetes : directement ou indirectement. Créez un espace directement en déployant une spécification d'espace avec votre compte d'utilisateur. Créez un espace indirectement en définissant des ressources de niveau supérieur, telles que Deployment ou DaemonSet. Dans ce cas, un compte de service crée l'espace sous-jacent.

Pour utiliser les PSP de manière efficace, vous devez tenir compte des deux workflows de création d'espace. Si un utilisateur crée directement un espace, la PSP liée au compte d'utilisateur contrôle l'opération. Si un utilisateur crée un espace au moyen d'un compte de service, la PSP doit être liée au compte de service utilisé pour créer l'espace. Si aucun compte de service n'est spécifié dans la spécification d'espace, le compte de service par défaut de l'espace de noms est utilisé.

Pour plus d'informations, consultez les Stratégies de sécurité de l'espace, RBAC et les Comptes de service dans la documentation Kubernetes.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 147

Page 148: Configuration et gestion de vSphere with Kubernetes

Stratégie PodSecurityPolicy par défaut pour les clusters Tanzu Kubernetes

Le tableau répertorie et décrit les stratégies de sécurité de l'espace par défaut privilégiées et restreintes pour les clusters Tanzu Kubernetes et le rôle ClusterRole par défaut associé à chaque stratégie.

Tableau 7-4. PodSecurityPolicy par défaut avec ClusterRole associé

PSP par défaut Autorisation DescriptionClusterRole par défaut associé

vmware-system-privileged Exécuter comme n'importe lequel

PSP permissive. Équivalente à l'exécution d'un cluster sans contrôleur d'admission PSP activé.

psp:vmware-system-privileged

pouvez utiliser cette PSP

vmware-system-restricted Doit être exécuté en tant que non-racine

PSP restrictive. N'autorise pas l'accès privilégié aux conteneurs d'espaces, ce qui bloque les escalades possibles à la racine et nécessite l'utilisation de plusieurs mécanismes de sécurité.

psp:vmware-system-restricted

pouvez utiliser cette PSP

Aucune liaison par défaut pour les clusters Tanzu Kubernetes

Service Tanzu Kubernetes Grid ne fournit pas de liaisons RoleBinding et ClusterRoleBinding par défaut pour les clusters Tanzu Kubernetes.

Un utilisateur vCenter Single Sign-On disposant de l'autorisation Modification sur un Espace de noms de superviseur est attribué au rôle cluster-admin pour tout cluster Tanzu Kubernetes déployé dans cet espace de noms. Un administrateur de cluster authentifié peut utiliser implicitement la PSP vmware-system-privileged. Bien qu'elle ne soit pas techniquement une liaison ClusterRoleBinding, son effet est identique.

L'administrateur de cluster doit définir des liaisons pour autoriser ou limiter les types d'espaces que les utilisateurs peuvent déployer sur un cluster. Si une liaison RoleBinding est utilisée, celle-ci permet uniquement aux espaces d'être exécutés dans le même espace de noms que la liaison. Cette opération peut être couplée avec des groupes de systèmes pour accorder l'accès à tous les espaces exécutés dans l'espace de noms. Le rôle authenticated est attribué aux utilisateurs non-administrateurs qui s'authentifient auprès du cluster et ceux-ci peuvent être liés à la PSP par défaut. Reportez-vous à la section Accorder aux développeurs l'accès aux clusters Tanzu Kubernetes.

Effet de la stratégie PodSecurityPolicy par défaut sur les clusters Tanzu Kubernetes

Le comportement suivant s'applique pour n'importe quel cluster Tanzu Kubernetes :

n Un administrateur de cluster peut créer des espaces privilégiés directement dans n'importe quel espace de noms à l'aide de son compte d'utilisateur.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 148

Page 149: Configuration et gestion de vSphere with Kubernetes

n Un administrateur de cluster peut créer des ressources Deployments, StatefulSets et DaemonSet (chacune d'elles créant également des espaces privilégiés) dans l'espace de noms kube-system. Si vous souhaitez utiliser un espace de noms différent, reportez-vous à la section Didacticiel de l'application Kubernetes Guestbook : lier à la stratégie de sécurité par défaut de l'espace privilégié.

n Un administrateur de cluster peut créer ses propres PSP (en plus des deux PSP par défaut) et lier ces PSP à tous les utilisateurs. Si vous définissez votre propre PSP, reportez-vous à Ordre des stratégies dans la documentation Kubernetes.

n Aucun utilisateur authentifié ne peut créer des espaces privilégiés ou sans privilèges tant que l'administrateur du cluster n'a pas lié les PSP aux utilisateurs authentifiés. Reportez-vous à la section Didacticiel de l'application Kubernetes Guestbook : lier à la stratégie de sécurité par défaut de l'espace privilégié.

Didacticiel de l'application Kubernetes Guestbook : lier à la stratégie de sécurité par défaut de l'espace privilégié

Pour permettre le déploiement d'espaces privilégiés dans un cluster Tanzu Kubernetes, vous pouvez créer une liaison RoleBinding sur la stratégie de sécurité par défaut de l'espace privilégié.

Le déploiement de l'application Guestbook est un moyen courant pour les développeurs d'explorer Kubernetes. Si vous déployez tous les fichiers YAML Guestbook dans un cluster Tanzu Kubernetes provisionné par Service Tanzu Kubernetes Grid, l'espace d'applications n'est pas créé. Le message d'erreur suivant s'affiche lorsque vous exécutez la commande kubectl describe pod :

“Error: container has runAsNonRoot and image will run as root”

L'application Guestbook utilise à la fois les ressources deployment et replicaset pour déployer des conteneurs privilégiés dans l'espace de noms par défaut. Étant donné que le contrôleur PodSecurityPolicy est activé pour les clusters Tanzu Kubernetes, lorsqu'un utilisateur de cluster tente de créer l'espace d'application Guestbook, les comptes de service de ces contrôleurs sont comparés à la stratégie PodSecurityPolicy. Si un PSP approprié n'est pas lié à ces comptes de service, l'application n'est pas déployée.

Par défaut, les administrateurs Tanzu Kubernetes peuvent créer des espaces privilégiés directement dans n'importe quel espace de noms à l'aide de leur compte d'utilisateur. Toutefois, l'application Guestbook déploie des conteneurs privilégiés à l'aide de comptes de service. Un administrateur de cluster peut créer des ressources Deployments, StatefulSets et DaemonSet dans l'espace de noms kube-system. Toutefois, l'application Guestbook déploie ces ressources dans l'espace de noms par défaut. En outre, les utilisateurs non-administrateurs ne peuvent pas créer des espaces privilégiés ou sans privilèges, sans la PSP et les liaisons appropriées.

Une solution consiste à créer des liaisons vers la PSP privilégiée par défaut pour permettre le déploiement de l'application Guestbook. La stratégie PodSecurityPolicy privilégiée autorise les espaces d'exécution en tant qu'utilisateur racine et les conteneurs privilégiés pour les comptes liés. Vous pouvez créer une liaison ClusterRoleBinding qui applique vmware-system-privileged à

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 149

Page 150: Configuration et gestion de vSphere with Kubernetes

l'échelle du cluster, mais cela peut violer le principe du moindre privilège en accordant plus d'autorisations que nécessaire. Une meilleure approche consiste à créer une liaison RoleBinding qui permet aux comptes de service système d'utiliser la stratégie PodSecurityPolicy privilégiée dans l'espace de noms par défaut.

Note Les instructions décrivent comment créer la liaison RoleBinding à l'aide d'un fichier YAML. Pour la commande kubectl équivalente, reportez-vous à Exemple 1 : RoleBinding pour exécuter un ensemble privilégié de charges de travail.

Conditions préalables

Vérifiez les rubriques suivantes :

n Utilisation des stratégies de sécurité de l'espace avec les clusters Tanzu Kubernetes

n Exemples de liaisons pour la stratégie de sécurité de l'espace par défaut

Procédure

1 Pour définir la ressource RoleBinding, créez le fichier YAML suivant.

kind: RoleBinding

apiVersion: rbac.authorization.k8s.io/v1

metadata:

name: rolebinding-default-privileged-sa-ns_default

namespace: default

roleRef:

kind: ClusterRole

name: psp:vmware-system-privileged

apiGroup: rbac.authorization.k8s.io

subjects:

- kind: Group

apiGroup: rbac.authorization.k8s.io

name: system:serviceaccounts

2 Utilisez kubectl pour appliquer le fichier YAML et créer la ressource.

kubectl apply -f ROLEBINDING-YAML-FILE-NAME

Étape suivante

Une fois la ressource RoleBinding créée, vous pouvez déployer l'application Guestbook dans l'espace de noms par défaut en suivant les étapes du didacticiel de l'application Guestbook.

Exemples de liaisons pour la stratégie de sécurité de l'espace par défaut

Les clusters Tanzu Kubernetes incluent une stratégie PodSecurityPolicy par défaut à laquelle vous pouvez vous lier pour le déploiement de la charge de travail privilégiée et restreinte.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 150

Page 151: Configuration et gestion de vSphere with Kubernetes

Exemple 1 : RoleBinding pour exécuter un ensemble privilégié de charges de travail

La commande kubectl suivante crée une liaison RoleBinding qui accorde l'accès à tous les comptes de service dans l'espace de noms par défaut afin d'exécuter un ensemble privilégié de charges de travail à l'aide de la PSP par défaut (vmware-system-privileged). Reportez-vous à la section Utilisation des stratégies de sécurité de l'espace avec les clusters Tanzu Kubernetes.

Note Pour l'équivalent YAML de cette liaison, reportez-vous à Didacticiel de l'application Kubernetes Guestbook : lier à la stratégie de sécurité par défaut de l'espace privilégié.

kubectl create rolebinding rolebinding-default-privileged-sa-ns_default

--namespace=default --clusterrole=psp:vmware-system-privileged

--group=system:serviceaccounts

Exemple 2 : ClusterRoleBinding pour exécuter un ensemble privilégié de charges de travail

La commande kubectl suivante crée une liaison ClusterRoleBinding qui accorde aux utilisateurs authentifiés un accès à un ensemble de charges de travail à l'aide de la PSP par défaut (vmware-system-privileged).

kubectl create clusterrolebinding default-tkg-admin-privileged-binding

--clusterrole=psp:vmware-system-privileged --group=system:authenticated

Exemple 3 : RoleBinding pour exécuter un ensemble restreint de charges de travail

Le fichier YAML suivant crée une liaison RoleBinding qui accorde l'accès à tous les comptes de service dans un espace de noms spécifique afin d'exécuter un ensemble restreint de charges de travail à l'aide de la PSP par défaut (vmware-system-restricted). Reportez-vous à la section Utilisation des stratégies de sécurité de l'espace avec les clusters Tanzu Kubernetes.

apiVersion: rbac.authorization.k8s.io/v1

kind: RoleBinding

metadata:

name: psp:serviceaccounts

namespace: some-namespace

subjects:

- apiGroup: rbac.authorization.k8s.io

kind: Group

name: system:serviceaccounts

roleRef:

apiGroup: rbac.authorization.k8s.io

kind: ClusterRole

name: psp:vmware-system-restricted

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 151

Page 152: Configuration et gestion de vSphere with Kubernetes

Plutôt que d'appliquer le fichier YAML, vous pouvez exécuter la commande kubectl suivante.

kubectl create rolebinding psp:serviceaccounts

--clusterrole=psp:vmware-system-restricted --group=system:serviceaccounts

Exemple 4 : ClusterRoleBinding pour exécuter un ensemble restreint de charges de travail

Le fichier YAML suivant crée une liaison ClusterRoleBinding qui accorde aux utilisateurs authentifiés un accès à l'échelle du cluster afin d'exécuter un ensemble restreint de charges de travail à l'aide de la PSP par défaut (vmware-system-restricted). Reportez-vous à la section Utilisation des stratégies de sécurité de l'espace avec les clusters Tanzu Kubernetes.

apiVersion: rbac.authorization.k8s.io/v1

kind: ClusterRoleBinding

metadata:

name: psp:authenticated

subjects:

- apiGroup: rbac.authorization.k8s.io

kind: Group

name: system:authenticated

roleRef:

apiGroup: rbac.authorization.k8s.io

kind: ClusterRole

name: psp:vmware-system-restricted

Plutôt que d'appliquer le fichier YAML, vous pouvez exécuter la commande kubectl suivante.

kubectl create clusterrolebinding psp:authenticated

--clusterrole=psp:vmware-system-restricted --group=system:authenticated

Exemple de rôle pour la stratégie de sécurité de l'espace personnalisée

Les clusters Tanzu Kubernetes nécessitent une stratégie de sécurité de l'espace (PSP) pour déployer des charges de travail. Si vous définissez votre propre PSP, vous devez créer un rôle Role ou ClusterRole faisant référence à la PSP.

Exemple de rôle pour une stratégie PodSecurityPolicy

Pour illustrer comment un rôle fait référence à une PSP, consultez l'exemple de Exemple d'entrée Tanzu Kubernetes.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 152

Page 153: Configuration et gestion de vSphere with Kubernetes

Pour déployer le contrôleur d'entrée Contour, créez un rôle nommé contour-leaderelection. Dans la définition du rôle, accordez le rôle contour-leaderelection et le verbe use à une ressource PSP personnalisée que vous définissez. Vous pouvez également utiliser l'une des PSP par défaut. Créez ensuite une Didacticiel de l'application Kubernetes Guestbook : lier à la stratégie de sécurité par défaut de l'espace privilégié.

apiVersion: rbac.authorization.k8s.io/v1beta1

kind: Role

metadata:

name: contour-leaderelection

namespace: projectcontour

rules:

- apiGroups:

- ""

resources:

- configmaps

verbs:

- create

- get

- list

- watch

- update

- apiGroups:

- ""

resources:

- events

verbs:

- create

- update

- patch

- apiGroups:

- extensions

resourceNames:

- CUSTOM-OR-DEFAULT-PSP

resources:

- podsecuritypolicies

verbs:

- use

Fonctionnement des clusters Tanzu Kubernetes

Service Tanzu Kubernetes Grid inclut des ressources personnalisées que vous utilisez pour exploiter les clusters Tanzu Kubernetes. En outre, en raison de l'intégration étroite à l'infrastructure vSphere, vous pouvez utiliser des outils vSphere connus pour vous aider à gérer et à mettre à jour les clusters Tanzu Kubernetes.

Surveiller l'état du cluster Tanzu Kubernetes à l'aide de vSphere Client

Vous pouvez surveiller l'état des clusters Tanzu Kubernetes à l'aide de vSphere Client.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 153

Page 154: Configuration et gestion de vSphere with Kubernetes

Procédure

1 Connectez-vous à vCenter Server en utilisant vSphere Client.

2 Dans le Menu, sélectionnez la vue Hôtes et clusters.

3 Développez les objets Centre de données > Cluster où le Cluster superviseur est créé.

4 Développez le pool de ressources Espaces de noms.

5 Sélectionnez l'Espace de noms de superviseur sur lequel vous avez déployé le cluster Tanzu Kubernetes.

Chaque cluster Tanzu Kubernetes est répertorié en tant que dossier dans son pool de ressources d'espace de noms. Chaque Tanzu Kubernetes est graphiquement représenté par les trois icônes hexagonales en regard de son nom.

6 Passez à la vue Menu > VM et modèles.

Dans le dossier du cluster, vous voyez les machines virtuelles qui composent les nœuds du cluster.

7 Sélectionnez l'Espace de noms de superviseur, puis sélectionnez l'onglet Calculer.

8 Sous Ressources VMware, sélectionnez Tanzu Kubernetes.

Chaque cluster Tanzu Kubernetes déployé dans cet Espace de noms de superviseur est répertorié. Pour une description de chaque champ d'état, reportez-vous à la section État du cycle de vie des clusters Tanzu Kubernetes dans vSphere.

Surveiller l'état du cluster Tanzu Kubernetes à l'aide de kubectl

Vous pouvez surveiller l'état des clusters Tanzu Kubernetes provisionnés à l'aide de kubectl.

Procédure

1 Authentifiez-vous avec le Cluster superviseur. Reportez-vous à la section Se connecter à Cluster superviseur en tant qu'utilisateur vCenter Single Sign-On.

2 Basculez vers l'Espace de noms de superviseur sur lequel le cluster est en cours d'exécution.

kubectl config use-context SUPERVISOR-NAMESPACE

3 Affichez une liste des clusters Tanzu Kubernetes en cours d'exécution dans l'espace de noms.

kubectl get tanzukubernetesclusters

Cette commande renvoie l'état du cluster. Pour obtenir une description des champs d'état, reportez-vous à la section État du cycle de vie du cluster Tanzu Kubernetes dans kubectl.

4 Affichez les détails du cluster.

kubectl describe tanzukubernetescluster <cluster-name>

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 154

Page 155: Configuration et gestion de vSphere with Kubernetes

La commande renvoie les détails du cluster. Dans la section État de la sortie de la commande, des informations détaillées sur le cluster s'affichent.

...

Status:

Addons:

Cni:

Name: calico

Status: applied

Csi:

Name: pvcsi

Status: applied

Psp:

Name: defaultpsp

Status: applied

Cloudprovider:

Name: vmware-guest-cluster

Cluster API Status:

API Endpoints:

Host: 10.161.90.22

Port: 6443

Phase: provisioned

Node Status:

test-tanzu-cluster-control-plane-0: ready

test-tanzu-cluster-workers-0-749458f97c-97ljv: ready

Phase: running

Vm Status:

test-tanzu-cluster-control-plane-0: ready

test-tanzu-cluster-workers-0-749458f97c-97ljv: ready

Events: <none>

5 Exécutez des commandes kubectl supplémentaires pour afficher plus de détails sur le cluster. Reportez-vous à la section Commandes opérationnelles du cluster Tanzu Kubernetes.

Afficher la hiérarchie complète des ressources d'un cluster Tanzu Kubernetes

Vous pouvez afficher la hiérarchie complète des ressources d'un cluster Tanzu Kubernetes à l'aide de kubectl. L'affichage de la liste complète des ressources du cluster peut vous aider à identifier les ressources qui peuvent causer des problèmes.

Conditions préalables

Connectez-vous au Cluster superviseur. Reportez-vous à la section Se connecter à Cluster superviseur en tant qu'utilisateur vCenter Single Sign-On.

Procédure

1 Changez de contexte pour utiliser le contexte du cluster cible.

kubectl config use-context CLUSTER-NAME

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 155

Page 156: Configuration et gestion de vSphere with Kubernetes

2 Exécutez la commande suivante pour afficher la ressource de cluster de l'API de cluster.

kubectl describe clusters.cluster.x-k8s.io CLUSTER-NAME

Cette commande renvoie la hiérarchie des ressources pour le cluster nommé, telle que : espace de noms, version de l'API, version de la ressource.

Migrer des clusters Tanzu Kubernetes vers une nouvelle bibliothèque de contenu

Si la bibliothèque de contenu abonnée atteint la capacité maximale, vous pouvez migrer un cluster Tanzu Kubernetes pour utiliser une nouvelle bibliothèque avec une capacité de stockage supplémentaire.

Lorsque l'administrateur vSphere crée une bibliothèque de contenu abonnée, l'administrateur spécifie une banque de données pour le stockage du contenu de la bibliothèque, dans ce cas des fichiers OVA. Au fil du temps, au fur et à mesure que d'autres versions de Kubernetes sont distribuées, la bibliothèque de contenu abonnée se développera en taille, car des fichiers OVA sont ajoutés pour chaque mise à jour. Bien qu'il n'y ait pas de capacité explicite sur la bibliothèque de contenu abonnée, elle est limitée par sa capacité de banque de données.

Si la bibliothèque de contenu abonnée atteint sa capacité maximale, vous pouvez voir le message Internal error occurred: get library items failed for.. Dans ce cas, vous pouvez migrer le cluster Tanzu Kubernetes vers une nouvelle bibliothèque de contenu abonnée pour augmenter la capacité de stockage. La migration est effectuée par un administrateur vSphere à l'aide de vSphere Client.

Procédure

1 Créez une nouvelle bibliothèque de contenu avec abonnement avec une capacité suffisante pour le cluster cible. Reportez-vous à la section Créer une bibliothèque de contenu avec abonnement pour les clusters Tanzu Kubernetes.

2 Connectez-vous à vCenter Server en utilisant vSphere Client.

3 Sélectionnez Menu > Hôtes et clusters.

4 Sélectionnez l'objet de cluster vSphere dans lequel le Cluster superviseur contenant le cluster Tanzu Kubernetes est provisionné.

5 Sélectionnez l'onglet Configurer.

6 Sélectionnez l'option Espaces de noms > Général > dans le panneau de navigation.

7 Cliquez sur Modifier en regard de la section Bibliothèque de contenu dans le panneau principal.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 156

Page 157: Configuration et gestion de vSphere with Kubernetes

8 Sélectionnez la nouvelle bibliothèque de contenu que vous avez créée, puis cliquez sur OK.

Cette action déclenche la mise à jour de la configuration du cluster.

Note Une fois que vous avez modifié la bibliothèque de contenu, il faudra éventuellement jusqu'à 10 minutes au cluster Tanzu Kubernetes pour récupérer la modification depuis la source de contenu.

Dimensionner un cluster Tanzu Kubernetes

Vous pouvez dimensionner horizontalement un cluster Tanzu Kubernetes en augmentant ou en diminuant le nombre de nœuds worker à l'aide de kubectl.

Conditions préalables

n Pour dimensionner un cluster Tanzu Kubernetes, vous mettez à jour le manifeste du cluster. Pour modifier le manifeste du cluster en ligne, configurez la variable d'environnement KUBE_EDITOR ou EDITOR pour votre éditeur de texte préféré. Pour obtenir des instructions, reportez-vous à la section Commande d'édition dans la documentation Kubernetes.

n Authentifiez-vous avec le Cluster superviseur. Reportez-vous à la section Se connecter à Cluster superviseur en tant qu'utilisateur vCenter Single Sign-On.

Procédure

1 Basculez vers l'espace de noms sur lequel le cluster Kubernetes est en cours d'exécution.

kubectl config use-context NAMESPACE

2 Répertoriez les clusters Kubernetes qui s'exécutent dans l'espace de noms.

kubectl get tanzukubernetescluster -n NAMESPACE

Par exemple :

kubectl get tanzukubernetescluster -n tkg-cluster-ns

La commande renvoie le nom des clusters en cours d'exécution, le nombre de machines virtuelles du plan de contrôle, le nombre de nœuds worker, la version du logiciel, son âge et sa phase. Pour obtenir une description des champs d'état, reportez-vous à la section État du cycle de vie du cluster Tanzu Kubernetes dans kubectl.

3 Pour ouvrir le manifeste du cluster afin de le modifier, exécutez la commande kubectl edit.

kubectl edit tanzukubernetescluster/CLUSTER-NAME

Par exemple :

kubectl edit tanzukubernetescluster/tkg-cluster-01

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 157

Page 158: Configuration et gestion de vSphere with Kubernetes

Le manifeste du cluster s'ouvre dans l'éditeur de texte défini par vos variables d'environnement KUBE_EDITOR ou EDITOR. Lorsque vous sauvegardez le fichier, kubectl met à jour le manifeste.

4 Modifiez le paramètre spec.workers.count dans le manifeste du cluster en augmentant ou en diminuant le nombre de nœuds worker selon que vous augmentez ou diminuez la capacité.

Pour augmenter un cluster, augmentez le nombre de nœuds worker, par exemple, de 3 à 4 :

...

workers:

count: 3

...

...

workers:

count: 4

...

Pour diminuer un cluster, réduisez le nombre de nœuds worker, par exemple, de 3 à 2 :

...

workers:

count: 3

...

...

workers:

count: 2

...

5 Pour appliquer les modifications, enregistrez le fichier dans l'éditeur de texte.

Lorsque vous enregistrez le fichier, kubectl applique les modifications au cluster. En arrière-plan, le Service de machine virtuelle du Cluster superviseur provisionne le nouveau nœud worker.

6 Pour vérifier que le nouveau nœud est ajouté, exécutez la commande suivante.

kubectl get tanzukubernetescluster CLUSTER-NAME

Si vous avez effectué une augmentation, le nouveau nœud est ajouté.

NAME CONTROL PLANE WORKER DISTRIBUTION AGE PHASE

tkg-cluster-01 3 4 v1.17.4+vmware.1-tkg.1.886c781 1d running

Si vous avez effectué une diminution, un nouveau nœud est supprimé.

NAME CONTROL PLANE WORKER DISTRIBUTION AGE PHASE

tkg-cluster-01 3 2 v1.17.4+vmware.1-tkg.1.886c781 1d running

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 158

Page 159: Configuration et gestion de vSphere with Kubernetes

État du cycle de vie du cluster Tanzu Kubernetes

Vous pouvez afficher l'état du cycle de vie des clusters Tanzu Kubernetes dans l'inventaire vSphere et à l'aide de kubectl.

État du cycle de vie des clusters Tanzu Kubernetes dans vSphere

Le tableau répertorie et décrit les informations sur l'état des clusters Tanzu Kubernetes qui s'affichent dans l'inventaire de vSphere. Pour afficher ces informations, reportez-vous à la section Surveiller l'état du cluster Tanzu Kubernetes à l'aide de vSphere Client.

Tableau 7-5. État des clusters Tanzu Kubernetes dans l'inventaire vSphere

Champ Description Exemple

Nom Nom défini par l'utilisateur du cluster. tkg-cluster-01

Heure de création Date et heure de création du cluster. Mar 17, 2020, 11:42:46 PM

Phase État du cycle de vie du cluster. Reportez-vous à la section Tableau 7-7. État de phase du cycle de vie d'un cluster.

creating

Nombre de travailleurs Nombre de nœuds worker dans le cluster. 1 ou 2 ou 5

Version de distribution Version du logiciel Kubernetes exécuté par le cluster.

v1.16.6+vmware.1-tkg.1.7144628

Adresse du plan de contrôle Adresse IP de l'équilibrage de charge du plan de contrôle du cluster.

192.168.123.2

État du cycle de vie du cluster Tanzu Kubernetes dans kubectl

Le tableau répertorie et décrit les informations sur l'état du cluster Tanzu Kubernetes qui s'affichent dans kubectl. Pour afficher ces informations, reportez-vous à la section Surveiller l'état du cluster Tanzu Kubernetes à l'aide de kubectl.

Tableau 7-6. État du cluster Tanzu Kubernetes dans kubectl

Champ Description Exemple

NAME Nom du cluster. tkg-cluster-01

CONTROL PLANE Nombre de nœuds de plan de contrôle dans le cluster.

3

WORKER Nombre de nœuds worker dans le cluster.

5

DISTRIBUTION Version de Kubernetes en cours d'exécution sur le cluster.

v1.16.6+vmware.1-tkg.1.5b5608b

AGE Nombre de jours d'exécution du cluster.

13d

PHASE État du cycle de vie du cluster. Reportez-vous à la section Tableau 7-7. État de phase du cycle de vie d'un cluster.

running

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 159

Page 160: Configuration et gestion de vSphere with Kubernetes

État de phase du cycle de vie d'un cluster

Le tableau répertorie et décrit l'état de chaque phase du cycle de vie d'un cluster. Reportez-vous à la section Tableau 7-7. État de phase du cycle de vie d'un cluster.

Tableau 7-7. État de phase du cycle de vie d'un cluster

Phase Description

creating Le provisionnement de cluster peut démarrer, le plan de contrôle est créé ou le plan de contrôle est créé, mais pas initialisé.

deleting Le cluster est en cours de suppression.

failed La création du plan de contrôle du cluster a échoué et l'intervention de l'utilisateur est vraisemblablement requise.

running L'infrastructure est créée et configurée, et le plan de contrôle est entièrement initialisé.

updating Le cluster est en cours de mise à jour.

Commandes opérationnelles du cluster Tanzu Kubernetes

Vous pouvez gérer les clusters Tanzu Kubernetes à l'aide de commandes kubectl personnalisées. Ces commandes sont mises à disposition par des ressources personnalisées qui sont créées par Service Tanzu Kubernetes Grid.

Commandes personnalisées pour gérer les clusters Tanzu Kubernetes

Ce tableau répertorie et décrit les commandes kubectl pour la gestion des clusters Tanzu Kubernetes.

Tableau 7-8. Commandes personnalisées pour gérer les clusters Tanzu Kubernetes

Commande Description

kubectl get tanzukubernetesclusterRépertorie les clusters dans l'espace de noms actuel.

kubectl get tkcForme abrégée de la commande précédente.

kubectl describe tanzukubernetescluster CLUSTER-NAME

Décrivez le cluster spécifié, en indiquant l'état exprimé, l'état et les événements. Lorsque le provisionnement est terminé, cette commande affiche l'adresse IP virtuelle créée pour l'équilibrage de charge faisant face aux points de terminaison de l'API Kubernetes.

kubectl get cluster-apiRépertorie les ressources de l'API du cluster qui prennent en charge les clusters dans l'espace de noms actuel, notamment les ressources du projet d'API du cluster et du fournisseur d'API du cluster utilisé par le service Tanzu Kubernetes Grid.

kubectl get virtualmachineRépertorie les ressources de machine virtuelle qui prennent en charge les nœuds de cluster dans l'espace de noms actuel.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 160

Page 161: Configuration et gestion de vSphere with Kubernetes

Tableau 7-8. Commandes personnalisées pour gérer les clusters Tanzu Kubernetes (suite)

Commande Description

kubectl get vmForme abrégée de la commande précédente.

kubectl describe virtualmachine VIRTUAL-MACHINE-NAME

Décrivez la machine virtuelle spécifiée, en indiquant l'état, l'état actuel et les événements.

kubectl describe virtualmachinesetresourcepolicyRépertoriez les ressources de stratégie de machine virtuelle définies qui prennent en charge le cluster dans l'espace de noms actuel. Cette ressource représente le pool de ressources des objets vSphere et le dossier utilisés pour le cluster.

kubectl get virtualmachineserviceRépertorie les ressources du service de machine virtuelle qui prennent en charge les nœuds de cluster dans l'espace de noms actuel. Ces ressources sont analogues à un service, mais pour les machines virtuelles au lieu des espaces. Les services de machine virtuelle sont utilisés pour fournir un équilibrage de charge pour les nœuds de plan de contrôle d'un cluster et par le fournisseur de cloud paravirtuel pour prendre en charge un service Kubernetes de type LoadBalancer dans un cluster. Reportez-vous également à la commande kubectl loadbalancer.

kubectl get vmserviceForme abrégée de la commande précédente.

kubectl describe virtualmachineservice VIRTUAL-MACHINE-SERVICE-NAME

Décrivez le service de machine virtuelle spécifié, en indiquant l'état exprimé du cluster, l'état actuel et les événements.

kubectl get loadbalancerRépertorie les ressources d'équilibrage de charge dans l'espace de noms actuel, y compris celles utilisées pour les clusters. Un équilibrage de charge est créé pour le service de machine virtuelle. Reportez-vous à la section Mise en réseau du cluster Tanzu Kubernetes.

kubectl get virtualnetworkRépertorie les ressources de réseau virtuel dans l'espace de noms actuel, y compris celles utilisées pour les clusters. Un réseau virtuel est créé pour chaque espace de noms dans lequel un cluster est provisionné et pour chaque cluster en particulier. Reportez-vous à la section Mise en réseau du cluster Tanzu Kubernetes.

kubectl get persistentvolumeclaimRépertorie les ressources de réclamation de volume persistant dans l'espace de noms actuel, y compris celles utilisées pour les clusters. Reportez-vous à la section Stockage dans vSphere with Kubernetes.

kubectl get cnsnodevmattachmentRépertorie les ressources d'attachement de machine virtuelle du nœud CNS dans l'espace de noms actuel. Ces ressources représentent d'attachement d'un volume persistant géré par CNS à une machine virtuelle servant de nœud de cluster. Reportez-vous à la section Stockage dans vSphere with Kubernetes.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 161

Page 162: Configuration et gestion de vSphere with Kubernetes

Tableau 7-8. Commandes personnalisées pour gérer les clusters Tanzu Kubernetes (suite)

Commande Description

kubectl get configmapRépertorie les mappages de configuration dans l'espace de noms actuel, y compris ceux utilisés pour la création des nœuds de cluster. Les mappages de configuration ne sont pas conçus pour être modifiables par l'utilisateur et toutes les modifications sont remplacées.

kubectl get secretRépertorie les secrets dans l'espace de noms actuel, notamment ceux utilisés pour la création et la gestion des nœuds de cluster. Reportez-vous à la section Secrets du cluster Tanzu Kubernetes.

Commandes de mise en réseau du cluster Tanzu Kubernetes

Service Tanzu Kubernetes Grid provisionne des clusters Tanzu Kubernetes avec une mise en réseau par défaut pour les nœuds, les espaces et les services. Vous pouvez vérifier la mise en réseau du cluster à l'aide de commandes kubectl personnalisées.

Commandes personnalisées pour vérifier la mise en réseau du cluster Tanzu Kubernetes

Tableau 7-9. Commandes kubectl personnalisées pour vérifier la mise en réseau du cluster

Commande Description

kubectl get virtualnetwork -n NAMESPACERenvoie le réseau virtuel pour les nœuds de cluster. Utilisez cette commande pour vérifier que l'adresse IP SNAT (traduction d'adresse réseau source) est attribuée.

kubectl get virtualmachines -n NAMESPACE NODE-NAME

Renvoie l'interface réseau virtuelle pour les nœuds de cluster. Utilisez cette commande pour vérifier que la machine virtuelle de chaque nœud de cluster dispose d'une adresse IP attribuée.

kubectl get virtualmachineservices -n NAMESPACE cluster-1-control-plane-service

Renvoie le service de machine virtuelle pour chaque nœud de cluster. Utilisez cette commande pour vérifier que l'état est mis à jour et inclut l'adresse IP virtuelle (VIP) d'équilibrage de charge.

kubectl get services -n NAMESPACE

curl -k https://EXTERNAL-IP:PORT/healthz

Renvoie l'équilibrage de charge du service Kubernetes créé pour l'accès à l'API du cluster. Utilisez cette commande pour vérifier qu'une adresse IP externe est attribuée. Utilisez cURL pour vérifier l'accès à l'API à l'aide de l'adresse IP externe et du port du service d'équilibrage de charge.

kubectl get endpoints -n NAMESPACE cluster-1-control-plane-service

Renvoie les nœuds de plan de contrôle (points de terminaison) pour le cluster. Utilisez cette commande pour vérifier que chaque point de terminaison est créé et inclus dans le pool de points de terminaison.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 162

Page 163: Configuration et gestion de vSphere with Kubernetes

Secrets du cluster Tanzu Kubernetes

Les clusters Tanzu Kubernetes utilisent des secrets pour stocker des jetons, des clés et des mots de passe pour l'exploitation des clusters Tanzu Kubernetes.

Liste de secrets du cluster Tanzu Kubernetes

Un secret Kubernetes est un objet qui stocke une petite quantité de données sensibles telles qu'un mot de passe, un jeton ou une clé SSH. Les administrateurs de clusters Tanzu Kubernetes peuvent utiliser plusieurs secrets lors de l'exploitation des clusters. Le tableau répertorie et décrit les principaux secrets que les administrateurs de clusters peuvent utiliser.

Note La liste n'est pas exhaustive. Elle ne contient que les secrets qui peuvent devoir être alternés ou utilisés manuellement pour accéder aux nœuds de cluster à des fins de dépannage.

Secret Description

TANZU-KUBERNETES-CLUSTER-NAME-ccm-token-RANDOMJeton de compte de service utilisé par le gestionnaire de contrôleurs cloud du fournisseur de cloud paravirtuel pour se connecter à l'Espace de noms de superviseur. Pour déclencher la rotation de ces informations d'identification, supprimez le secret.

TANZU-KUBERNETES-CLUSTER-NAME-pvcsi-token-RANDOMJeton de compte de service utilisé par le plug-in CSI paravirtuel pour se connecter à l'Espace de noms de superviseur. Pour déclencher la rotation de ces informations d'identification, supprimez le secret. Reportez-vous à la section Comment vSphere with Kubernetes s'intègre au stockage vSphere.

TANZU-KUBERNETES-CLUSTER-NAME-kubeconfigFichier kubeconfig qui peut être utilisé pour se connecter au plan de contrôle du cluster en tant qu'utilisateur kubernetes-admin. Cette clé secrète peut être utilisée pour accéder à un cluster et le dépanner lorsque l'authentification vCenter Single Sign-On n'est pas disponible. Reportez-vous à la section Se connecter au Tanzu Kubernetes plan de contrôle de cluster en tant qu'administrateur Kubernetes.

TANZU-KUBERNETES-CLUSTER-NAME-sshClé privée SSH qui peut être utilisée pour se connecter à un nœud de cluster en tant que vmware-system-user. Ce secret peut être utilisé pour se connecter par SSH à n'importe quel nœud de cluster et le dépanner. Reportez-vous à la section Connectez-vous par SSH aux nœuds de cluster Tanzu Kubernetes en tant qu'utilisateur système.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 163

Page 164: Configuration et gestion de vSphere with Kubernetes

Secret Description

TANZU-KUBERNETES-CLUSTER-NAME-ssh-passwordMot de passe qui peut être utilisé pour se connecter à un nœud de cluster en tant que vmware-system-user. Ce mot de passe peut être fourni via SSH ou lors de l'accès à la console de la machine virtuelle. Reportez-vous à la section Se connecter à un nœud de cluster en tant qu'utilisateur système avec un mot de passe.

TANZU-KUBERNETES-CLUSTER-NAME-caCertificat d'autorité de certification racine pour le plan de contrôle du cluster Tanzu Kubernetes utilisé par kubectl pour se connecter en toute sécurité au serveur d'API Kubernetes.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 164

Page 165: Configuration et gestion de vSphere with Kubernetes

Mise à jour de clusters vSphere with Kubernetes 8Vous pouvez effectuer une mise à jour vers la dernière version de vSphere with Kubernetes, notamment l'infrastructure vSphere prenant en charge les clusters vSphere with Kubernetes, les versions Kubernetes et les Outils de l'interface de ligne de commande Kubernetes pour vSphere .

Ce chapitre contient les rubriques suivantes :

n À propos des mises à jour du cluster vSphere with Kubernetes

n Mettre à jour les espaces de noms vSphere

n Mettre à jour le Plug-in vSphere pour kubectl

n Mettre à jour les clusters Tanzu Kubernetes

À propos des mises à jour du cluster vSphere with Kubernetes

vSphere with Kubernetes prend en charge les mises à jour continues pour les clusters Cluster superviseur et Tanzu Kubernetes, ainsi que pour l'infrastructure prenant en charge ces clusters.

Mise à jour des clusters vSphere with Kubernetes

vSphere with Kubernetes utilise un modèle de mise à jour continue pour les Cluster superviseur et les clusters Tanzu Kubernetes. Le modèle de mise à jour continue garantit une interruption de service minimale pour les charges de travail du cluster pendant le processus de mise à jour. Les mises à jour continues incluent la mise à niveau des versions du logiciel Kubernetes, ainsi que de l'infrastructure et des services prenant en charge les clusters Kubernetes, comme les configurations et les ressources de machine virtuelle, les services et les espaces de noms vSphere, ainsi que les ressources personnalisées.

VMware, Inc. 165

Page 166: Configuration et gestion de vSphere with Kubernetes

Pour que la mise à jour réussisse, votre configuration doit répondre à plusieurs exigences de compatibilité. Par conséquent, le système impose des conditions de revérification pour s'assurer que les clusters sont prêts pour les mises à jour et il prend en charge la restauration si la mise à niveau du cluster échoue.

Note Une mise à jour de vSphere with Kubernetes implique davantage qu'une simple mise à niveau de la version du logiciel Kubernetes. Nous utilisons le terme « mise à jour » pour décrire ce processus au lieu du terme « mise à niveau », qui est une forme limitée de mise à jour qui augmente la version du logiciel.

Dépendance entre les mises à jour du Cluster superviseur et les mises à jour du cluster Tanzu Kubernetes

Dans la plupart des cas, vous pouvez mettre à jour un Cluster superviseur indépendamment des clusters Tanzu Kubernetes. Si vous le souhaitez, vous pouvez mettre à jour certains Cluster superviseurs uniquement ou certains clusters Tanzu Kubernetes uniquement.

Cependant, il existe actuellement une dépendance entre ces deux types de mises à jour des clusters. Cela signifie que vous devez mettre à jour un Cluster superviseur avant de mettre à jour les clusters Tanzu Kubernetes gérés par ce Cluster superviseur.

À propos des mises à jour du Cluster superviseur

Lorsque vous lancez une mise à jour pour un Cluster superviseur, le système crée un nœud de plan de contrôle et l'associe au plan de contrôle existant. L'inventaire vSphere affiche quatre nœuds de plan de contrôle durant cette phase de la mise à jour, car le système ajoute un nouveau nœud mis à jour, puis supprime l'ancien nœud obsolète. Les objets sont migrés de l'un des anciens nœuds de plan de contrôle vers le nouveau et les anciens nœuds de plan de contrôle sont supprimés. Ce processus se répète pour chaque nœud jusqu'à ce que tous les nœuds du plan de contrôle soient mis à jour. Une fois le plan de contrôle mis à jour, les nœuds worker sont mis à jour sur un modèle similaire de mise à jour continue. Les nœuds worker sont les hôtes ESXi et chaque processus Spherelet sur chaque hôte ESXi est mis à jour successivement.

Vous pouvez choisir entre deux types de mise à jour du Cluster superviseur à effectuer : une mise à jour des espaces de noms du superviseur ou une mise à jour complète, y compris des versions de VMware et des versions de Kubernetes.

Vous utilisez le workflow de mise à jour des espaces de noms vSphere pour mettre à jour la version de Kubernetes que le cluster superviseur exécute (par exemple, de Kubernetes 1.16.7 à Kubernetes 1.17.4) et l'infrastructure prenant en charge les clusters Kubernetes. Ce type de mise à jour est le plus fréquent et est utilisé pour maintenir le rythme avec la cadence des versions de Kubernetes. Voici la séquence de mise à jour des espaces de noms vSphere :

1 Mettez à niveau vCenter Server.

2 Effectuez une mise à jour des espaces de noms du superviseur (y compris la mise à niveau de Kubernetes).

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 166

Page 167: Configuration et gestion de vSphere with Kubernetes

Pour effectuer une mise à jour des espaces de noms vSphere, reportez-vous à la section Mettre à jour les espaces de noms vSphere.

Vous utilisez le workflow de mise à jour complète pour mettre à jour tous les composants vSphere with Kubernetes. Ce type de mise à jour est requis lorsque vous mettez à jour des versions majeures (par exemple, de NSX-T 3.0 à 3.x et de vSphere 7.0 à 7.x). Ce workflow de mise à jour n'est pas très utilisé, selon la disponibilité des nouvelles versions de produits VMware. Voici la séquence de mise à jour complète :

1 Mettez à niveau NSX-T Data Center.

2 Mettez à niveau vCenter Server.

3 Mettez à niveau les hôtes ESXi.

4 Effectuez une mise à jour des espaces de noms du superviseur (y compris la mise à niveau de Kubernetes).

À propos des mises à jour du cluster Tanzu Kubernetes

Lorsque vous mettez à jour un Cluster superviseur, les composants d'infrastructure prenant en charge les clusters Tanzu Kubernetes déployés sur ce Cluster superviseur, comme le Service Tanzu Kubernetes Grid, sont également mis à jour. Chaque mise à jour de l'infrastructure peut inclure des mises à jour pour les services prenant en charge le Service Tanzu Kubernetes Grid (CNI, CSI, CPI) et des paramètres de configuration mis à jour pour le plan de contrôle et les nœuds worker qui peuvent être appliqués aux clusters Tanzu Kubernetes existants. Pour vous assurer que votre configuration répond aux exigences de compatibilité, vSphere with Kubernetes effectue des vérifications préalables lors de la mise à jour continue et garantit la conformité.

Pour effectuer une mise à jour continue d'un cluster Tanzu Kubernetes, vous devez généralement mettre à jour le manifeste du cluster. Reportez-vous à la section Mettre à jour les clusters Tanzu Kubernetes. Cependant, lorsqu'une mise à jour des espaces de noms vSphere est effectuée, le système propage immédiatement les configurations mises à jour vers tous les clusters Tanzu Kubernetes. Ces mises à jour peuvent déclencher automatiquement une mise à jour continue du plan de contrôle Tanzu Kubernetes et des nœuds worker.

Le processus de mise à jour continue pour le remplacement des nœuds de cluster est semblable à la mise à jour continue des espaces dans un déploiement Kubernetes. Deux contrôleurs distincts sont responsables de l'exécution d'une mise à jour continue des clusters Tanzu Kubernetes : le contrôleur Modules complémentaires et le contrôleur TanzuKubernetesCluster. Au sein de ces deux contrôleurs, il existe trois étapes clés pour une mise à jour continue : la mise à jour des modules complémentaires, la mise à jour du plan de contrôle et la mise à jour des nœuds worker. Ces étapes sont effectuées dans l'ordre, avec des vérifications préalables qui empêchent le début d'une étape tant que l'étape précédente n'a pas suffisamment progressé. Ces étapes peuvent être ignorées si elles sont jugées inutiles. Par exemple, une mise à jour peut affecter uniquement les nœuds worker et n'exige donc pas de mise à jour du module complémentaire ou du plan de contrôle.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 167

Page 168: Configuration et gestion de vSphere with Kubernetes

Pendant le processus de mise à jour, le système ajoute un nouveau nœud de cluster et attend que le nœud soit mis en ligne avec la version cible de Kubernetes. Le système marque ensuite l'ancien nœud pour être supprimé, passe au nœud suivant et répète le processus. L'ancien nœud n'est pas supprimé tant que tous les espaces ne sont pas supprimés. Par exemple, si un espace est défini avec des PodDisruptionBudgets qui empêchent l'épuisement complet d'un nœud, le nœud est détaché mais n'est pas supprimé tant que ces espaces ne peuvent pas être supprimés. Le système met d'abord à niveau tous les nœuds de plan de contrôle, puis les nœuds worker. Lors d'une mise à jour, l'état du cluster Tanzu Kubernetes passe à « Mise à jour ». Une fois le processus de mise à jour continue terminé, l'état du cluster Tanzu Kubernetes passe à « En cours d'exécution ».

Les espaces s'exécutant sur un cluster Tanzu Kubernetes qui ne sont pas régis par un contrôleur de réplication seront supprimés pendant la mise à niveau de la version de Kubernetes dans le cadre du drainage du nœud worker lors de la mise à jour du cluster Tanzu Kubernetes. Cela est vrai si la mise à jour du cluster est déclenchée manuellement ou automatiquement par une mise à jour des espaces de noms vSphere. Les espaces non régis par un contrôleur de réplication comprennent les espaces qui ne sont pas créés dans le cadre d'une spécification de déploiement ou de ReplicaSet. Pour plus d'informations, reportez-vous à la rubrique Cycle de vie de l'espace : durée de vie de l'espace dans la documentation Kubernetes.

Mettre à jour les espaces de noms vSphere

Pour mettre à jour un ou plusieurs Cluster superviseurs, y compris la version Kubernetes que le Cluster superviseur exécute et l'infrastructure prenant en charge les clusters Tanzu Kubernetes, vous devez effectuer une mise à jour des espaces de noms vSphere.

Il existe une nouvelle entité de version pour vSphere with Kubernetes. L'entité de version est une chaîne de version sémantique sous la forme v1.16.7-vsc0.0.1-16128153, où le préfixe est la version de Kubernetes (v1.16.7) et le suffixe est la version de vSphere with Kubernetes (vsc0.0.1-16128153).

Conditions préalables

Lisez les notes de mise à jour avant d'effectuer une mise à jour des espaces de noms vSphere.

Pour installer les fichiers binaires nécessaires, mettez à niveau le dispositif vCenter Server. Reportez-vous à la section Mise à niveau de vCenter Server Appliance dans la documentation de vCenter Server.

Note Lorsque vous effectuez une mise à jour des espaces de noms vSphere, tous les clusters Tanzu Kubernetes provisionnés doivent être à l'état En cours d'exécution. Si Tanzu Kubernetes est à l'état Création ou Suppression, attendez que le processus se termine avant de mettre à jour un Cluster superviseur ou l'opération pourrait ne pas aboutir.

Procédure

1 Connectez-vous à vCenter Server en tant qu'administrateur vSphere.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 168

Page 169: Configuration et gestion de vSphere with Kubernetes

2 Sélectionnez Menu > Gestion de la charge de travail.

3 Sélectionnez l'onglet Espaces de noms > Mises à jour.

4 Sélectionnez la Version disponible que vous souhaitez mettre à jour.

Par exemple, sélectionnez la version v1.17.4-vsc0.0.1-16128153.

5 Sélectionnez un ou plusieurs Cluster superviseurs auxquels appliquer la mise à jour.

6 Cliquez sur Appliquer les mises à jour pour lancer la mise à jour.

7 Utilisez le volet Tâches récentes pour surveiller l'état de la mise à jour.

Mettre à jour le Plug-in vSphere pour kubectl

Une fois que vous avez mis à jour les espaces de noms vSphere, mettez à jour le Plug-in vSphere pour kubectl.

La version la plus récente du Plug-in vSphere pour kubectl télécharge et installe le certificat d'autorité de certification racine du cluster Tanzu Kubernetes dans le secret Kubernetes nommé TANZU-KUBERNETES-CLUSTER-NAME-ca. Le plug-in utilise ce certificat pour remplir les informations de l'autorité de certification dans la banque de données de l'autorité de certification du cluster correspondant. Pour télécharger et installer le Plug-in vSphere pour kubectl, reportez-vous à la section Télécharger et installer les Outils de l'interface de ligne de commande Kubernetes pour vSphere . Pour plus d'informations sur le secret TANZU-KUBERNETES-CLUSTER-NAME-ca, reportez-vous à la section Secrets du cluster Tanzu Kubernetes.

Mettre à jour les clusters Tanzu Kubernetes

Vous pouvez mettre à jour un cluster Tanzu Kubernetes, notamment la version de Kubernetes, en mettant à jour la version de distribution, la classe de machine virtuelle ou la classe de stockage.

Conditions requises pour la mise à jour du cluster Tanzu Kubernetes

Lisez les notes de mise à jour avant d'effectuer une mise à jour du cluster Tanzu Kubernetes.

Pour mettre à jour les clusters Tanzu Kubernetes, effectuez d'abord une mise à jour des espaces de noms vSphere. Lorsque vous effectuez une mise à jour de l'espace de noms vSphere, tous les clusters Tanzu Kubernetes doivent être à l'état En cours d'exécution. Reportez-vous à la section Mettre à jour les espaces de noms vSphere.

La version du logiciel Kubernetes est une chaîne dans le manifeste du cluster, qui est la notation de version sémantique. Par exemple, si la version est 1.16.7, « 1 » est la version majeure, « 16 » est la version mineure et « 7 » est la version du correctif.

Observez les exigences suivantes lors de la mise à niveau de la version de Kubernetes pour un cluster Tanzu Kubernetes existant :

n Vous ne pouvez pas rétrograder la version. Par exemple, vous ne pouvez pas rétrograder de Kubernetes v1.17 à v1.16.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 169

Page 170: Configuration et gestion de vSphere with Kubernetes

n Vous pouvez mettre à niveau la version mineure, mais uniquement de manière incrémentielle. Il n'est pas possible d'ignorer certaines versions mineures. Par exemple, vous pouvez effectuer une mise à niveau de Kubernetes v1.16 vers v1.17, mais vous ne pouvez pas effectuer la mise à niveau de Kubernetes v1.16 vers v1.18.

n Vous ne pouvez pas modifier la version majeure, comme la mise à niveau de v1.16 vers v2.0.

Vous pouvez spécifier la version complète ou utiliser des raccourcis de version, tels que version: v1.16.7, qui est résolue en l'image la plus récente correspondant à cette version de correctif, ou version: v1.16, qui est résolue en la version de correctif correspondante la plus récente. La version résolue s'affiche en tant que fullVersion dans le manifeste du cluster, tel que v1.16.8+vmware.1-tkg.3.60d2ffd.

Note Pour effectuer une mise à niveau de la version de Kubernetes, vous devez annuler la fullVersion dans le manifeste. Reportez-vous à la section Mise à jour en modifiant la version de distribution.

Exécution de la mise à jour du cluster Tanzu Kubernetes

Vous lancez une mise à jour continue en effectuant une ou plusieurs des modifications suivantes à la spécification TanzuKubernetesCluster :

n Méthode 1 : Mise à jour en modifiant la version de distribution

n Méthode 2 : Mise à jour en modifiant la propriété VirtualMachineClass pour les nœuds

n Méthode 3 : Mise à jour en modifiant la propriété StorageClass pour les nœuds

Note Bien que ces méthodes soient les plus courantes pour initier une mise à jour continue, elles ne sont pas les seules. Une modification apportée à l'un des éléments de configuration peut également initier une mise à jour continue. Par exemple, le changement de nom ou le remplacement de l'VirtualMachineImage qui correspond à une version de distribution initie une mise à jour continue lorsque le système tente d'obtenir tous les nœuds en cours d'exécution sur la nouvelle image. En outre, la mise à jour d'un Cluster superviseur peut déclencher une mise à jour continue des clusters Tanzu Kubernetes déployés. Par exemple, si vmware-system-tkg-controller-manager est mis à jour, le système introduit de nouvelles valeurs dans le générateur de manifeste et le contrôleur initie une mise à jour continue pour déployer ces valeurs.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 170

Page 171: Configuration et gestion de vSphere with Kubernetes

Mise à jour en modifiant la version de distribution

La méthode la plus courante pour déclencher une mise à jour continue consiste à modifier la version de distribution Kubernetes pour le cluster, à l'aide des propriétés .spec.distribution.version ou .spec.distribution.fullVersion. Si vous mettez à jour la suggestion de version, vous devez effacer ou annuler le fullVersion pour éviter une potentielle discordance de version pendant la découverte.

$ read -r -d '' PATCH <<'EOF'

spec:

distribution:

fullVersion: null # NOTE: Must set to null when updating just the version field

version: v1.17.7

EOF

Appliquez la mise à jour à l'aide de la commande kubectl patch. Vous devez inclure les guillemets entourant la variable "$PATCH" pour conserver les caractères de saut de ligne dans le manifeste du cluster. Remplacez la valeur TKG-CLUSTER-NAME par le nom réel de votre cluster.

kubectl patch --type=merge tanzukubernetescluster TKG-CLUSTER-NAME --patch "$PATCH"

Résultat attendu :

tanzukubernetescluster.run.tanzu.vmware.com/TKG-CLUSTER-NAME patched

Note L'approche illustrée ici utilise la commande shell UNIX read pour obtenir une entrée depuis le clavier et l'attribuer à une variable nommée $PATCH. La commande kubectl patch appelle l'API Kubernetes pour mettre à jour le manifeste du cluster. L'indicateur --type=merge indique que les données contiennent uniquement les propriétés qui diffèrent du manifeste existant. Reportez-vous à la documentation Kubernetes pour obtenir des approches alternatives concernant l'utilisation de la commande kubectl patch, notamment Mettre à jour les objets d'API sur place à l'aide du correctif kubectl. D'autres commandes kubectl avec des effets similaires peuvent également être utilisées. Par exemple, vous pouvez utiliser la commande kubectl edit tanzukubernetescluster/CLUSTER-NAME. Cette commande ouvre le manifeste du cluster dans l'éditeur de texte défini par vos variables d'environnement KUBE_EDITOR ou EDITOR. Lorsque vous enregistrez les modifications, le manifeste est mis à jour. Pour plus d'informations, reportez-vous à la section Commande d'édition dans la documentation Kubernetes.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 171

Page 172: Configuration et gestion de vSphere with Kubernetes

Mise à jour en modifiant la propriété VirtualMachineClass pour les nœuds

Une autre méthode pour déclencher une mise à jour continue d'un cluster Tanzu Kubernetes consiste à modifier la VirtualMachineClass des pools de nœuds, c'est-à-dire à modifier la propriété .spec.topology.controlPlane.class ou la propriété .spec.topology.workers.class.

read -r -d '' PATCH <<'EOF'

spec:

topology:

controlPlane:

class: best-effort-xlarge

workers:

class: best-effort-xlarge

EOF

Appliquez la mise à jour à l'aide de la commande kubectl patch, en remplaçant la variable par le nom du cluster.

kubectl patch --type=merge tanzukubernetescluster TKG-CLUSTER-NAME --patch "$PATCH"

Résultat attendu :

tanzukubernetescluster.run.tanzu.vmware.com/TKG-CLUSTER-NAME patched

Mise à jour en modifiant la propriété StorageClass pour les nœuds

Une autre méthode pour déclencher une mise à jour continue d'un cluster Tanzu Kubernetes consiste à modifier la StorageClass des pools de nœuds, c'est-à-dire à modifier la propriété .spec.topology.controlPlane.storageClass ou la propriété .spec.topology.workers.storageClass.

$ read -r -d '' PATCH <<'EOF'

spec:

topology:

controlPlane:

storageClass: gc-storage-profile

workers:

storageClass: gc-storage-profile

EOF

Appliquez la mise à jour à l'aide de la commande kubectl patch, en remplaçant la variable par le nom du cluster.

kubectl patch --type=merge tanzukubernetescluster TKG-CLUSTER-NAME --patch "$PATCH"

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 172

Page 173: Configuration et gestion de vSphere with Kubernetes

Résultat attendu :

tanzukubernetescluster.run.tanzu.vmware.com/TKG-CLUSTER-NAME patched

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 173

Page 174: Configuration et gestion de vSphere with Kubernetes

Dépannage de vSphere with Kubernetes 9Utilisez les meilleures pratiques et les techniques de dépannage suivantes pour votre infrastructure dans vSphere with Kubernetes.

Ce chapitre contient les rubriques suivantes :

n Dépannage du stockage dans vSphere with Kubernetes

n Résolution des problèmes de mise en réseau

n Dépannage des clusters Tanzu Kubernetes

n Dépannage des problèmes d'activation de la gestion de la charge de travail

Dépannage du stockage dans vSphere with Kubernetes

Utilisez les techniques de dépannage de votre environnement de stockage dans vSphere with Kubernetes.

Utiliser des règles d'anti-affinité pour les machines virtuelles du plan de contrôle sur des banques de données non-vSAN

Lorsque vous utilisez des banques de données autres que vSAN dans votre cluster avec vSphere with Kubernetes, placez les trois machines virtuelles du plan de contrôle sur différentes banques de données pour des raisons de disponibilité.

Étant donné que les machines virtuelles du plan de contrôle sont gérées par le système, vous ne pouvez pas les migrer manuellement. Utilisez la combinaison d'un cluster de banques de données et d'un DRS de stockage pour rééquilibrer les machines virtuelles du plan de contrôle et les placer dans des banques de données distinctes.

Procédure

1 Créez un cluster de banques de données dans vSphere Client.

a Accédez aux centres de données.

b Cliquez avec le bouton droit sur l'objet du centre de données et sélectionnez Nouveau cluster de banques de données.

c Nommez votre cluster de banques de données et assurez-vous que l'option Activer le DRS de stockage est activée.

VMware, Inc. 174

Page 175: Configuration et gestion de vSphere with Kubernetes

d Définissez le niveau d'automatisation du cluster sur Aucune automatisation (mode manuel).

e Conservez les paramètres d'exécution du DRS de stockage comme valeur par défaut.

f Sélectionnez le cluster ESXi activé avec vSphere with Kubernetes.

g Sélectionnez toutes les banques de données partagées à ajouter au cluster de banques de données.

h Cliquez sur Terminer.

2 Définissez les règles du DRS de stockage pour les machines virtuelles du plan de contrôle.

a Accédez au cluster de banque de données.

b Cliquez sur l'onglet Configurer, puis cliquez sur Règles sous Configuration.

c Cliquez sur l'icône Ajouter et entrez un nom pour la règle.

d Assurez-vous que l'option Activer la règle est activée.

e Définissez Type de règle sur Anti-affinité VM.

f Cliquez sur l'icône Ajouter et sélectionnez les trois machines virtuelles du plan de contrôle du superviseur.

g Cliquez sur OK pour terminer votre configuration.

3 Créer les remplacements de machine virtuelle.

a Accédez au cluster de banque de données.

b Cliquez sur l'onglet Configurer, puis sur Remplacements de VM sous Configuration.

c Cliquez sur l'icône Ajouter et sélectionnez les trois machines virtuelles du plan de contrôle.

d Pour activer le niveau d'automatisation du DRS de stockage, cochez la case Remplacer et définissez la valeur sur Entièrement automatisé.

e Cliquez sur Terminer.

Résultats

Cette tâche active le DRS de stockage pour les machines virtuelles du plan de contrôle uniquement et rééquilibre les machines virtuelles pour qu'elles résident sur des banques de données différentes.

Après l'exécution du Storage vMotion, vous pouvez supprimer les règles SDRS et les remplacements, désactiver le DRS de stockage et supprimer le cluster de banques de données.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 175

Page 176: Configuration et gestion de vSphere with Kubernetes

La stratégie de stockage supprimée de vSphere continue à apparaître en tant que classe de stockage Kubernetes

Lorsque vous utilisez vSphere Client pour supprimer la stratégie de stockage de vCenter Server ou d'un espace de noms dans le Cluster superviseur, sa classe de stockage correspondante reste dans l'environnement Kubernetes, mais ne peut pas être utilisée.

Problème

Si vous exécutez la commande kubectl get sc, la sortie continue de répertorier la classe de stockage comme disponible dans l'espace de noms. Toutefois, la classe de stockage ne peut pas être utilisée. Par exemple, vos tentatives d'utilisation de la classe de stockage pour une nouvelle réclamation de volume persistant échouent.

Si la classe de stockage est déjà utilisée par un déploiement Kubernetes, le déploiement peut se comporter de façon imprévisible.

Solution

1 Pour vérifier quelles classes de stockage existent dans l'espace de noms, exécutez la commande kubectl describe namespace namespace_name.

La sortie de cette commande ne répertorie pas la classe de stockage si sa stratégie de stockage correspondante est supprimée.

2 Si la classe de stockage est déjà utilisée par un déploiement, restaurez cette classe de stockage.

a Utilisez vSphere Client pour créer une nouvelle stratégie de stockage avec le même nom que la stratégie que vous avez supprimée.

Par exemple, si vous avez supprimé la stratégie Gold, nommez la nouvelle stratégie Gold. Reportez-vous à la section Créer des stratégies de stockage pour vSphere with Kubernetes.

b Attribuez la stratégie à l'espace de noms.

Reportez-vous à la section Modifier les paramètres de stockage d'un espace de noms.

Après avoir attribué la stratégie à l'espace de noms, vSphere with Kubernetes supprime l'ancienne classe de stockage et crée une classe de stockage correspondante avec le même nom.

Résolution des problèmes de mise en réseau

Vous pouvez résoudre les problèmes de mise en réseau que vous pouvez rencontrer lorsque vous configurez vSphere with Kubernetes avec NSX.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 176

Page 177: Configuration et gestion de vSphere with Kubernetes

Enregistrez vCenter Server avec NSX Manager

Vous devrez peut-être ré-enregistrer l'OIDC vCenter Server avec NSX Manager dans certaines situations, par exemple lorsque le nom de domaine complet/PNID de vCenter Server change.

Procédure

1 Connectez-vous à l'appareil vCenter Server par SSH.

2 Exécutez la commande shell.

3 Pour obtenir l'empreinte vCenter Server, lancez la commande - openssl s_client -connect <vcenterserver-FQDN:443 </dev/null 2>/dev/null | openssl x509 -fingerprint -

sha256 -noout -in /dev/stdin

L'empreinte s'affiche. Par exemple, 08:77:43:29:E4:D1:6F:29:96:78:5F:BF:D6:45:21:F4:0E:3B:2A:68:05:99:C3:A4:89:8F:F2:0B:EA:3A:

BE:9D

4 Copiez l'empreinte numérique SHA256 et supprimez les deux-points.

08774329E4D16F2996785FBFD64521F40E3B2A680599C3A4898FF20BEA3ABE9D

5 Pour actualiser l'OIDC de vCenter Server, utilisez la commande suivante :

curl --location --request POST 'https://<NSX-T_ADDRESS>/api/v1/trust-management/oidc-uris' \

--header 'Content-Type: application/json' \

--header 'Authorization: Basic <AUTH_CODE>' \

--data-raw '{

"oidc_type": "vcenter",

"oidc_uri": "https://<VC_ADDRESS>/openidconnect/vsphere.local/.well-known/openid-

configuration",

"thumbprint": "<VC_THUMBPRINT>"

}'

Impossible de modifier le mot de passe du dispositif NSX

Ils se peut que vous puissiez ne pas modifier le mot de passe du dispositif NSX pour les utilisateurs root, admin ou audit.

Problème

Les tentatives de modification du mot de passe du dispositif NSX pour les utilisateurs de root, de admin ou de audit. via vSphere Client peuvent échouer.

Cause

Pendant l'installation de NSX Manager, la procédure n'accepte qu'un seul mot de passe pour les trois rôles. Les tentatives de modification de ce mot de passe peuvent échouer ultérieurement.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 177

Page 178: Configuration et gestion de vSphere with Kubernetes

Solution

u Utilisez les NSX API pour modifier les mots de passe.

Pour plus d'informations, reportez-vous à https://kb.vmware.com/s/article/70691 et au Guide d'administration de NSX-T Data Center.

Dépannage des workflows ayant échoué et des dispositifs NSX Edge instables

Si vos workflows échouent ou si les dispositifs NSX Edge sont instables, vous pouvez effectuer une procédure de dépannage.

Problème

Lorsque vous modifiez la configuration du groupe de ports distribués sur vSphere Client, les workflows peuvent échouer et les dispositifs NSX Edge peuvent devenir instables.

Cause

La suppression ou la modification des groupes de ports distribués pour la superposition et la liaison montante qui ont été créés lors de la configuration du cluster NSX Edge au cours de la configuration du cluster n'est pas autorisée en raison de leur conception.

Solution

Si vous devez modifier la configuration du VLAN ou du pool d'adresses IP de dispositifs NSX Edge, vous devez d'abord supprimer les éléments de NSX-T Data Center et la configuration de vSphere with Kubernetes du cluster.

Pour plus d'informations sur la suppression des éléments de NSX-T Data Center, reportez-vous au Guide d'installation de NSX-T Data Center.

Collecter des bundles de support pour le dépannage

Vous pouvez collecter des bundles de support sur des nœuds de cluster et d'infrastructure enregistrés pour le dépannage et télécharger les bundles sur votre machine ou les télécharger vers un serveur de fichiers.

Si vous choisissez de télécharger les bundles sur votre machine, vous obtenez un fichier d'archive unique constitué d'un fichier de manifeste et de bundles de support pour chaque nœud. Si vous choisissez de télécharger les bundles sur un serveur de fichiers, le fichier manifeste et les bundles individuels sont téléchargés vers le serveur de fichiers séparément.

Procédure

1 Dans votre navigateur, connectez-vous avec des privilèges d'administrateur à un dispositif NSX Manager.

2 Sélectionnez Système > Bundle de support .

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 178

Page 179: Configuration et gestion de vSphere with Kubernetes

3 Sélectionnez les nœuds cibles.

Les types de nœuds disponibles sont Nœuds de gestion, Dispositifs Edge, Hôtes et Passerelles cloud publiques.

4 (Facultatif) Spécifiez l'âge du journal en jours pour exclure les journaux antérieurs au nombre de jours spécifié.

5 (Facultatif) Basculez le commutateur qui indique s'il faut inclure ou exclure les fichiers de base et les journaux d'audit.

Note Les fichiers de base et les journaux d'audit peuvent contenir des informations sensibles telles que des mots de passe ou des clés de chiffrement.

6 (Facultatif) Cochez la case pour télécharger les bundles sur un serveur de fichiers.

7 Cliquez sur Démarrer la collecte de bundles pour commencer à collecter des bundles de support.

Le nombre de fichiers journaux de chaque nœud détermine le temps nécessaire à la collecte des bundles de support.

8 Surveiller le statut du processus de collecte.

L'onglet État affiche la progression de la collecte des bundles de support.

9 Cliquez sur Télécharger pour télécharger le bundle si l'option d'envoi du bundle à un serveur de fichiers n'a pas été définie.

Collecter les fichiers journaux

Vous pouvez collecter les journaux qui se trouvent dans les composants vSphere with Kubernetes et NSX-T Data Center pour détecter et résoudre les erreurs. Ces fichiers journaux peut être demandée par le support VMware.

Procédure

1 Connectez-vous à vCenter Server en utilisant vSphere Client.

2 Collectez les fichiers journaux suivants.

Fichier journal Description

/var/log/vmware/wcp/wcpsvc.log Contient des informations relatives à l'activation de vSphere with Kubernetes.

/var/log/vmware/wcp/nsxd.log Contient des informations relatives à la configuration des composants NSX-T Data Center.

3 Connectez-vous à NSX Manager.

4 Collectez le fichier /var/log/proton/nsxapi.log pour plus d'informations sur l'erreur que NSX Manager renvoie lorsqu'une opération vSphere with Kubernetes spécifique a échoué.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 179

Page 180: Configuration et gestion de vSphere with Kubernetes

Redémarrer le service WCP si le certificat ou l'adresse IP de gestion NSX-T est modifié(e)

Si le certificat de gestion NSX-T ou l'adresse IP de gestion NSX-T est modifiée après l'installation de vSphere with Kubernetes, vous devez redémarrer le service WCP.

Redémarrer le service vSphere with Kubernetes si le certificat NSX-T est modifié

Le fonctionnement actuel de vSphere with Kubernetes nécessite que, si le certificat NSX-T est modifié ou si l'adresse IP NSX-T est modifié, vous devez redémarrer le service WCP pour que la modification prenne effet. Si une modification se produit sans redémarrage du service, la communication entre vSphere with Kubernetes et NSX-T échoue, et certains symptômes peuvent se produire (par exemple, NCP entre dans une étape CrashLoopBackoff ou les ressources de cluster superviseur deviennent non déployables).

Pour redémarrer le service WCP, utilisez la commande vmon-cli.

1 Ouvrez une session SSH sur vCenter Server et connectez-vous en tant qu'utilisateur racine.

2 Exécutez la commande shell.

3 Exécutez la commande vmon-cli -h pour afficher la syntaxe d'utilisation et les options.

4 Exécutez la commande vmon-cli -l pour afficher le processus wcp.

Le service wcp apparaît au bas de la liste.

5 Exécutez la commande vmon-cli --restart wcp pour redémarrer le service wcp.

Le message suivant s'affiche : Completed Restart service request.

6 Exécutez la commande vmon-cli -s wcp et vérifiez que le service wcp est démarré.

Par exemple :

root@localhost [ ~ ]# vmon-cli -s wcp

Name: wcp

Starttype: AUTOMATIC

RunState: STARTED

RunAsUser: root

CurrentRunStateDuration(ms): 22158

HealthState: HEALTHY

FailStop: N/A

MainProcessId: 34372

VDS requis pour le trafic du nœud de transport hôte

vSphere with Kubernetes requiert l'utilisation d'un commutateur virtuel distribué vSphere 7 (VDS) pour le trafic du nœud de transport hôte. Vous ne pouvez pas utiliser le VDS NSX-T (N-VDS) pour le trafic du nœud de transport de l'hôte avec vSphere with Kubernetes.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 180

Page 181: Configuration et gestion de vSphere with Kubernetes

VDS requis

vSphere with Kubernetes requiert un VDS convergent qui prend en charge le trafic vSphere 7 et le trafic NSX-T 3 sur le même VDS. Avec les versions précédentes de vSphere et de NSX-T, vous disposez d'un VDS (ou VSS) pour le trafic vSphere et d'un N-VDS pour le trafic NSX-T. Cette configuration n'est pas prise en charge par vSphere with Kubernetes. Si vous tentez d'activer la gestion de la charge de travail en utilisant un N-VDS, le système indique que le cluster vCenter n'est pas compatible. Pour plus d'informations, consultez Dépannage des erreurs de compatibilité du cluster d'activation de la gestion de la charge de travail.

Pour utiliser un VDS convergé, créez un VDS vSphere 7 à l'aide de vCenter et dans NSX-T spécifiez ce VDS lors de la préparation des hôtes ESXi en tant que nœuds de transport. Il n'est pas suffisant de disposer de VDS-DSwitch du côté de vCenter. Le VDS-DSwitch 7.0 doit être configuré avec un profil de nœud de transport NSX-T comme indiqué dans la rubrique Créer un profil de nœud de transport et montré ci-dessous.

Figure 9-1. Configuration de VDS dans NSX-T

Si vous avez effectué une mise à niveau vers vSphere 7 et NSX-T 3 depuis des versions antérieures, vous devez désinstaller le N-VDS de chaque nœud de transport ESXi et reconfigurer chaque hôte avec un VDS. Contactez le service GSS (VMware Global Support Service) pour obtenir des conseils.

Dépannage des clusters Tanzu Kubernetes

Vous pouvez résoudre les problèmes des clusters Tanzu Kubernetes en vous connectant à n'importe quel nœud de cluster, en affichant la hiérarchie des ressources du cluster et en collectant les fichiers journaux.

Limitations connues des clusters Tanzu Kubernetes

Tenez compte des limitations connues des clusters Tanzu Kubernetes provisionnés par le Service Tanzu Kubernetes Grid.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 181

Page 182: Configuration et gestion de vSphere with Kubernetes

Les limitations connues suivantes s'appliquent aux clusters Tanzu Kubernetes provisionnés par le Service Tanzu Kubernetes Grid dans le cadre de la publication de vSphere with Kubernetes. Même si vous ne pouvez pas effectuer les actions suivantes dans la version actuelle, elles figurent sur la feuille de route.

Note Reportez-vous aux notes de mise à jour pour en savoir plus sur les problèmes connus et obtenir d'autres informations spécifiques à la version.

n Appeler directement l'API du cluster pour la gestion du cycle de vie du cluster.

n Exécuter des opérations de gestion sur des machines virtuelles.

n Étendre les zones de disponibilité sur plusieurs clusters superviseur.

n Personnaliser les indicateurs du serveur d'API du cluster.

n Personnaliser différents points d'extension, tels que le plug-in d'interface réseau de conteneur (CNI) ou le plug-in d'interface de stockage de conteneur (CSI).

Collecter un bundle de support pour les clusters Tanzu Kubernetes

Vous pouvez collecter un bundle de support pour aider à résoudre les problèmes de cluster Tanzu Kubernetes. Cette opération peut être demandée par le support VMware.

Vous pouvez collecter les fichiers journaux pour aider à résoudre les problèmes de cluster Tanzu Kubernetes. Les fichiers journaux du cluster Tanzu Kubernetes sont collectés à partir du Cluster superviseur. Contactez votre administrateur vSphere si nécessaire.

Note Pour faciliter le dépannage de la mise en réseau du cluster Tanzu Kubernetes, collectez les bundles de support pour NSX-T. Reportez-vous à la section Collecter des bundles de support dans la documentation de NSX-T Data Center.

Procédure

1 Connectez-vous à vCenter Server en utilisant vSphere Client.

2 Sélectionnez Menu > Plate-forme de charge de travail.

3 Cliquez sur Clusters.

4 Pour sélectionner le Cluster superviseur, cliquez sur l'icône en forme de cercle en regard du nom du cluster.

5 Pour télécharger les fichiers journaux du cluster, cliquez sur Exporter les journaux.

Dépanner les erreurs de connexion vCenter Single Sign-On

Si vous ne disposez pas d'autorisations suffisantes sur l'Espace de noms de superviseur, vous ne pouvez pas vous connecter au Cluster superviseur ou à un cluster Tanzu Kubernetes en tant qu'utilisateur vCenter Single Sign-On.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 182

Page 183: Configuration et gestion de vSphere with Kubernetes

Problème

Le Plug-in vSphere pour kubectl renvoie le message d'erreur Error from server (Forbidden) lorsque vous tentez de vous connecter à un Cluster superviseur ou à un cluster Tanzu Kubernetes en tant qu'utilisateur vCenter Single Sign-On.

Cause

Vous ne disposez pas des autorisations suffisantes sur l'Espace de noms de superviseur ou ne disposez pas d'un accès au cluster.

Solution

Si vous êtes un ingénieur DevOps gérant le cluster, vérifiez auprès de votre administrateur vSphere que vous avez obtenu des autorisations Modification pour l'Espace de noms de superviseur. Reportez-vous à la section Créer et configurer un Espace de noms de superviseur.

Si vous êtes un développeur qui utilise le cluster pour déployer des charges de travail, vérifiez auprès de votre administrateur de cluster que vous avez obtenu l'accès au cluster. Reportez-vous à la section Accorder aux développeurs l'accès aux clusters Tanzu Kubernetes.

Dépanner des erreurs de la bibliothèque de contenu abonnée

Si la bibliothèque de contenu abonnée atteint les limites de capacité de stockage, vous ne pouvez pas provisionner des clusters Tanzu Kubernetes.

Problème

Lorsque vous tentez de provisionner un cluster Tanzu Kubernetes, vous ne pouvez pas extraire d'éléments de la bibliothèque de contenu abonnée et l'erreur suivante s'affiche :

Internal error occurred: get library items failed for.

Cause

La bibliothèque de contenu abonnée a atteint sa capacité maximale. La bibliothèque de contenu dépend d'un stockage attaché. Au fil de la publication d'autres versions Kubernetes et du transfert de fichiers OVA dans la bibliothèque, le stockage peut atteindre sa capacité maximale.

Solution

Effectuez une migration vers une nouvelle bibliothèque de contenu. Reportez-vous à la section Migrer des clusters Tanzu Kubernetes vers une nouvelle bibliothèque de contenu.

Dépannage des erreurs de provisionnement de cluster

Si vous avez provisionné un cluster Tanzu Kubernetes, mais que les machines virtuelles du plan de contrôle ne démarrent pas, vous devrez peut-être modifier la taille ou la classe de la machine virtuelle.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 183

Page 184: Configuration et gestion de vSphere with Kubernetes

Problème

Vous avez provisionné un cluster Tanzu Kubernetes. Le système tente de mettre sous tension la ou les machines virtuelles du plan de contrôle, mais elle est erronée avec le message suivant :

The host does not have sufficient CPU resources to satisfy the reservation.

Cause

La taille ou la classe de la machine virtuelle n'est pas suffisante pour le déploiement du cluster.

Solution

Modifiez le type ou la classe de machine virtuelle. Reportez-vous à la section Types de classes de machines virtuelles pour les clusters Tanzu Kubernetes.

Dépannage des erreurs de déploiement de la charge de travail

Des erreurs de déploiement de charge de travail peuvent se produire si PodSecurityPolicy et les liaisons ne sont pas configurés pour les utilisateurs authentifiés.

Problème

Déployez une charge de travail de conteneur sur un cluster Tanzu Kubernetes, mais la charge de travail ne démarre pas. Un message d'erreur semblable au message suivant s'affiche :

Error: container has runAsNonRoot and image will run as root.

Cause

Les clusters Tanzu Kubernetes sont provisionnés alors que le contrôleur d'admission PodSecurityPolicy est activé. Aucun utilisateur authentifié ne peut créer d'espaces disposant de privilèges ou sans privilèges tant que l'administrateur du cluster n'a pas lié PodSecurityPolicy aux utilisateurs authentifiés.

Solution

Créez une liaison appropriée à l'instance de PodSecurityPolicy par défaut ou définissez des instances personnalisées de PodSecurityPolicy. Reportez-vous aux sections Utilisation des stratégies de sécurité de l'espace avec les clusters Tanzu Kubernetes et Didacticiel de l'application Kubernetes Guestbook : lier à la stratégie de sécurité par défaut de l'espace privilégié.

Redémarrer un travail de mise à jour de cluster Kubernetes Tanzu ayant échoué

Si la mise à jour d'un cluster Tanzu Kubernetes échoue, vous pouvez redémarrer la tâche de mise à jour et réessayer la mise à jour.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 184

Page 185: Configuration et gestion de vSphere with Kubernetes

Problème

La mise à jour d'un cluster Tanzu Kubernetes échoue et entraîne un état du cluster comme upgradefailed.

Cause

Plusieurs raisons peuvent expliquer l'échec d'une mise à jour du cluster, par exemple un stockage insuffisant. Pour redémarrer un travail de mise à jour ayant échoué et réessayer la mise à jour du cluster, suivez la procédure suivante.

Solution

1 Connectez-vous à Cluster superviseur en tant qu'administrateur. Reportez-vous à la section Se connecter à Cluster superviseur en tant qu'utilisateur vCenter Single Sign-On.

2 Recherchez le update_job_name.

kubectl get jobs -n vmware-system-tkg -l "run.tanzu.vmware.com/cluster-namespace=$

{cluster_namespace},cluster.x-k8s.io/cluster-name=${cluster_name}"

3 Exécutez kubectl proxy afin que curl puisse être utilisé pour émettre des demandes.

kubectl proxy &

Vous devez voir Starting to serve on 127.0.0.1:8001.

Note Vous ne pouvez pas utiliser kubectl pour corriger ou mettre à jour le .status d'une ressource.

4 À l'aide de curl exécutez la commande de correctif suivante pour élever la .spec.backoffLimit.

curl -H "Accept: application/json" -H "Content-Type: application/json-patch+json"

--request PATCH --data '[{"op": "replace", "path": "/spec/backoffLimit", "value": 8}]'

http://127.0.0.1:8001/apis/batch/v1/namespaces/vmware-system-tkg/jobs/${update_job_name}

5 À l'aide de curl exécutez la commande de correctif suivante pour effacer la .status.conditions afin que le contrôleur de travail crée de nouveaux espaces.

$ curl -H "Accept: application/json" -H "Content-Type: application/json-patch+json"

--request PATCH --data '[{"op": "remove", "path": "/status/conditions"}]'

http://127.0.0.1:8001/apis/batch/v1/namespaces/vmware-system-tkg/jobs/${update_job_name}/status

Dépannage des problèmes d'activation de la gestion de la charge de travail

Suivez ces conseils de dépannage si vous ne pouvez pas activer la gestion de la charge de travail.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 185

Page 186: Configuration et gestion de vSphere with Kubernetes

Dépannage des erreurs de compatibilité du cluster d'activation de la gestion de la charge de travail

Suivez ces conseils de dépannage si le système indique que votre cluster vSphere est incompatible pour activer la gestion de la charge de travail.

Problème

La page Gestion de la charge de travail indique que votre cluster vCenter est incompatible lorsque vous tentez d'activer la gestion de la charge de travail.

Cause

Il existe plusieurs raisons à cette situation. Tout d'abord, assurez-vous que votre environnement répond à la configuration minimale requise pour activer la gestion de la charge de travail :

n Licence valide : VMware vSphere 7 Enterprise Plus avec module complémentaire pour Kubernetes

n Au moins deux hôtes ESXi

n DRS entièrement automatisé

n vSphere HA

n vSphere Distributed Switch 7.0

n Capacité de stockage suffisante

Si votre environnement répond à ces conditions préalables, mais que le cluster vCenter cible n'est pas compatible, utilisez l'interface de ligne de commande du centre de données (DCLI) VMware pour aider à identifier les problèmes.

Solution

1 Ouvrez une session SSH sur l'instance de vCenter Server.

2 Connectez-vous en tant qu'utilisateur racine.

3 Exécutez la commande dcli pour afficher l'aide de l'interface de ligne de commande du centre de données (DCLI) VMware.

4 Répertoriez les clusters vCenter disponibles en exécutant la commande DCLI suivante.

dcli com vmware vcenter cluster list

Par exemple :

dcli +username VI-ADMIN-USER-NAME +password VI-ADMIN-PASSWORD com vmware vcenter cluster list

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 186

Page 187: Configuration et gestion de vSphere with Kubernetes

Exemple de résultat :

|-----------|---------|------------|----------|

|drs_enabled|cluster |name |ha_enabled|

|-----------|---------|------------|----------|

|True |domain-d7|vSAN Cluster|True |

|-----------|---------|------------|----------|

5 Vérifiez la compatibilité du cluster vCenter en exécutant la commande DCLI suivante.

dcli com vmware vcenter namespacemanagement clustercompatibility list

Par exemple :

dcli +username VI-ADMIN-USER-NAME +password VI-ADMIN-PASSWORD com vmware vcenter

namespacemanagement clustercompatibility list

L'exemple suivant indique que l'environnement ne dispose pas d'un commutateur VDS NSX-T compatible.

|---------|----------|----------------------------------------------------------------------------

------------|

|cluster |compatible|

incompatibility_reasons |

|---------|----------|----------------------------------------------------------------------------

------------|

|domain-d7|False |Failed to list all distributed switches in vCenter 2b1c1fa5-e9d4-45d7-824c-

fa4176da96b8.|

| | |Cluster domain-d7 is missing compatible NSX-T

VDS. |

|---------|----------|----------------------------------------------------------------------------

------------|

6 Exécutez des commandes DCLI supplémentaires si nécessaire pour déterminer des problèmes de compatibilité supplémentaires. Outre les erreurs de NSX-T, les problèmes de connectivité DNS et NTP sont d'autres raisons courantes d'une incompatibilité.

7 Pour approfondir la résolution des problèmes, procédez comme suit.

a Examinez le fichier wcpsvc.log. Reportez-vous à la section Examiner le fichier journal de gestion de la charge de travail.

b Accédez à la page Gestion de la charge de travail et cliquez sur Activer.

Examiner le fichier journal de gestion de la charge de travail

Le fait d'examiner le fichier journal de gestion de la charge de travail peut aider à résoudre les problèmes d'activation et les erreurs de déploiement du cluster superviseur.

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 187

Page 188: Configuration et gestion de vSphere with Kubernetes

Solution

1 Établissez une connexion SSH à vCenter Server Appliance.

2 Connectez-vous en tant qu'utilisateur root.

3 Exécutez la commande shell.

Le message suivant apparaît :

Shell access is granted to root

root@localhost [ ~ ]#

4 Exécutez les commandes suivantes pour examiner le fichier journal.

tail -f /var/log/vmware/wcp/wcpsvc.log

Configuration et gestion de vSphere with Kubernetes

VMware, Inc. 188