Cluster API : Kubernetes as a service sur Proxmox, OpenStack et Harvester
Fabriquer des clusters Kubernetes comme on deploie une application : un manifeste, un controller, et le cluster existe. Vous saurez monter un management cluster en HA qui se gere lui-meme, provisionner avec kubeadm, RKE2 et k3s, heberger des control planes dans des Pods, puis scaler, upgrader et reparer sans toucher a une machine.
Cluster API est un sous-projet de Kubernetes qui apprend a un cluster a en fabriquer d'autres. Un cluster Kubernetes y devient une ressource comme un Pod ou un Service : on ecrit un manifeste qui dit ce qu'on veut, on l'envoie avec kubectl apply, et des controllers s'occupent des machines, du reseau et du load balancer.
Le probleme qu'il resout est celui du deuxieme cluster, puis du vingtieme. Un script d'installation fabrique un cluster une fois ; il ne sait ni le reparer quand une machine meurt, ni dire combien de noeuds il devrait avoir, ni prouver que les vingt sont montes pareil. Ces trois manques ont la meme cause : rien n'est ecrit quelque part que l'on relise en boucle.
Ce qui le distingue de kubeadm, de kOps ou d'un module Terraform : il ne s'arrete pas a la creation. Il surveille l'etat reel, remplace une machine perdue, et fait la meme chose sur un cloud public, sur Proxmox ou sur OpenStack, parce que la plateforme est derriere un provider interchangeable. Cluster API est un sous-projet du SIG Cluster Lifecycle, sous licence Apache 2.0. Le repo github : github.com/kubernetes-sigs/cluster-api.
- Module 01 - Cluster API de bout en bout, sur Proxmox
la chaine complete une fois : les concepts, le management cluster, le template bati avecimage-builder, un premier workload cluster, puis le pivot vers un management en HA qui se gere lui-meme. - Module 02 - CAPMOX : les 3 bootstraps, en HA
meme plateforme, seul le couple bootstrap et control plane change : kubeadm, RKE2 et k3s, chacun en HA avec kube-vip, nodepools, taints et labels. - Module 03 - Le control plane as Pods
le control plane quitte les machines et devient des Pods du management cluster : Kamaji avec ses datastores etcd et PostgreSQL, puis HCP derriere une Gateway. - Module 04 - OpenStack, avec CAPO et k-orc
installer OpenStack en HA avec sunbeam, puis provisionner dessus, et declarer reseaux et routeurs avec l'OpenStack Resource Controller. - Module 05 - SUSE Virtualization, avec Harvester
installer Harvester en HA sur 3 noeuds, y poser un management cluster, et mesurer ce qui change par rapport a Proxmox. - Module 06 - Le scaling et l'industrialisation
le cluster autoscaler, le Cluster API Operator,ClusterClasspour arreter de repeter les manifestes, les addons et les upgrades de Kubernetes. - Module 07 - Operer en production
MachineHealthCheckpour reagir a une vraie panne, la sauvegarde du management cluster, le GitOps avec Argo CD, Sonobuoy, et la check-list.