En complément de Certificat Let’s Encrypt sur réseau local qui montre comment centraliser une génération privée de certificat, pour Kubernetes, voici un article sur comment monter un homelab simplement avec Rancher et docker-compose.
+
Docker-compose vs Kubernetes
Pourquoi Docker-compose plutôt que Kubernetes? Pour une question de ressource.
Rancher est très gourmand si en plus vous rajoutez Kubernetes votre micro serveur ou raspberry pi va tomber. il faudra déjà compter minimum 2 cpu et 4go de ram.
Enfin, c’est du test, donc du jetable.
Comment
Ci-dessous un docker-compose.yml reprenant l’exercice.
Vous y trouverez:
- Traefik en tant que gateway et générateur de certificat ssl DNS-01 avec ici le provider Namecheap
- Rancher en version stable
- whoami pour tester la génération de certificat
Détails
Il y a plusieurs subtilités,
Rancher 2 impose le ssl à son niveau, donc vous devez pouvoir faire:
Browser ↔️ ssl let’s encrypt ↔️ Traefik ↔️ ssl (let’s encrypt ou pas) ↔️ rancher
Dans notre cas, avec docker-compose avec Traefik et sans accès public au serveur seul un certificat auto-signé au niveau rancher est possible. Il faut donc passer à –serverstransport.insecureskipverify=true.
Et enfin toute la partie label permettant de faire du proxy passthrough.
Tips
profiles:
- donotstart
Permet de gérer des profiles d’execution dans docker-compose, dans notre cas il nous permet surtout de ne pas executer directement whoami, de l’ignorer.
restart: always
Attention, L’option restart ne marche que avec l’executable docker-compose (ici en 2.12), pas avec le plugin docker.