Skip to content

Phase 7 - Kubernetes sur OpenStack

Objectif

Déployer des clusters Kubernetes via deux approches : Magnum (natif OpenStack) et VMs + K3s/RKE2 (via Terraform).

Architecture C4 - Kubernetes Deployment

graph TB
    dev["👤 Developer<br/>Deploy apps"]
    ops["👤 Platform Team<br/>Manage clusters"]

    subgraph OpenStack["OpenStack"]
        nova["Nova<br/>Compute"]
        neutron["Neutron<br/>Network"]
        cinder["Cinder<br/>Storage"]
        octavia["Octavia<br/>LB"]
        magnum["Magnum<br/>K8s as a Service"]
    end

    subgraph Magnum_Cluster["Magnum Cluster"]
        master_m["Master<br/>Control plane"]
        worker_m["Workers<br/>Workloads"]
    end

    subgraph K3s_Cluster["K3s/RKE2 Cluster"]
        master_r["Master<br/>Control plane"]
        worker_r["Workers<br/>Workloads"]
    end

    terraform["🏗️ Terraform<br/>IaC"]

    ops -->|Create cluster| magnum
    magnum -->|Provision VMs| nova
    magnum --> Magnum_Cluster

    ops -->|terraform apply| terraform
    terraform -->|Create VMs| nova
    terraform -->|Install K3s/RKE2| K3s_Cluster

    dev -->|kubectl| Magnum_Cluster
    dev -->|kubectl| K3s_Cluster

    Magnum_Cluster -->|CSI| cinder
    K3s_Cluster -->|CSI| cinder

Sujets de cette phase

# Sujet Description Durée estimée
01 Magnum service Installation, configuration 2-3 heures
02 Templates Magnum Cluster templates 2-3 heures
03 Cluster Magnum Création, scaling 2-3 heures
04 K3s sur VMs Déploiement léger 3-4 heures
05 RKE2 production Cluster production 3-4 heures
06 Cinder CSI Storage class 2-3 heures
07 Octavia Ingress Load balancer 2-3 heures

Comparaison des approches

Aspect Magnum K3s/RKE2 sur VMs
Facilité Simple (1 commande) Plus de contrôle
Versions K8s Limitées aux templates Libre choix
Customisation Via labels Totale
Production Bon Excellent (RKE2)
Upgrades Via Magnum Manuel ou automatisé

Checkpoint de validation

  • Magnum installé et configuré
  • Cluster K8s via Magnum fonctionnel
  • Cluster K3s/RKE2 déployé
  • CSI Cinder opérationnel
  • PVC provisionné dynamiquement