Proxmox développe depuis plus de 15 ans deux solutions open source phares autour de la virtualisation : Proxmox Virtual Environment (Proxmox VE) et Proxmox Backup Server (Proxmox BS).
Proxmox VE permet de monter des clusters de virtualisation sur des serveurs physiques pour y héberger des ressources virtuelles. Proxmox PBS permet de sauvegarder les ressources d’un cluster en cas de panne de l’environnement virtuel.
Le 19 décembre 2024, Proxmox a annoncé la sortie d’un nouveau logiciel en version alpha : Proxmox Datacenter Manager (avec son petit nom : “Proxmox DM”).
En tant qu’opérationnels sur de nombreux environnements Proxmox clients et pour enrichir notre solution de cloud Proxmox, nous ne pouvions pas passer à côté d’un premier test. Cet article présentre nos premiers retours sur les fonctionnalités disponibles et nos premières conclusions.
A quoi sert Proxmox Datacenter Manager ?
Certains utilisateurs intensifs de virtualisation Proxmox VE ont besoin de gérer un grand nombre de clusters :
- Les fournisseurs de solutions cloud basées sur Proxmox VE avec de nombreux clusters pour divers clients (typiquement Enix) ou
- Les entreprises de grande taille avec des besoins conséquents en infrastructure, généralement avec des responsabilités réparties entre diverses entités et équipes techniques.
Cela soulève des problématiques de gestion et d’opération complexes sur les clusters : gestion des accès, supervision multi-cluster, logs et audit centralisé, migration inter clusters, etc.
La promesse de Proxmox Datacenter Manager est simple : permettre de gérer l’ensemble des clusters de virtualisation Proxmox VE via une interface unique centralisée. Il est bon de noter qu’à ce stade Proxmox DM ne remplace pas l’interface de Proxmox VE pour gérer ses clusters, elle peut être utilisée en complément, comme une surcouche.
Avant de rentrer dans le détail des fonctionnalités, il est important de préciser que la solution est une version alpha et toujours en cours de développement. Elle a été volontairement annoncée et partagée tôt avec la communauté d’utilisateurs et de développeurs afin de recueillir des avis sur l’usage réel en production et d’enrôler de nouveaux développeurs de la communauté pour accélérer le développement (notamment avec les attentes croissantes autour de Proxmox depuis le rachat de VMware par Broadcom et le besoin d’alternatives de qualité).
Installation
L’installation est simple, sans besoin de configuration particulière sur vos systèmes en complément du logiciel Proxmox Datacenter Manager. Il s’installe très bien en ISO ou sur un système d’exploitation Debian (voir la procédure d’installation officielle).
Le logiciel est peu consommateur en ressources, il ne fait que contacter en HTTPS les différents clusters Proxmox VE qu’il prend en charge. Une petite machine 2 CPU / 4 Go de RAM suffit donc amplement à héberger la solution.
Une fois Proxmox Datacenter Manager installé, vous pourrez commencer à ajouter un premier cluster dans l’espace nommé Remote, ce qui aura pour effet de connecter PDM à votre cluster PVE. PDM créera un jeton d’accès avec les droits de l’utilisateur choisi sur le cluster PVE et ce jeton permettra d’accéder au cluster tout au long de sa vie.
Une fois le cluster ajouté à l’interface, vous pouvez accéder aux fonctionnalités décrites ci-dessous.
Architecture de Proxmox Datacenter Manager
Proxmox Datacenter Manager vient se positionner “au dessus” des clusters de virtualisation. Il permet à l’utilisateur d’avoir un seul point d’entrée pour gérer ses clusters.
Proxmox Datacenter Manager peut être considéré comme une interface graphique de gestion de clusters, même s’il existe également un mode de gestion via CLI ou via API. Voici le schéma d’architecture macro avec et sans utilisation de Proxmox DM :
A noter que l’architecture de Proxmox Datacenter Manager ne supporte pas la haute disponibilité pour l’instant (bien entendu, ceci n’impacte pas la haute disponibilité des clusters eux-même) : il manque une redondance du service Proxmox DM lui même ainsi qu’un meilleur mode de connexion au cluster (connexion globale au cluster et non à un nœud spécifique susceptible d’indisponibilité et de couper la connexion).
Fonctionnalités de Proxmox Datacenter Manager
Dans cette version Alpha, Proxmox DM permet un certain nombre d’actions déjà présentes dans Proxmox VE. L’objectif est de les avoir toutes en un seul endroit centralisé pour simplifier les accès et les configurations sur les clusters, leur supervision et les audits de ces actions.
Parmi les fonctionnalités de Proxmox DM :
- Une interface graphique moderne utilisant de nouveaux composants par rapport à l’interface de PVE, basée sur la bibliothèque Yew.rs. Cette application rendue côté serveur s’intègre parfaitement dans le code Rust du projet proxmox-datacenter-manager.
- Des fonctionnalités mono-cluster
- Des fonctionnalités inter-cluster
- D’autres méthodes d’utilisation de PDM : un CLI et une API
A noter que les équipes Proxmox ont porté une attention particulière aux performances de l’interface graphique de PDM. Des tests concluants ont été effectués avec plus de 5000 clusters virtuels distants et 10 000 machines virtuelles.
Dashboard
Le dashboard offre une vue “intelligente” sur l’ensemble des clusters, avec notamment des informations de monitoring et de supervision concis et explicites sur l’état des VMs et des nœuds. Comme le reste de l’interface, le dashboard est épuré, il montre clairement une nouvelle direction dans le design chez Proxmox, pour le mieux.
Fonctionnalités mono-cluster
Proxmox DM reprend une partie des fonctionnalités mono cluster disponibles dans Proxmox VE (les essentielles), qui s’appliquent aux noeuds ou aux VMs dans le cluster :
- Affichage du nombre et listing des VMs ou des noeuds du cluster
- Affichage en temps réel des ressources utilisées et disponibles (consommation CPU / RAM, espace disque, etc.)
- Des actions sur les machines virtuelles ou les noeuds : le démarrage, l’extinction, la migration d’une VM entre deux noeuds, etc.
Les futures versions de PDM intégreront d’autres fonctionnalités plus avancées qui sont déjà disponibles dans PVE.
Fonctionnalités inter-cluster
Proxmox Datacenter Manager simplifie la migration de VMs entre plusieurs clusters Proxmox. Ceci était déjà possible au sein de PVE mais en ligne de commande uniquement.
Si vous avez déjà pratiqué la migration de VMs au sein d’un même cluster Proxmox avec plusieurs nœuds, vous ne serez pas dépaysés, la pratique est similaire.
Gestion des droits sous Proxmox Datacenter Manager
Comme expliqué en introduction, à terme, l’objectif de Proxmox DM est de permettre de gérer des clusters pour des utilisateurs disposant de droits divers et spécfiques.
A ce stade, la gestion d’utilisateurs et des ACLs n’est pas encore implémentée, seul l’administrateur qui installe la plateforme est en capacité d’accéder à PDM. Ce point est confirmé par ce post.
Nous pouvons néanmoins anticiper la future granularité dans la gestion des droits en observant les droits attribués actuellement à l’administrateur et listés ci-dessous (la liste des droits sera probablement plus riche in fine).
On peut aussi légitimement penser que les équipes Proxmox implémenteront une gestion des droits par groupes d’utilisateurs (fonctionnalité classique qui existe déjà au sein de l’interface de Proxmox VE).
Autres modes d’utilisation : via CLI ou API
L’une des nouveautés apportées par Proxmox DM réside dans la ligne de commande distante (CLI) !
Avec Proxmox VE, nous pouvions utiliser pvesh
(que l’on juge peu pratique car il nécessite de connaître l’API) ou des outils non officiels. Avec proxmox-datacenter-manager-client
, vous avez désormais la possibilité d’interroger l’API HTTP avec des lignes de commande simples telles que listées ci-dessous :
root@devel-pdm-1:~# proxmox-datacenter-manager-client help
Usage:
acl delete <path> <role> --auth-id <string> [OPTIONS]
acl list [OPTIONS]
acl update <path> <role> --auth-id <string> [OPTIONS]
help [{<command>}] [OPTIONS]
login
pbs datastore list <remote>
pbs datastore rrddata <remote> <datastore> <mode> <timeframe>
pbs node rrddata <remote> <mode> <timeframe>
pbs snapshot list <remote> <datastore> [OPTIONS]
pve lxc config <remote> <vmid> [OPTIONS]
pve lxc list <remote> [OPTIONS]
pve lxc migrate <remote> <vmid> <target> [OPTIONS]
pve lxc remote-migrate <remote> <vmid> <target> --map-bridge FROM:TO,... --map-storage FROM:TO,... [OPTIONS]
pve lxc rrddata <remote> <vmid> <mode> <timeframe>
pve lxc shutdown <remote> <vmid> [OPTIONS]
pve lxc start <remote> <vmid> [OPTIONS]
pve lxc stop <remote> <vmid> [OPTIONS]
pve node list <remote>
pve node rrddata <remote> <node> <mode> <timeframe>
pve qemu config <remote> <vmid> [OPTIONS]
pve qemu list <remote> [OPTIONS]
pve qemu migrate <remote> <vmid> <target> [OPTIONS]
pve qemu remote-migrate <remote> <vmid> <target> --map-bridge FROM:TO,... --map-storage FROM:TO,... [OPTIONS]
pve qemu rrddata <remote> <vmid> <mode> <timeframe>
pve qemu shutdown <remote> <vmid> [OPTIONS]
pve qemu start <remote> <vmid> [OPTIONS]
pve qemu stop <remote> <vmid> [OPTIONS]
pve resources <remote> [<kind>]
pve task list <remote> [OPTIONS]
pve task status <remote> <upid>
remote add <type> <id> --authid <string> --nodes <string> --token <string> [OPTIONS]
remote delete <id>
remote list
remote update <id> [OPTIONS]
remote version <id>
resources [OPTIONS]
user create <userid> [OPTIONS]
user delete <userid>
user list
user passwd <userid> [OPTIONS]
user tfa add <type> <description> [OPTIONS]
user tfa delete <id> [OPTIONS]
user tfa list [OPTIONS]
user update <userid> [OPTIONS]
Pour le moment, pas de debian, pas de champagne 🍾. En effet, il n’est pas encore possible d’installer le CLI sur d’autres distributions Linux que Debian. Pour y remédier, je vous ai concocté un petit conteneur Docker déployable sur n’importe quel OS/distribution lperdereau/proxmox-docker.
Si vous avez des besoins particuliers non couverts par les commandes en CLI, il est possible de contacter l’API HTTP directement (par exemple pour faire des statistiques et des contrôles qualité plus poussés sur vos VMs et vos noeuds).
Premières conclusions
Proxmox Datacenter Manager était attendu par les équipes dont les entreprises gèrent un grand nombre de clusters Proxmox VE.
Malgré une première version alpha encore limitée fonctionnellement, la solution est prometteuse, stable et elle peut d’ores et déjà être utilisée en production. Son usage est intuitif et il n’impacte pas l’infrastructure Proxmox existante.
Au delà de la vue multi-cluster centralisée, la principale nouvelle fonction est la possibilité de migrer des VMs entre des clusters Proxmox différents. Nous apprécions aussi particulièrement la CLI pour ceux qui n’aiment pas utiliser l’interface graphique pour gérer leurs clusters ou les allergiques à pvesh
.
Proxmox prévoit l’ajout de fonctionnalités intéressantes comme par exemple la mise à jour de nœuds PVE depuis PDM ou encore la configuration de réseaux SDN. Les outils Proxmox Backup Server et Proxmox Mail Gateway seront aussi intégrés à la solution. De notre côté, chez Enix, nous attendons plus particulièrement les fonctionnalités autour de la gestion des utilisateurs et des groupes.
Avec l’ajout des fonctionnalités prévues dans la RoadMap, Proxmox proposera un outil complet qui changera la manière de consommer et de gérer ses solutions de virtualisation. Ceci pourrait contribuer à séduire plus encore des utilisateurs historiques de VMWare et les encourager à migrer vers des environnements Open Source sans vendor lock-in comme Proxmox.
Ne ratez pas nos prochains articles DevOps et Cloud Native! Suivez Enix sur Linkedin!