Aujourd'hui, nous voulons parler de VMware Tanzu, une nouvelle gamme de produits et services annoncée lors de la conférence VMWorld de l'année dernière. Au programme, l'un des outils les plus intéressants : Tanzu Mission Control.
Attention : il y a beaucoup d'images sous la coupe.
Qu'est-ce que le contrôle de mission
Comme l’entreprise elle-même l’indique sur son blog, l’objectif principal de VMware Tanzu Mission Control est de « mettre de l’ordre dans le chaos des clusters ». Mission Control est une plate-forme pilotée par API qui permettra aux administrateurs d'appliquer des politiques aux clusters ou aux groupes de clusters et de définir des règles de sécurité. Les outils SaaS s'intègrent en toute sécurité dans les clusters Kubernetes via un agent et prennent en charge diverses opérations de cluster standard, y compris les opérations de gestion du cycle de vie (déploiement, mise à l'échelle, suppression, etc.).
L'idéologie de la ligne Tanzu repose sur l'utilisation maximale des technologies open source. Pour gérer le cycle de vie des clusters Tanzu Kubernetes Grid, l'API Cluster est utilisée, Velero est utilisé pour les sauvegardes et la récupération, Sonobuoy est utilisé pour surveiller la conformité avec la configuration des clusters Kubernetes et Contour comme contrôleur d'entrée.
La liste générale des fonctions de Tanzu Mission Control ressemble à ceci :
- gestion centralisée de tous vos clusters Kubernetes ;
- gestion des identités et des accès (IAM) ;
- diagnostic et surveillance de l'état du cluster ;
- gérer les paramètres de configuration et de sécurité ;
- planifier des contrôles de santé réguliers du cluster ;
- créer des sauvegardes et restaurer ;
- gestion des quotas;
- représentation visuelle de l’utilisation des ressources.
Pourquoi c'est important
Tanzu Mission Control aidera les entreprises à résoudre le problème de la gestion d'une vaste flotte de clusters Kubernetes situés sur site, dans le cloud et auprès de plusieurs fournisseurs tiers. Tôt ou tard, toute entreprise dont les activités sont liées à l'informatique se retrouve obligée de prendre en charge de nombreux clusters hétérogènes situés chez différents fournisseurs. Chaque cluster se transforme en une boule de neige qui nécessite une organisation compétente, une infrastructure, des politiques, une protection, des systèmes de surveillance appropriés et bien plus encore.
De nos jours, toute entreprise s’efforce de réduire ses coûts et d’automatiser ses processus de routine. Et le paysage informatique complexe ne favorise clairement pas les économies et la concentration sur les tâches prioritaires. Tanzu Mission Control donne aux organisations la possibilité d'exploiter plusieurs clusters Kubernetes déployés sur plusieurs fournisseurs tout en harmonisant le modèle opérationnel.
Architecture des solutions
Tanzu Mission Control est une plate-forme mutualisée qui permet aux utilisateurs d'accéder à un ensemble de politiques hautement configurables qui peuvent être appliquées aux clusters et groupes de clusters Kubernetes. Chaque utilisateur est lié à une organisation, qui est la « racine » des ressources : groupes de cluster et espaces de travail.
Ce que Tanzu Mission Control peut faire
Ci-dessus nous avons déjà brièvement listé la liste des fonctions de la solution. Voyons comment cela est implémenté dans l'interface.
Une vue unique de tous les clusters Kubernetes de l'entreprise :
Création d'un nouveau cluster :
Vous pouvez immédiatement attribuer un groupe à un cluster, et il héritera des stratégies qui lui sont affectées.
Connexion au cluster :
Les clusters déjà existants peuvent simplement être connectés à l'aide d'un agent spécial.
Regroupement en cluster :
Dans les groupes de clusters, vous pouvez regrouper les clusters pour qu'ils héritent immédiatement des stratégies attribuées au niveau du groupe, sans intervention manuelle.
Espaces de travail :
Offre la possibilité de configurer de manière flexible l’accès à une application située dans plusieurs espaces de noms, clusters et infrastructures cloud.
Examinons de plus près les principes de fonctionnement de Tanzu Mission Control dans les travaux de laboratoire.
Laboratoire n°1
Bien entendu, il est assez difficile d'imaginer en détail le fonctionnement de Mission Control et des nouvelles solutions Tanzu sans pratique. Afin de vous permettre de découvrir les principales fonctionnalités de la gamme, VMware vous donne accès à plusieurs paillasses de laboratoire. Ces bancs vous permettent d'effectuer des travaux de laboratoire en suivant des instructions étape par étape. En plus de Tanzu Mission Control lui-même, d'autres solutions sont disponibles pour tests et études. Une liste complète des travaux de laboratoire peut être trouvée
Pour une connaissance pratique des différentes solutions (y compris un petit « jeu » sur vSAN), différentes durées sont allouées. Ne vous inquiétez pas, ce sont des chiffres très relatifs. Par exemple, un laboratoire sur Tanzu Mission Control peut être « résolu » jusqu'à 9 heures et demie en passant de chez soi. De plus, même si le temps imparti est écoulé, vous pouvez revenir en arrière et tout recommencer.
Réussir les travaux de laboratoire #1
Pour accéder aux laboratoires, vous aurez besoin d'un compte VMware. Après autorisation, une fenêtre pop-up s'ouvrira avec les grandes lignes de l'œuvre. Des instructions détaillées seront placées sur le côté droit de l’écran.
Après avoir lu une courte introduction à Tanzu, vous serez invité à vous entraîner dans la simulation interactive Mission Control.
Une nouvelle fenêtre contextuelle de machine Windows s'ouvrira et il vous sera demandé d'effectuer quelques opérations de base :
- créer un cluster
- configurer ses paramètres de base
- actualisez la page et assurez-vous que tout est configuré correctement
- définir des politiques et vérifier le cluster
- créer un espace de travail
- créer un espace de noms
- travailler à nouveau avec les politiques, chaque étape est expliquée en détail dans le manuel
- mise à niveau du cluster de démonstration
Bien entendu, la simulation interactive n'offre pas suffisamment de liberté pour une étude indépendante : vous vous déplacez le long de rails pré-posés par les développeurs.
Laboratoire n°2
Ici, nous avons déjà affaire à quelque chose de plus grave. Ce travail de laboratoire n'est pas aussi lié aux « rails » que le précédent et nécessite une étude plus approfondie. Nous ne le présenterons pas ici dans son intégralité : pour gagner du temps, nous analyserons uniquement le deuxième module, le premier est consacré à l'aspect théorique du travail de Tanzu Mission Control. Si vous le souhaitez, vous pouvez le parcourir entièrement par vous-même. Ce module nous offre une plongée approfondie dans la gestion du cycle de vie des clusters via Tanzu Mission Control.
Remarque : les travaux du laboratoire Tanzu Mission Control sont régulièrement mis à jour et affinés. Si des écrans ou des étapes diffèrent de ceux ci-dessous à mesure que vous terminez l'atelier, suivez les instructions sur le côté droit de l'écran. Nous passerons en revue la version actuelle du LR au moment de la rédaction et considérerons ses éléments clés.
Réussir les travaux de laboratoire #2
Après le processus d'autorisation dans VMware Cloud Services, nous lançons Tanzu Mission Control.
La première étape suggérée par le laboratoire consiste à déployer un cluster Kubernetes. Nous devons d’abord accéder à la machine virtuelle Ubuntu à l’aide de PuTTY. Lancez l'utilitaire et sélectionnez une session avec Ubuntu.
Nous exécutons tour à tour trois commandes :
- créer un cluster :
kind create cluster --config 3node.yaml --name=hol
- chargement du fichier KUBECONFIG :
export KUBECONFIG="$(kind get kubeconfig-path --name="hol")"
- sortie du nœud :
kubectl get nodes
Le cluster que nous avons créé doit maintenant être ajouté à Tanzu Mission Control. De PuTTY, nous revenons à Chrome, allons dans Clusters et cliquez sur ATTACHER LE GROUPE.
Sélectionnez un groupe dans le menu déroulant - défaut, saisissez le nom proposé par le laboratoire et cliquez sur S'INSCRIRE.
Copiez la commande reçue et accédez à PuTTY.
Nous exécutons la commande reçue.
Pour suivre la progression, exécutez une autre commande : watch kubectl get pods -n vmware-system-tmc
. Nous attendons que tous les conteneurs aient un statut Fonctionnement ou Complété.
Retournez à Tanzu Mission Control et cliquez sur VÉRIFIER LA CONNEXION. Si tout s'est bien passé, les indicateurs de tous les contrôles devraient être verts.
Créons maintenant un nouveau groupe de clusters et déployons-y un nouveau cluster. Accédez aux groupes de cluster et cliquez sur NOUVEAU GROUPE DE CLUSTER. Entrez le nom et cliquez CREATE.
Le nouveau groupe devrait immédiatement apparaître dans la liste.
Déployons un nouveau cluster : accédez à Clusterspousser NOUVEAU GRAPPE et sélectionnez l’option associée aux travaux de laboratoire.
Ajoutons le nom du cluster, sélectionnons le groupe qui lui est attribué (dans notre cas, des ateliers pratiques) et la région de déploiement.
Il existe d'autres options disponibles lors de la création d'un cluster, mais cela ne sert à rien de les modifier pendant le TP. Sélectionnez la configuration dont vous avez besoin et cliquez sur Suivant.
Certains paramètres doivent être modifiés, pour cela cliquez sur Modifier.
Augmentons le nombre de nœuds de travail à deux, enregistrons les paramètres et cliquez sur CREATE.
Pendant le processus, vous verrez une barre de progression comme celle-ci.
Après un déploiement réussi, vous verrez cette image. Tous les reçus doivent être verts.
Nous devons maintenant télécharger le fichier KUBECONFIG pour gérer le cluster à l'aide des commandes kubectl standard. Cela peut être fait directement via l'interface utilisateur de Tanzu Mission Control. Téléchargez le fichier et procédez au téléchargement de Tanzu Mission Control CLI en cliquant sur cliquez ici .
Sélectionnez la version souhaitée et téléchargez la CLI.
Nous devons maintenant obtenir le jeton API. Pour ce faire, rendez-vous sur Mon compte et générer un nouveau jeton.
Remplissez les champs et cliquez PRODUIRE.
Copiez le jeton obtenu et cliquez sur VOIR PLUS. Ouvrez Power Shell et entrez la commande tmc-login, puis le jeton que nous avons reçu et copié à l'étape précédente, puis le nom du contexte de connexion. Choisir info journaux de ceux proposés, région et Olympus-par défaut comme clé ssh.
Nous obtenons des espaces de noms :kubectl --kubeconfig=C:UsersAdministratorDownloadskubeconfig-aws-cluster.yml get namespaces
.
Nous introduisons kubectl --kubeconfig=C:UsersAdministratorDownloadskubeconfig-aws-cluster.yml get nodes
pour s'assurer que tous les nœuds sont en état Prêt à fonctionner.
Nous devons maintenant déployer une petite application dans ce cluster. Faisons deux déploiements - coffee et tea - sous la forme de services coffee-svc et tea-svc, dont chacun lance des images différentes - nginxdemos/hello et nginxdemos/hello:plain-text. Cela se fait comme suit.
À travers PowerShell allez dans les téléchargements et trouvez le fichier café-services.yaml.
En raison de certains changements dans l'API, nous devrons la mettre à jour.
Les politiques de sécurité des pods sont activées par défaut. Pour exécuter des applications avec des privilèges, vous devez lier votre compte.
Créez une liaison : kubectl --kubeconfig=kubeconfig-aws-cluster.yml create clusterrolebinding privileged-cluster-role-binding --clusterrole=vmware-system-tmc-psp-privileged --group=system:authenticated
Déployons l'application : kubectl --kubeconfig=kubeconfig-aws-cluster.yml apply -f cafe-services.yaml
vérifier: kubectl --kubeconfig=kubeconfig-aws-cluster.yml get pods
Le module 2 est terminé, vous êtes belle et incroyable ! Nous vous recommandons de suivre vous-même les modules restants, y compris la gestion des politiques et les contrôles de conformité.
Si vous souhaitez réaliser cet atelier dans son intégralité, vous pouvez le trouver ici
Avis et conclusions
Bien sûr, il est trop tôt pour parler des problèmes pratiques liés au travail avec Tanzu. Il n'y a pas tellement de matériel pour l'auto-apprentissage, et aujourd'hui il n'est pas possible de déployer un banc d'essai pour « piquer » un nouveau produit de tous les côtés. Néanmoins, même à partir des données disponibles, certaines conclusions peuvent être tirées.
Avantages de Tanzu Mission Control
Le système s’est avéré vraiment intéressant. Je voudrais immédiatement souligner quelques goodies pratiques et utiles :
- Vous pouvez créer des clusters via le panneau Web et via la console, ce que les développeurs apprécieront vraiment.
- La gestion RBAC via les espaces de travail est implémentée dans l'interface utilisateur. Cela ne fonctionne pas encore en laboratoire, mais en théorie, c’est une bonne chose.
- Gestion centralisée des privilèges basée sur des modèles
- Accès complet aux espaces de noms.
- Éditeur YAML.
- Création de politiques de réseau.
- Surveillance de l’état du cluster.
- Possibilité de sauvegarder et de restaurer via la console.
- Gérez les quotas et les ressources avec une visualisation de l'utilisation réelle.
- Lancement automatique de l'inspection des clusters.
Encore une fois, de nombreux composants sont actuellement en cours de développement, il est donc trop tôt pour parler pleinement des avantages et des inconvénients de certains outils. À propos, Tanzu MC, sur la base de la démonstration, peut mettre à niveau un cluster à la volée et, en général, fournir le cycle de vie complet d'un cluster à plusieurs fournisseurs à la fois.
Voici quelques exemples de « haut niveau ».
Vers le cluster de quelqu'un d'autre avec sa propre charte
Disons que vous disposez d'une équipe de développement avec des rôles et des responsabilités clairement définis. Chacun est occupé par ses propres affaires et ne devrait même pas interférer accidentellement avec le travail de ses collègues. Ou bien l'équipe compte un ou plusieurs spécialistes moins expérimentés à qui vous ne souhaitez pas accorder de droits et libertés inutiles. Supposons également que vous disposiez de Kubernetes de trois fournisseurs à la fois. Ainsi, afin de limiter les droits et de les ramener à un dénominateur commun, vous devrez vous rendre un à un sur chaque panneau de contrôle et tout enregistrer manuellement. D'accord, ce n'est pas le passe-temps le plus productif. Et plus vous disposez de ressources, plus le processus est fastidieux. Tanzu Mission Control vous permettra de gérer la délimitation des rôles à partir d'une « seule fenêtre ». À notre avis, c'est une fonction très pratique : personne ne cassera rien si vous oubliez accidentellement de préciser les droits nécessaires quelque part.
D'ailleurs, nos confrères de MTS sur leur blog
Travail compact avec des journaux
Un autre exemple tiré de la vie réelle consiste à travailler avec des journaux. Supposons que l'équipe dispose également d'un testeur. Un beau jour, il s'adresse aux développeurs et leur annonce : « un bug a été trouvé dans l'application, nous allons le corriger de toute urgence ». Il est naturel que la première chose avec laquelle un développeur veuille se familiariser, ce soient les journaux. Les envoyer sous forme de fichiers par e-mail ou Telegram est une mauvaise manière et date du siècle dernier. Mission Control propose une alternative : vous pouvez définir des droits spéciaux pour le développeur afin qu'il ne puisse lire que les journaux dans un espace de noms spécifique. Dans ce cas, il suffit au testeur de dire : « il y a des bugs dans telle application, dans tel domaine, dans tel espace de noms », et le développeur peut facilement ouvrir les logs et pouvoir localiser le problème. Et en raison de droits limités, vous ne pourrez pas y remédier immédiatement si vos compétences ne le permettent pas.
Un cluster sain a une application saine.
Une autre fonctionnalité intéressante de Tanzu MC est le suivi de l’état du cluster. À en juger par les documents préliminaires, le système vous permet de visualiser certaines statistiques. Pour le moment, il est difficile de dire exactement à quel point ces informations seront détaillées : jusqu'à présent, tout semble assez modeste et simple. Il y a une surveillance de la charge du CPU et de la RAM, l'état de tous les composants est affiché. Mais même sous une forme aussi spartiate, c'est un détail très utile et efficace.
Les résultats de
Bien sûr, dans la présentation en laboratoire de Mission Control, dans des conditions apparemment stériles, il y a quelques aspérités. Vous les remarquerez probablement vous-même si vous décidez de vous lancer dans les travaux. Certains aspects ne sont pas suffisamment intuitifs - même un administrateur expérimenté devra lire le manuel pour comprendre l'interface et ses capacités.
Cependant, compte tenu de la complexité du produit, de son importance et du rôle qu’il jouera sur le marché, le résultat s’est avéré formidable. On a l’impression que les créateurs ont essayé d’améliorer le flux de travail de l’utilisateur. Rendre chaque élément de contrôle aussi fonctionnel et compréhensible que possible.
Il ne reste plus qu'à essayer Tanzu sur banc d'essai pour bien comprendre tous ses avantages, inconvénients et innovations. Dès qu'une telle opportunité se présentera, nous partagerons avec les lecteurs Habr un rapport détaillé sur l'utilisation du produit.
Source: habr.com