Attention: il y a beaucoup d'images sous la coupe.
Qu'est-ce que le contrôle de mission
Comme le dit la société dans un article de 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 basée sur l'API qui permet aux administrateurs d'appliquer des politiques aux clusters ou groupes de clusters et de définir des règles de sécurité. Les outils SaaS s'intègrent de manière sécurisée dans les clusters Kubernetes via un agent et prennent en charge un large éventail d'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 est basée sur l'utilisation maximale des technologies open source. L'API de cluster est utilisée pour gérer le cycle de vie des clusters Tanzu Kubernetes Grid, Velero est utilisé pour les sauvegardes et les restaurations, Sonobuoy est utilisé pour contrôler la correspondance de la configuration des clusters Kubernetes et Contour en tant que 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 suivi de l'état des clusters;
- gestion des paramètres de configuration et de sécurité;
- planifier des contrôles réguliers de l'état du cluster;
- création de sauvegardes et restauration;
- gestion des quotas;
- une représentation visualisée de l'utilisation des ressources.
Pourquoi c'est important
Tanzu Mission Control aide les entreprises à gérer une large flotte de clusters Kubernetes situés sur site, dans le cloud et avec plusieurs fournisseurs tiers. Tôt ou tard, toute entreprise dont les activités sont liées à l'informatique est contrainte de maintenir de nombreux clusters hétérogènes situés chez différents fournisseurs. Chaque cluster se transforme en boule de neige qui a besoin d'une organisation compétente, d'une infrastructure appropriée, de politiques, de protection, de systèmes de surveillance et bien plus encore.
De nos jours, toute entreprise cherche à réduire les coûts et à automatiser les processus de routine. Et le paysage informatique complexe n'est clairement pas propice aux économies et à la concentration sur les tâches prioritaires. Tanzu Mission Control permet aux organisations de travailler avec plusieurs clusters Kubernetes déployés sur plusieurs fournisseurs tout en harmonisant le modèle d'exploitation.
Architecture de la solution
Tanzu Mission Control est une plate-forme multi-locataires qui donne aux utilisateurs l'accès à un ensemble de stratégies hautement personnalisables qui peuvent être appliquées aux clusters et groupes de clusters Kubernetes. Chaque utilisateur est lié à l'Organisation, c'est elle qui est la «racine» des ressources - groupes de clusters et d'espaces de travail (Workspaces).
Ce que le contrôle de mission Tanzu peut faire
Ci-dessus, nous avons déjà brièvement énuméré la liste des fonctions de solution. Voyons comment cela est implémenté dans l'interface.
Une vue unique de tous les clusters Kubernetes dans une entreprise:
Créez un nouveau cluster:
vous pouvez immédiatement attribuer un cluster à un cluster et il héritera des stratégies qui lui sont définies.
Connexion de cluster:
les clusters déjà existants peuvent être simplement connectés à l'aide d'un agent spécial.
Regroupement de clusters:
dans les groupes de clusters, vous pouvez grouper des clusters pour hériter des stratégies affectées immédiatement 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 Tanzu Mission Control dans le travail de laboratoire.
Laboratoire n ° 1
Bien entendu, il est assez difficile d'imaginer en détail le travail de Mission Control et les nouvelles solutions Tanzu sans pratique. Afin que vous puissiez explorer les principales caractéristiques de la ligne, VMware donne accès à plusieurs stands de laboratoire. Sur ces bancs, vous pouvez effectuer des travaux de laboratoire en utilisant des instructions étape par étape. Outre Tanzu Mission Control lui-même, d'autres solutions sont disponibles pour les tests et les études. Une liste complète des travaux de laboratoire se trouve sur cette page .
Différents temps sont alloués pour la familiarisation pratique avec différentes solutions (y compris un petit «jeu» vSAN). Ne vous inquiétez pas, ce sont des chiffres très relatifs. Par exemple, un laboratoire de contrôle de mission Tanzu peut être «résolu» jusqu'à 9 heures et demie en passant de la maison. De plus, même si la minuterie expire, vous pouvez revenir en arrière et recommencer.
Passage des travaux de laboratoire # 1
VMware. . .
Tanzu Mission Control.
windows-, :
, : .
Tanzu Mission Control.
windows-, :
- ,
- ,
- -
, : .
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 citerons pas ici dans son intégralité: afin de gagner du temps, nous n'analyserons que le deuxième module, le premier étant consacré à l'aspect théorique de Tanzu Mission Control. Si vous le souhaitez, vous pouvez le compléter vous-même. Ce module nous invite à plonger dans la gestion du cycle de vie des clusters via Tanzu Mission Control.
Remarque: les laboratoires de contrôle de mission Tanzu sont régulièrement mis à jour et perfectionnés. Si vous avez des écrans ou des étapes différents des suivants lors de la réalisation de 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 de cet article et examinerons ses éléments clés.
Passage des travaux de laboratoire # 2
VMware Cloud Services, Tanzu Mission Control.
, , — Kubernetes. Ubuntu PuTTY. Ubuntu.
:
Tanzu Mission Control. PuTTY Chrome, Clusters ATTACH CLUSTER.
— default, REGISTER.
PuTTY.
.
:
Tanzu Mission Control VERIFY CONNECTION. , .
. Cluster groups NEW CLUSTER GROUP. CREATE.
.
: Clusters, NEW CLUSTER .
, — hands-on-labs — .
, . , Next.
, Edit.
, CREATE.
.
. .
KUBECONFIG, kubectl. Tanzu Mission Control. Tanzu Mission Control CLI click here.
CLI.
API Token. My Account .
GENERATE.
CONTINUE. Power Shell tmc-login, — , , — Login Context Name. info , olympus-default ssh-.
namespaces:
. — coffee and tea — coffee-svc tea-svc, — nginxdemos/hello and nginxdemos/hello:plain-text. .
PowerShell cafe-services.yaml.
- API .
Pod Security Policies . .
:
:
:
2 , ! , .
, . . , , , Tanzu Mission Control -.
, , — Kubernetes. Ubuntu PuTTY. Ubuntu.
:
- :
kind create cluster --config 3node.yaml --name=hol
- KUBECONFIG-:
export KUBECONFIG="$(kind get kubeconfig-path --name="hol")"
- :
kubectl get nodes
Tanzu Mission Control. PuTTY Chrome, Clusters ATTACH CLUSTER.
— default, REGISTER.
PuTTY.
.
:
watch kubectl get pods -n vmware-system-tmc
. , Running Completed.
Tanzu Mission Control VERIFY CONNECTION. , .
. Cluster groups NEW CLUSTER GROUP. CREATE.
.
: Clusters, NEW CLUSTER .
, — hands-on-labs — .
, . , Next.
, Edit.
, CREATE.
.
. .
KUBECONFIG, kubectl. Tanzu Mission Control. Tanzu Mission Control CLI click here.
CLI.
API Token. My Account .
GENERATE.
CONTINUE. Power Shell tmc-login, — , , — Login Context Name. info , olympus-default ssh-.
namespaces:
kubectl --kubeconfig=C:\Users\Administrator\Downloads\kubeconfig-aws-cluster.yml get namespaces
.
kubectl --kubeconfig=C:\Users\Administrator\Downloads\kubeconfig-aws-cluster.yml get nodes
, , Ready.
. — coffee and tea — coffee-svc tea-svc, — nginxdemos/hello and nginxdemos/hello:plain-text. .
PowerShell cafe-services.yaml.
- API .
Pod Security Policies . .
:
kubectl --kubeconfig=kubeconfig-aws-cluster.yml create clusterrolebinding privileged-cluster-role-binding --clusterrole=vmware-system-tmc-psp-privileged --group=system:authenticated
:
kubectl --kubeconfig=kubeconfig-aws-cluster.yml apply -f cafe-services.yaml
:
kubectl --kubeconfig=kubeconfig-aws-cluster.yml get pods
2 , ! , .
, . . , , , Tanzu Mission Control -.
Opinions 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ériaux pour une étude indépendante, et aujourd'hui il n'est pas possible de déployer un banc d'essai pour «piquer» un nouveau produit de toutes parts. Néanmoins, même à partir des données disponibles, certaines conclusions peuvent être tirées.
Avantages de Tanzu Mission Control
Le système est vraiment intéressant. Je voudrais tout de suite mettre en évidence quelques petits pains 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 réseau.
- Surveillance de l'état du cluster.
- Capacité de sauvegarde et de restauration de la console.
- Gestion des quotas et des ressources avec visualisation de l'élimination réelle.
- Lancement automatique de l'inspection des clusters.
Encore une fois, de nombreux composants sont en cours de finalisation, il est donc trop tôt pour parler pleinement des avantages et des inconvénients de certains outils. En passant, Tanzu MC, sur la base de la démonstration, peut mettre à niveau le cluster à la volée et, en général, fournir le cycle de vie complet du cluster à la fois à partir de nombreux fournisseurs.
Voici quelques exemples «de haut niveau».
Dans le cluster de quelqu'un d'autre avec sa propre charte
Disons que vous avez 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 auxquels vous ne voulez pas donner des droits et libertés inutiles. Supposons également que vous ayez Kubernetes de trois fournisseurs à la fois. En conséquence, afin de limiter les droits et de les ramener à un dénominateur commun, vous devrez entrer dans chaque panneau de contrôle un par un et tout enregistrer manuellement. D'accord, pas le passe-temps le plus productif. Et plus vous avez de ressources, plus le processus est morne. Tanzu Mission Control vous permettra de gérer la délimitation des rôles à partir d'une «fenêtre unique». À notre avis, c'est une fonction très pratique: personne ne cassera quoi que ce soit si vous oubliez accidentellement de spécifier les droits nécessaires quelque part.
À propos, nos collègues de MTS dans leur blog ont comparé Kubernetes du fournisseur et l'open source. Si vous avez longtemps voulu savoir quelles sont les différences et ce qu'il faut regarder lors du choix, bienvenue.
Travail compact avec les journaux
Un autre exemple de la vie réelle est le travail avec les journaux. Supposons que l'équipe dispose également d'un testeur. Un beau jour, il vient chez les développeurs et annonce: "un bug a été trouvé dans l'application, nous allons le corriger de toute urgence." Naturellement, la première chose à laquelle un développeur veut se familiariser est les journaux. Les envoyer dans des fichiers par e-mail ou Telegram est de mauvaises manières et du siècle dernier. Mission Control offre une alternative: vous pouvez donner au développeur des droits spéciaux afin qu'il ne puisse lire les journaux que dans un espace de noms spécifique. Dans ce cas, il suffit à un testeur de dire: «il y a des bugs dans telle ou telle application, dans tel ou tel domaine, dans tel ou tel espace de noms», et le développeur ouvrira facilement les logs et pourra localiser le problème. Et en raison de droits limités, il ne montera pas immédiatement pour le réparer si la compétence ne le permet pas.
Healthy Cluster Healthy App
Une autre fonctionnalité intéressante de Tanzu MC est le suivi de la santé du cluster. A en juger par les matériaux préliminaires, le système vous permet de visualiser certaines statistiques. Pour le moment, il est difficile de dire à quel point ces informations seront détaillées: jusqu'à présent, tout semble assez modeste et simple. Il y a une surveillance de l'utilisation du CPU et de la RAM, les états de tous les composants sont affichés. Mais même sous cette forme spartiate, c'est un détail très utile et efficace.
Résultat
Bien sûr, dans la représentation du laboratoire de Mission Control, dans des conditions apparemment stériles, une certaine rugosité est observée. Vous les remarquerez probablement vous-même si vous décidez de faire le travail. Certains points ne sont pas assez intuitifs - même un administrateur expérimenté devra lire le manuel pour comprendre l'interface et ses capacités.
Néanmoins, étant donné la complexité du produit, son importance et le rôle qu'il jouera sur le marché, cela s'est avéré cool. On a l'impression que les créateurs ont essayé de corriger le flux de travail de l'utilisateur. Rendez chaque contrôle aussi fonctionnel et compréhensible que possible.
Il ne reste plus qu'à essayer Tanzu sur un banc d'essai afin de vraiment comprendre tous ses avantages, inconvénients et innovations. Dès qu'une telle opportunité se présente à nous, nous partagerons avec les lecteurs de Habr un rapport détaillé sur le travail avec le produit.