VMware est depuis des années un acteur incontournable de la virtualisation des serveurs. En 2015, VMware a reconnu la popularité croissante de la conteneurisation et a estimé que les conteneurs et les machines virtuelles (VM) fonctionnent mieux ensemble. La première tentative de VMware en matière de technologie de conteneur commercial a été le projet Bonneville. Puis, en 2019, ils ont lancé le portefeuille Tanzu, qui permettait de créer, de gérer et d’exécuter des applications à l’aide de Kubernetes sur VMware
Cet article examinera de plus près Kubernetes sur VMware, y compris son historique, les offres Tanzu, comment déployer un cluster avec Tanzu Community Edition et les meilleures pratiques clés.
Historique de VMware : B29 à la filiale
Avant le projet Bonneville, en 2009, une petite équipe de VMware travaillait sur le projet B29. L’objectif était de rendre l’application portable en veillant à ce que les développeurs se concentrent sur l’écriture du code pendant que B29 gère les dépendances. Le concept était similaire aux conteneurs tels que nous les connaissons aujourd’hui. Le projet B29 a été baptisé Cloudfoundry et est devenu Pivotal Software, une coentreprise de VMware, EMC et General Electric en 2013.
Le projet Bonneville de VMware était basé sur l’idée que les conteneurs et les machines virtuelles ne sont que des conteneurs et vice versa. L’idée était de télécharger, isoler et démarrer chaque conteneur Docker dans une machine virtuelle au sein de l’environnement vSphere, combiné à la technologie de clonage instantané de VMware pour offrir aux développeurs et aux administrateurs sécurité, isolation et transparence.
En 2017, Pivotal Software et VMware ont lancé Pivotal Container Service (PKS), un Kubernetes prêt pour la production sur vSphere. La prochaine grande étape franchie par VMware a eu lieu en 2018 avec l’acquisition de Heptio, une société qui fournissait des services professionnels aux entreprises qui exploitent Kubernetes. Enfin, en 2019, VMware a acquis Pivotal Software, ce qui a donné naissance à la plateforme d’applications Tanzu, l’offre phare actuelle de Kubernetes de VMware.
Concepts clés de VMware
Avant d’aborder le sujet de Kubernetes sur VMware, il est essentiel de comprendre trois concepts :
- VMware Cloud Foundation (VCF) : VCF est une pile d’infrastructure complète pour le cloud hybride contenant vSphere pour la virtualisation du calcul, NSX-T pour la virtualisation du réseau et vSAN pour la virtualisation du stockage.
- VSphere : vSphere est la couche de virtualisation de calcul de VCF. Il faut dépendre d’autres solutions de mise en réseau et de stockage si elles ne sont pas compatibles avec le VCF.
- Tanzu : VMware Tanzu est une marque qui couvre une gamme de produits liés au développement d’applications modernes.
Concepts clés de Tanzu
Tanzu est une marque déposée de VMware pour tout ce qui concerne Kubernetes ou les conteneurs et leurs services associés. Il se compose de plusieurs produits, comme décrit dans le tableau ci-dessous.
Nom du produit | Description du produit |
---|---|
Plateforme d’application filiale | Une plate-forme modulaire et orientée applications avec un riche ensemble d’outils de développement pour tout cluster Kubernetes conforme sur un environnement multi-cloud ou sur site. |
Service de candidature subsidiaire | Construit sur la technologie populaire Cloudfoundry, Tanzu Application Service est un environnement d’exécution permettant de fournir des microservices en continu. |
Service de construction de filiale | Un service qui automatise la gestion, la création et la gouvernance des conteneurs à grande échelle. |
Catalogue d’applications VMware | Une collection d’applications pré-packagées et fiables qui sont maintenues et testées pour les environnements de production basés sur la bibliothèque Bitnami. |
Solutions de données VMware | Un portefeuille de produits destinés à la mise en cache, à la messagerie et aux bases de données. |
Tanzu pour les opérations Kubernetes | Une combinaison d’outils et de processus pour fournir une approche cohérente de la gestion et du déploiement des conteneurs afin de simplifier la sécurité et les opérations dans les clouds. |
Maillage de services subsidiaires | Maillage de services de classe entreprise pour fournir une connectivité et une sécurité de bout en bout entre les applications. |
Filiale Kubernetes Grid | Un environnement d’exécution Kubernetes prêt pour l’entreprise, n’importe où. |
Contrôle de mission filiale | Hub simplifié et centralisé pour la gestion multi-cloud et multi-cluster de Kubernetes. |
Édition standard des filiales | Distribution Kubernetes open source alignée pour créer une infrastructure Kubernetes cohérente sur plusieurs clouds tout en garantissant la gouvernance. Elle contient un environnement d’exécution Kubernetes prêt pour l’entreprise et des outils pour la mise en réseau, le stockage d’images de conteneurs, la surveillance, la protection des données et la gestion centralisée du cycle de vie. |
Opérations VMware Aria pour les applications | Un outil d’observabilité unifiée pour obtenir des métriques, des journaux et des traces. |
Pourquoi Kubernetes sur VMware ?
VMWare a lentement et régulièrement réalisé un investissement important dans Kubernetes. vSphere 7.0 a changé la donne et constitue l’une des rares plates-formes sur laquelle vous pouvez exécuter côte à côte des charges de travail, des conteneurs et des machines virtuelles Kubernetes.
Qu’est-ce qui distingue VMware des centaines de distributions et de plateformes Kubernetes ?
- Exécuter des machines virtuelles aux côtés de Kubernetes et les gérer est l’un des points les plus vitaux. Il existe d’autres solutions comme Kubevirt, qui convertit votre machine virtuelle en pod, ce qui signifie que la machine virtuelle se trouve au sein de votre cluster Kubernetes. Cela offre aux administrateurs, opérateurs et développeurs une plate-forme stable et cohérente.
- La configuration de Kubernetes sur VMware est simple et ne nécessite pas beaucoup d’efforts pour intégrer la plate-forme avec l’informatique, le stockage et la mise en réseau sous-jacents.
- L’administration et les opérations deviennent relativement simples grâce à la disponibilité de tableaux de bord de gestion basés sur une interface graphique.
- VMware propose un ensemble complet d’outils d’entreprise pour couvrir tous les aspects de Kubernetes, du développement d’applications à la sécurité et à la surveillance. Avoir de telles intégrations rend les opérations du deuxième jour plus accessibles.
- VMWare Kubernetes peut fonctionner sur Azure et AWS ; l’expérience est identique à celle d’une exécution sur site. Il permet l’utilisation et l’intégration de technologies et de services cloud.
Kubernetes sur VMware avec Tanzu
Tanzu Kubernetes Grid, ou TKG, est la distribution de Kubernetes par VMware. TKG est disponible en deux versions principales. L’une est plus adaptée à l’exécution dans des environnements multicloud et sur site, tandis que l’autre fonctionne sur VSphere 7.0 ou supérieur.
Filiale Kubernetes Grid multi-cloud (TKGm)
Vous trouverez ci-dessous un aperçu des principales caractéristiques de TKGm.
- TKGm offre une expérience cohérente en exécutant un cluster Kubernetes dans le cloud et sur site.
- Avec TKGm, le premier composant à créer est le cluster de gestion. Comme son nom l’indique, un cluster de gestion est un cluster Kubernetes chargé de gérer d’autres clusters Kubernetes.
- Le cluster de gestion héberge un projet Kubernetes appelé Cluster API, qui permet la création et la gestion de clusters de manière déclarative à l’aide d’API de style Kubernetes.
- Les API de cluster peuvent créer plusieurs clusters Kubernetes appelés clusters de charge de travail.
- En fonction des exigences, vous pouvez disposer de plusieurs clusters Kubernetes de charge de travail par cluster de gestion, ou de plusieurs clusters de gestion, chacun pouvant disposer d’un cluster Kubernetes.
- Tous les clusters Kubernetes de charge de travail partagent certains services Kubernetes tels que le registre de conteneurs (Harbor), les outils d’observabilité (Prometheus et Grafana), le contrôle d’entrée (Contour), la mise en réseau (Calico) et d’autres.
- Le cluster de gestion, avec ses clusters de charge de travail et les services Kubernetes partagés collectivement, est connu sous le nom d’instance Tanzu Kubernetes Grid.
Un aperçu du multicloud Tanzu Kubernetes Grid. ( Source )Les clusters K8s gérant 10 milliards d’appels API quotidiens
Service Kubernetes Grid subsidiaire (TKG)
Vous trouverez ci-dessous un aperçu des principales caractéristiques des TKG.
- Le service Tanzu Kubernetes Grid fonctionne avec vSphere 7.0 ou version ultérieure.
- VMware a complètement remanié l’architecture vSphere 7.0 pour garantir la possibilité de déployer des machines virtuelles à l’aide des constructions Kubernetes.
- Chaque cluster vSphere aura un cluster superviseur et la relation entre un cluster vSphere et un cluster superviseur est toujours de 1:1.
- Un cluster superviseur est un Tanzu exécuté sur vSphere qui s’appuie sur ESXi comme couche de calcul. En d’autres termes, le cluster superviseur est un plan de contrôle Kubernetes à l’intérieur de l’hyperviseur qui permet d’exécuter des charges de travail de conteneur dans ESXi.
- Une fois qu’un cluster de superviseurs est activé, vous pouvez créer un espace de noms de superviseur, appelé espaces de noms vSphere. Cet espace de noms n’est pas le même qu’un espace de noms Kubernetes.
- Une fois l’espace de noms de superviseur créé, vous pouvez créer un cluster Tanzu Kubernetes, qui fait office de cluster de charge de travail. Le cluster de charge de travail Kubernetes, comme tout autre cluster Kubernetes, possède des nœuds de plan de contrôle et des nœuds de travail.
- Vous pouvez également avoir des machines virtuelles et des pods vSphere dans le même espace de noms de superviseur.
- Les espaces vSphere diffèrent des espaces Kubernetes car ils sont créés directement au-dessus de l’hôte ESXi. Pour exécuter des espaces vSphere, vous n’avez pas besoin d’un cluster Tanzu Kubernetes, mais le cluster Superviseur est requis.
- Les pods VSphere s’appuient sur la mise en réseau NSX-T et ne peuvent pas être déployés avec la mise en réseau vSphere.
Un aperçu du service Tanzu Kubernetes Grid. ( Source )
Édition communautaire des filiales
VMware Tanzu Community Edition est une distribution gratuite de Tanzu prise en charge par la communauté. Il est open source et extrêmement facile à installer et à exécuter sur votre ordinateur portable ou sur n’importe quelle machine virtuelle dans n’importe quel cloud public. Tanzu Community Edition présente une architecture enfichable, dans laquelle vous pouvez commencer petit et ajouter de nouvelles fonctionnalités et outils au fur et à mesure de votre croissance. L’image ci-dessous montre l’écosystème d’outils disponibles avec cette distribution, mais ne se limite pas à ceux-ci.
Présentation des outils Tanzu Kubernetes Community Edition. ( Source )
Comment installer Tanzu Community Edition
Tanzu Community Edition nécessite Tanzu CLI, qui fournit une interface utilisateur ainsi que l’interface de ligne de commande. L’édition communautaire propose deux méthodes pour provisionner un cluster Kubernetes.
- Clusters autonomes
- Le moyen le plus simple de provisionner un cluster Kubernetes
- Adapté aux environnements de développement et de test
- Non évolutif
- Clusters de charges de travail gérés par un cluster de gestion
- Dans un premier temps, il faut créer un cluster de gestion, puis le cluster de gestion provisionne plusieurs clusters de charge de travail Kubernetes selon les besoins.
- Idéal pour les environnements de production
- Évolutif avec une dépendance sur le matériel sous-jacent
Conditions préalables au déploiement d’un cluster Tanzu autonome
- macOS ou Linux (ce didacticiel se concentre sur Linux). Pour Windows, vous devrez télécharger un fichier zip à partir d’ici (https://tanzucommunityedition.io/download/)
- Brassage maison
- Docker
Étapes pour déployer un cluster Tanzu autonome
tanzu standalone-cluster create -f configuration.yaml
Le fichier configuration.yaml est l’un des fichiers de configuration précédents que vous pourriez avoir ; sinon, ce fichier sera généré lorsque vous utiliserez la méthode d’installation de l’interface utilisateur. Vous pouvez également utiliser l’interface utilisateur pour l’installation, ce qui est un processus beaucoup plus simple et constitue la méthode recommandée.
tanzu standalone-cluster create --ui
L’exécution de cette commande ouvrira un navigateur d’installation, comme indiqué dans l’image ci-dessous, et, en fonction de l’option sélectionnée, vous demandera des détails supplémentaires sur la configuration et les informations d’identification. Après avoir entré des détails tels que le nombre de nœuds que vous souhaitez avoir, la taille de ces nœuds, etc., le provisionnement du cluster démarre.
Installation de Tanzu Kubernetes Community Edition. ( Source )
Options alternatives pour exécuter Kubernetes sur VMware
Il existe d’autres options pour exécuter Kubernetes sur des machines virtuelles avec VMware. Certaines des options consistent à exécuter Vanilla Kubernetes, Charmed Kubernetes de Canonical ou Rancher Kubernetes sur des machines virtuelles vSphere. L’inconvénient de cette approche est que vous risquez de ne pas bénéficier du support Kubernetes de VMware. En règle générale, VMware ne prend en charge vSphere que dans ces types de déploiements.
L’intégration avec l’écosystème d’outils VMware peut également s’avérer délicate. Les experts recommandent d’utiliser VMware Tanzu et les produits associés si vous exécutez des conteneurs sur l’infrastructure VMware, sauf si vous avez une raison impérieuse ou un investissement préexistant dans d’autres distributions.Découvrez comment gérer les coûts de K8s via les API Cloudewi Kube
Regardez une vidéo YouTube de 30 minutes
Meilleures pratiques de Kubernetes sur VMware
Pour toute application cloud native, l’observabilité joue un rôle important. La surveillance des applications conteneurisées au sein de Kubernetes pose divers défis en raison de la nature transitoire des conteneurs et du nombre de ressources et de métriques qui nécessitent une surveillance.
Tout comme les conteneurs dynamiques, la surveillance des applications doit être dynamique. Concernant la sécurité, il est important de protéger vos charges de travail contre les acteurs malveillants et les pirates.
Vous pouvez le faire en :
- Surveillance de l’utilisation du réseau
- Surveillance des activités suspectes
- Surveillance des connexions échouées et infructueuses
- Surveillance des vulnérabilités et des risques
En matière de surveillance de la sécurité, les journaux sont l’une des données les plus critiques utilisées pour détecter les anomalies. La journalisation centralisée est une pratique fortement recommandée pour toute entreprise. Le référentiel central constitue également la source de tous les outils ou processus d’audit.
De plus, sans gestion des coûts, il y a de fortes chances que les coûts dépassent le budget en raison du fonctionnement des conteneurs et de Kubernetes. Il est essentiel de disposer d’outils appropriés de gestion des coûts.
Les sections ci-dessous passent en revue les outils populaires recommandés pour différents cas d’utilisation de Kubernetes sur VMware.
Agrégation de journaux : Fluentd
Fluentd est un collecteur de données open source, tandis que Fluent Bit est un agent léger qui agit comme un transitaire de données pour Fluentd. Fluentd peut regrouper toutes vos données de journalisation, puis les transmettre à des outils comme Elasticsearch pour les analyser. Kibana fait office d’interface de visualisation.
Cette combinaison d’Elasticsearch, Fluentd et Kibana constitue la pile EFK. Alternativement, il existe également une pile ELK, qui remplace Fluentd par Logstash.
Suivi : Opérations Prometheus et Grafana / Aria
Prometheus et Grafana sont les combinaisons d’outils open source les plus appréciées pour la surveillance des clusters Kubernetes. Ensemble, ils peuvent fournir des informations détaillées sur les goulots d’étranglement des performances, les métriques, l’état général du cluster Kubernetes, l’utilisation du réseau et contribuer à l’observabilité globale. Prometheus est excellent pour la surveillance des données multidimensionnelles, y compris les données de séries chronologiques. Grafana est un tableau de bord de métriques open source pour afficher les données.
Dans le cadre de son portefeuille Tanzu, VMware propose VMware Aria Operations, qui fonctionne également avec des environnements non Kubernetes. Il propose plus de 250 intégrations et vous pouvez intégrer vos divers outils de surveillance existants avec VMware Aria pour obtenir une vue d’ensemble unique.
Sécurité : VMware Carbon Black
VMware Carbon Black est un outil d’analyse d’images de conteneur doté d’un tableau de bord central pour la surveillance des vulnérabilités. VMware Carbon Black s’intègre parfaitement aux pipelines CI/CD et contribue à déplacer la sécurité vers la gauche. Il permet également les déploiements de conteneurs à l’aide de registres et de référentiels spécifiques sur liste blanche.
Optimisation des coûts
Cloudewi Kube est l’une des meilleures solutions pour surveiller et optimiser les coûts de votre solution Kubernetes. Pour chaque entreprise, il est important d’équilibrer les coûts et les performances, et avec la nature multicloud et hybride de Kubernetes, la gestion des coûts devient très délicate.
Cloudewi Kube résout ce problème en vous offrant une vue unique de vos coûts sur plusieurs clusters. La fonctionnalité de répartition des coûts de Cloudewi Kube vous permet d’attribuer divers coûts (comme le coût du serveur, les licences requises, etc.) pour obtenir le coût précis de fonctionnement d’un cluster Cloudewi Kube.
Conclusion
VMware Kubernetes est un bon choix si vous utilisez déjà l’écosystème VMware ou si vous souhaitez exécuter Kubernetes dans un environnement hybride. VMware dispose d’un portefeuille complexe pour Kubernetes, mais cela fonctionne à l’avantage de VMware car les utilisateurs ayant des cas d’utilisation divers trouvent que VMware est la solution à leurs problèmes. Si vous débutez avec VMware, prenez le temps de comprendre leur portefeuille de produits et choisissez-les en fonction de vos besoins et de votre budget.