Kubernetes auto scalable chez Exoscale avec Terraform et Packer

Publié le

GitHub

Ce projet a pour but d'installer Kubernetes 1.20 chez Exoscale, un cloud provider Suisse.
L'interêt est de mettre en œuvre les concepts d'Infrastructure as Code (IaC) avec les outils Packer et Terraform de la suite Hashicorp.

L'installation de Kubernetes intègres des composants additionnels pour une meilleure integration avec Exoscale :

  • Cluster Autoscaler, qui permet de rajouter des workers à la volée en fonction des besoins.
  • Cloud Controller Manager, qui, à l'heure actuelle, permet essentiellement l'intégration des services de type LoadBalancer avec la plateforme d'Exoscale.

Pour ce qui est des composants moins spécifiques à Exoscale, on utilise CRI-O comme runtime pour les containers (CNI). La partie réseau (CNI, elle est gérée par Calico.

L'ensemble de cette installation se fait en deux temps :

  • La première étape concerne la création d'une image de machine virtuelle à l'aide de Packer.
  • La deuxième étape met en place l'infrastructure à l'aide de Terraform

La mise au point de cette infrastructure a été décrite dans la série d'articles Comment déployer Kubernetes chez Exoscale avec Packer et Terraform ? :

PHILIPPE CHEPY

Administrateur Système et Développeur