MVP d'autoscaling Slurm sur Proxmox.
infra/terraform/proxmox: provisioning des VM Debian 13 sur Proxmox (via OpenTofu).infra/ansible: configuration Slurm controller/compute.backend: API FastAPI pour scaler le cluster.frontend: interface web minimale de pilotage.ops: scripts d'orchestration locale.docs: architecture, prerequis et validation E2E.
- Configurer les variables d'environnement backend (token API, chemins Terraform/Ansible).
- Configurer
infra/terraform/proxmox/terraform.tfvars(fichier ignore par git). - Lancer le backend FastAPI.
- Lancer le frontend statique.
- Utiliser l'UI pour ajuster
target_nodes.
Le flux MVP est automatise:
- OpenTofu cree/supprime les VM.
- Le backend lit
cluster_inventoryviatofu output -json. - Le backend genere
infra/ansible/inventory/generated_hosts.yml. - Le backend execute Ansible pour configurer/mettre a jour Slurm.
Aucune edition manuelle d'inventaire n'est requise. Il n'y a pas d'inventaire statique versionne: l'inventaire est genere uniquement par le backend.
POST /cluster/create: creation complete du cluster (infra + config).POST /cluster/scale: ajustement du nombre de compute nodes.POST /cluster/destroy: destruction complete du cluster.POST /cluster/reconcile: reapplication de la configuration.
Le mode controller + 1er compute sur la meme VM est disponible via:
- payload API:
colocate_controller_and_first_compute - variable backend par defaut:
AUTOSLURM_COLOCATE_CONTROLLER_FIRST_COMPUTE
Pour eviter les problemes DHCP du LAN principal, creer un reseau dedie:
- Bridge:
vmbr1 - Subnet:
172.22.0.0/24 - Gateway Proxmox:
172.22.0.1 - DHCP:
172.22.0.100-172.22.0.199 - NAT sortant vers
vmbr0
- Ajouter
vmbr1dans/etc/network/interfaces(bridge sans port physique). - Activer
net.ipv4.ip_forward=1. - Ajouter les regles NAT/FORWARD (
iptables) pour172.22.0.0/24 -> vmbr0. - Installer/configurer
dnsmasqsurvmbr1pour DHCP. - Dans
terraform.tfvars, definirvm_network_bridge = "vmbr1".
- Dans une VM:
ip a,ip route,ping 172.22.0.1,ping 1.1.1.1. - Sur Proxmox:
qm guest cmd <VMID> network-get-interfaces.
Il est normal que l'image genericcloud Debian soit tres minimaliste et n'inclue pas
systematiquement qemu-guest-agent actif par defaut. Ce n'est pas une anomalie.
Pour Proxmox/OpenTofu, il faut donc preparer un template "golden" qui inclut:
qemu-guest-agentinstalle- service active:
systemctl enable --now qemu-guest-agent - cloud-init propre avant conversion en template
Sans cela, la VM peut etre creee mais les remontes IP/etat via agent restent instables.