Présentation
Kubernetes (souvent nommé k8s) est une plateforme complète pour la mise en place du déploiement et automatisation de conteneurs sur des milliers de machines.
Une fois installĂ© sur chaque machine, on s’abstrait du matĂ©riel pour entrer dans un environnement complet pour dĂ©ployer, automatiser et Ă©quilibrer les charges pour diffĂ©rents services dĂ©livrĂ©s par des conteneurs.
La plateforme est tellement souple qu’elle permet de choisir son moteur de conteneurs, la façon de surveiller le tout, quel load balancer on souhaite, comment gĂ©rer le chiffrement (Let’s Encrypt, etc.) et ainsi de suite.
Ce projet a été créé par Google puis donné, en Open Source, à la CNCF (Cloud Native Computing Foundation).
Pour en savoir plus, il y a une page concernant Kubernetes sur le site officiel de la CNCF .
Variantes
Kubernetes est délivré sous plusieurs formes. Chacun propose une distribution de Kubernetes avec des composants différents.
Parmi les distributions notables on a :
- Minikube , pour une utilisation locale et la phase de développement de vos outils ou services sous Kubernetes,
- Talos Linux , une distribution Linux axĂ©e sur la sĂ©curitĂ© et le dĂ©ploiement d’un cluster Kubernetes. Utilise une commande talosctl très similaire Ă kubectl,
- k0s , une distribution dĂ©livrĂ©e en un binaire unique ! S’installe donc facilement sur n’importe quelle machine physique ou virtuelle, dans le cloud ou sur une machine physique,
- k3s , une version allégée qui tourne, notamment, sur les célèbres RPI ,
- kind , une version utilisant notre Docker local et permettant de « simuler » des clusters Kubernetes avec 1 à plusieurs nœuds. Idéal pour développer des concepts et travailler des idées Kubernetes sans avoir de réel cluster k8s.
Outils
Étant donnĂ© que Kubernets (k8s) est une plateforme très utilisĂ©e et ayant de multiples variantes, elle fait couler de l’encre sur Internet. Et la communautĂ© gĂ©nère de multiples outils pour simplifier certaines tâches.
Quelques outils :
- k3sup permet de déployer un cluster complet de Kubernetes en quelques secondes en utilisant la distribution k3s,
- kube-linter est un outil d’analyse statique pour YAML et charts Helm qui pousse Ă l’utilisation des bonnes pratiques,
- kubeconform valide vos fichiers YAML… ou pas ! Vous allez devenir chèvre, mais le résultat sera appréciable,
- kubectx permet de changer de contexte kubectl en une commande interactive. Très facile d’utilisation et très très utile !,
- skaffold est un utilitaire qui va redéployer vos fichiers YAML à chaque changement de ces derniers.