Dans le cadre de ma préparation à l’examen de certifiation d’administration Kubernetes (CKA), je me prépare quelques exercices pratiques à mettre en oeuvre. Si vous êtes intéressés, je vous propose ceux-ci, avec une solution possible. N’hésitez pas à me faire part de vos commentaires, critiques ou de vos propres solutions pour en discuter !
Un nouveau collaborateur Bobby vient d’arriver dans votre société, et il souhaite pouvoir se connecter à un cluster Kubernetes existant avec kubectl afin de gérer complètement le namespace developer
.
Comment faire?
... ➦Les Agents Java ? Pas la moindre idée de ce que c’est ? Mais si, vous en avez certainement déja vu, ils se cachent dans la ligne de commande Java via ce paramètre -javaagent:vers/mon/agent.jar.
Ceux-ci interviennent lors du chargement des classes par un classloader, et ont la possiblité de venir modifier la classe en cours de chargement. Ce mécanisme est utilisé par divers outils et frameworks :
L’histoire a commencé à Anvers, durant une keynote à Devoxx de Stefan Janssens où il lance une bombe atomique. En collaboration avec l’équipe du ParisJUG, ils ont commencé à préparer en secret LA conférence de France : Devoxx France.
Cette conférence reprend les mêmes concepts de l’original, mais en plus court : 1 jour d’université, 2 jours de conférences. Mais France oblige, une majorité de présentation seront en français.
A ce moment, ayant déja fait plusieurs conférences dans les JUGs, j’espérais faire un jour une présentation à Devoxx. Malheureusement mon anglais n’étant pas assez au point, ce n’était pas pour demain. Mais Devoxx France était pour moi la solution idéale, et je me voyais bien un jour y venir présenter un sujet.
De retour d’Anvers, l’idée me trotte dans la tête, mais ma présentation sur les nouveautés de Spring 3.0 n’est plus d’actualité… Et je ne maitrise pas d’autre sujet suffisement pour être prêt dans les temps.
Bref, je me dis que Devoxx France, c’est pas encore pour tout de suite !
... ➦Derrière un nom qui ferait fuir n’importe qui, se cache un outil assez prometteur. CRaSH est un projet Open Source, sous licence LGPL, créé par Julien Viet. Et plus exactement un Shell qui permet de se connecter à une JVM et de la contrôler à l’aide de commande développée en Groovy.
Il est assez extensible, mais de base il vient avec des commandes pour JDBC, le logging, les Thread. Pour en savoir plus, je vous recommande la lecture de la documentation, de regarder un screencast ou de parcourir les slides de Julien lors de son quickies à Devoxx France
... ➦Chez mon client, nous avons eu un besoin particulier : celui de pouvoir étendre des archetypes Maven. Autrement dit, pouvoir créer un archetype qui se baserait sur un autre, et qui apporterait uniquement le delta de différence.
Pour certain fichier, nous n’avons pas eu le choix, nous avons été obliger de fournir une nouvelle version qui remplacerait la version initiale, par exemple les fichiers binaires tels que les images.
Par contre, pour le fichiers XML, et en particulier les fichiers pom.xml ou encore le fichier archetype-metadata.xml, c’était plus problématique. En effet, en cas de modification de l’un des ces fichiers dans l’archetype de base, nous aurions été obligé de copier ceux-ci, et ré-introduire les delta à la main… ce qui ne serait pas très productifs.
Partant du fait que ces fichiers sont du XML, il me semblait plus logique de partir du fichier de base et de ne décrire que les transformations à lui apporter. Quand on parle de transformation en XML, on pense tout de suite à XSLT. Mais il faut avouer que s’il est très puissant, il n’est pas forcément le plus simple à appréhender.
J’ai donc cherché des alternatives plus simples. En discutant avec un consultant .Net, celui-ci m’a présenté le système qui est utilisé par Microsoft pour gérer les fichiers de configuration de IIS : XML Document Transform. J’ai tout de suite trouvé cette solution élégante pour répondre à notre problème.
Par chance, quelqu’un a eu la bonne idée de faire une première implémentation OpenSource ( en se basant sur tout les exemples qu’il à trouvé dans la documentation et sur internet. Son implémentation se basait sur des spécificités .Net, donc impossible de le porter tel quel en Java. Cependant, son jeu de test était assez complet.
Grâce à celui-ci tests, j’ai pu développer en TDD une implémentation en Java : xdt4j.
... ➦Les utilisateurs de Mac utilisent souvent de type de fichier, qui sont en fait des images disques (comme des .iso) qui peuvent être montées et qui apparaitront comme un nouveau disque sous Mac OS X.
Ce type de fichier est très souvent utilisé sous Mac comme moyen d’installer des logiciels. Afin de fournir un Bundle pour OpenJDK pour Mac OS X, j’ai voulu regarder de plus près comment faire pour créer un tel fichier.
... ➦Ceci n’est pas un billet de plus pour faire de la propagande Apple, mais juste l’envie de partager mon expérience sur le switch de Pc vers Mac.
J’ai eu l’occasion de tester, très épisodiquement, Mac OS X chez mon premier employeur. J’ai trouvé le concept intéressant, plutôt bien fini esthétiquement et simple à utiliser. Mais en tant que développeur/administrateur système, j’ai également découvert avec horreur le clavier Apple..
Quelques temps plus tard, un ami proche, administrateur système de profession, à tenter le switch vers un portable Apple. Mais il a rapidement changé, en particulier à cause du clavier qui ne lui était pas fort pratique.
Suite à cela, moi qui était jusque la tenter de passer le pas, j’ai été fort refroidit. Et quand j’ai effectivement été forcé de changer de portable, je suis resté sur le marque PC qui ne m’a jamais fait défaut. Mais avec un léger regret tout de même.
Et finalement, fin 2009, j’ai franchi le cap et me suis commandé un Mac Book Pro 15”.
... ➦