Protéger les sites k3s avec Let’s Encrypt
Le protocole HTTP, simple et efficace, a cependant un énorme défaut : toutes les informations envoyées sont “en clair”. Donc cela signifie qu’elles peuvent être interceptées et modifiées par des personnes plus ou moins bien intentionnées (pirates, gouvernements, fournisseurs d’accès…)
Pourquoi passer vos sites en HTTPS
Le protocole HTTPS, lui, résout ce problème en encryptant les données avec le TLS (Transport Layer Security). C’est pourquoi Google a décidé en 2014 de mettre en avant les sites hébergés en HTTPS dans ses algorithmes de calcul des SERP.
Installer Helm
Helm est un package manager soutenu et recommandé par Kubernetes. Helm permet de déployer des applications ou des stacks complètes en utilisant un système de templating et de dépendances.
Un package Kubernetes est appelé Charts dans Helm. Ces Charts contiennent les informations nécessaires pour créer une instance d’application Kubernetes. Ces informations sont stockées dans des configs. Une fois instancié sur un cluster son occurrence s’appelle une release.
Installer Helm sur Ubuntu:
Rien de plus simple avec snap:
Tiller est préinstallé dans k3s, il est donc inutile de l’installer. Il suffit juste de l’initialiser :
Quelques commandes utiles
Voici quelques commandes de bases pour Helm :
helm install my-chart
Instancie un release de votre chart : my-chart avec comme nom de release aléatoire dans votre cluster kuberneteshelm upgrade my-release my-chart
Permet d’upgrade notre release avec une nouvelle version.helm ls``` ou ```helm list
Permet de lister les Charts installés sur votre Clusterhelm delete my-release
Permet de désinstaller la release my-release de kubernetes
Installation de Cert-manager sur k3s
Cert-manager est une stack complète permettant de créer à la volée vos certificats :
Création d’un certificate issuer
Copier ces lignes en modifiant les infos <a changer>
avec les vôtres dans un
fichier lets-encrypt-issuer.yml :
Appliquons-le maintenant :
Intégration dans vos ingress
Ajouter les informations suivantes au metadata
:
Ajouter également le certificat à la partie spec
en faisant attention à mettre
un secret unique si vous héberger plusieurs sites :
Ce qui donne par exemple :
Il faut attendre un peu de temps que cert-manager génère le certificat. Vous pouvez vérifier les logs du pod :
En cas d’upgrade
Il vaut mieux tout rincer, car sinon lors de l’upgrade vous aurez des erreurs dans les logs et ça ne fonctionnera pas !