Featured image of post Les WebUIs, TUIs, GUIs pour Kubernetes – Episode 01

Les WebUIs, TUIs, GUIs pour Kubernetes – Episode 01

Ecrit par ~ zwindler ~

Kubernetes, c’est dur 😭

VoilĂ  quelque chose qu’on entend Ă  longueur de journĂ©e. J’en ai dĂ©jĂ  parlĂ©, Kubernetes est un outil « modĂ©rĂ©ment » complexe. Oui, c’est un outil complet (et pas complexe) avec une terminologie riche qui lui est propre.

Au delĂ  de la fausse promesse que certains lui attribue (permettre aux Dev de s’émanciper totalement des Ops, j’en parle dans l’article « au secours, le mĂ©tier d’Ops va disparaĂźtre« ), il y a un vrai problĂšme de vocabulaire et de concepts qui ne sont pas Ă©vidents pour les dĂ©butants.

Pour faciliter l’adoption, j’ai remarquĂ© que beaucoup de gens qui dĂ©butent dans kube s’aident d’environnement (souvent graphiques, mais pas forcĂ©ment) permettant d’interagir avec les objets logiques de Kubernetes de maniĂšre « simple ».

Car, bizarrement, tout le monde n’aime pas Ă©crire des tonnes de lignes de commandes (ou pire des calls d’API) et des tartines de YAML Ă  longueur de journĂ©e… J’comprend pas.

https://twitter.com/memenetes

Comme je suis quelqu’un de sympa, j’ai donc testĂ© pour vous tous les outils, graphiques ou non, que j’ai pu trouver, pour vous faire un petit guide et vous donner mes impressions.

Vous ĂȘtes prĂȘts ?

Alors c’est parti !

Dans ce premier épisode (qui en comportera 3, je vous laisse deviner les deux autres), je me suis concentré sur les WebUI.

Kubernetes UI (officielle)

Tableau de bord Kubernetes

Site : https://kubernetes.io/fr/docs/tasks/access-application-cluster/web-ui-dashboard/
Sources : https://github.com/kubernetes/dashboard

Franchement au dĂ©but je voulais prendre le parti de NE PAS parler de la WebUI officielle. Je ne l’aime pas, depuis longtemps.

Je la trouvais limitĂ©e, au dĂ©but elle Ă©tait buguĂ©e, les messages d’erreur Ă©taient tout sauf explicites, … Les CRDs n’étaient pas du tout gĂ©rĂ©es et mĂȘme les objets officiels de l’API de Kubernetes n’étaient pas tous reprĂ©sentĂ©s, rendant tout diagnostic poussĂ© impossible.

Si c’est pour faire du kubectl de toute façon, autant ne pas perdre de temps à m’authentifier sur la WebUI.

Elle Ă©tait souvent dĂ©ployĂ©e un peu par dĂ©faut dans les dĂ©buts de Kubernetes et souvent mal sĂ©curisĂ©e (par les utilisateurs) ce qui a conduit Ă  de nombreux piratages. Les cloud providers ne l’activent plus par dĂ©faut pour cette raison (voire mĂȘme, certains le dĂ©conseillent).

Cependant, j’ai rĂ©essayĂ© la V2 et il faut reconnaĂźtre que les choses se sont amĂ©liorĂ©es. Les CRDs sont correctement prise en charge, notamment.

Octant (VMware)

Site : https://octant.dev
Sources : https://github.com/vmware-tanzu/octant

Un projet qui me tient à cƓur est la solution de WebUI de VMware.

Je dis WebUI, mais uniquement parce que l’UI est lancĂ©e dans un navigateur. Mais ce n’est pas un serveur web Ă  exposer h24 comme l’UI officielle. C’est d’ailleurs pour ça que c’est « plus sĂ©cure ». L’UI n’est lancĂ©e que localement sur le poste de l’utilisateur, Ă  la demande, avec les privilĂšges de l’utilisateur (et rien de plus).

Elle sert d’UI pour Tanzu (le Kubernetes Ă  la sauce VMware) mais pas que, ce qui explique je pense l’effort qu’ils y mettent (il faut bien se diffĂ©rencier).

Pour l’avoir pas mal utilisĂ©e, c’est fiable et pratique. C’est aussi assez simple Ă  installer, VMware mettant Ă  disposition sur Github des archives et des packages systĂšmes :

Et voilĂ  Ă  quoi l’UI ressemble. On retrouve des menus oĂč sont regroupĂ©s les diffĂ©rentes vues sur la gauche, puis on navigue de ressource en ressource via les liens hypertexte. On peut faire des recherches par filtres, …

Dans les plus que j’y vois, c’est assez intuitif, on est pas perdu. Le principe est relativement similaire Ă  l’UI officielle, mĂȘme si l’organisation des menus est diffĂ©rentes. Un point noir, le texte est par dĂ©faut trĂšs petit, et des menus trĂšs riches (beaucoup de cadres, beaucoup de texte).

L’UI offre des fonctionnalitĂ©s supplĂ©mentaires par rapport Ă  l’UI officielle, comme l’affichage des logs streamĂ©s, le port-forward d’un pod via un click, qui vous lance votre application dans un nouvel onglet de navigateur (hyper pratique). Tout est filtrable, notamment par labels.

Les CRDs sont correctement gĂ©rĂ©es depuis longtemps (mais c’est aussi le cas dans l’UI officielle maintenant).

Le produit met Ă©galement en avant son cĂŽtĂ© extensible avec plusieurs modules complĂ©mentaires permettant d’étendre les fonctionnalitĂ©s de base. Je n’ai pas essayĂ© cette possibilitĂ©.

Skooner (ex-K8dash) (Indeed)

Développé pour les besoins internes de Indeed, cette WebUI se veut plus simple dans son look que la WebUI officielle.

Site : Blog post sur le tech blog de Indeed Engineering
Sources : https://github.com/indeedeng/k8dash / https://github.com/skooner-k8s/skooner
Vidéo démo : https://www.youtube.com/watch?v=u-1jGAhAHAM

Les fonctionnalitĂ©s mises en avant sont une installation simple (ça se dĂ©ploie dans Kubernetes, effectivement c’est pas super complexe), une UI mise Ă  jour en temps rĂ©el (pas de reload de la page web) et une authentification OIDC intĂ©grĂ©e. Les objets sont filtrables.

Au delĂ  de l’installation simple et de l’intĂ©rĂȘt rĂ©el pour l’ajout de l’OIDC out of the box, je ne vois pas bien ce qu’elle apporte… Oui, le look est plus lĂ©chĂ© et il y a un gouvernail qui tourne (youpi). Oui ça se reload tout seul en temps rĂ©el.

Mais bon… question de goĂ»t, j’imagine ?

Et plus si affinitĂ©…

Bon là, niveau WebUI on est déjà bien.

Si jamais vous n’avez toujours pas trouvĂ© votre bonheur, le mieux, c’est certainement d’attendre le prochain Ă©pisode (car aprĂšs les WebUI, on a vraiment du lourd qui arrive pour les prochains Ă©pisodes :-p).

Et en attendant, have fun :)


Vous aimez ce blog ou cet article ? Partagez-le avec vos amis !   Twitter Linkedin email Facebook

Vous pouvez Ă©galement vous abonner Ă  la mailing liste des articles ici

Généré avec Hugo
ThÚme Stack conçu par Jimmy