Notre recette d'un cluster kub aux petits oignons
Estimated time to read: 2 minutes
La recette
Pour avoir un bon cluster:
- on l'instancie avec terraform
- on gère l'accès à nos endpoints depuis l'extérieur avec un ingress-controller tel que nginx
- pour que ca soit lisible, on crée automatique des entrées DNS pour chaque nouveau endpoint avec external-dns
- on sécurise tout ça avec des jolis certificats Let's Encrypt et à l'aide de cert-manager
- on externalise nos secrets dans GitLab avec external-secrets
- on contrôle un peu tout ce qu'il se passe dans la cocotte avec kyverno
- une fois qu'on a bien travaillé, on autorise tout le monde à se reposer avec kube-downscaler
Miam 🤤
Et ca sert à quoi ⁉️
Dans la vraie vie, ca nous sert à quoi.
Un premier exemple via l'utilisation des environnements GitLab pour simplement visualiser les différentes environnements d'un projet, quelle version/commit est déployé sur chacun, et faciliter leur listing et leur accès.
Aussi, on peut voir qu'avec une approche GitOps et Flux par exemple, on peut facilement automatiser l'installation et la configuration de tout cela et de simplement mettre à jour tous nos clusters.
Essayons tout cela...
C'est parti 🍝
Pour ces 2 exemples, il est nécessaire de forker le projet car vous aurez besoin d'être Owner du projet pour faire les manipulations.
Les 2 exercices sont indépendants, vous pouvez les faire dans l'ordre que vous souhaitez.
Pour celà, il suffit de cliquer sur Fork
sur la page du projet et réaliser le fork de ce projet dans votre espace personnel.
Il en reste plus qu'a cloner votre fork en local !
Avant de partir 🧽 (APRES avoir fait les parties GitLab env. et/ou Flux)
Pensez à faire du ménage 🧹
1️⃣ Supprimer les ingress avant de supprimer le cluster (pour purger les records DNS):
2️⃣ Supprimer le cluster: