Aller au contenu principal
Version: 3.0.0-alpha (Diátaxis)

Concepts — Machines virtuelles

Architecture

Hikube fournit des machines virtuelles (VM) grâce à KubeVirt, une technologie qui permet d'exécuter des VM directement au sein de l'infrastructure Kubernetes. Chaque VM est gérée comme une ressource Kubernetes native, offrant une intégration transparente avec l'écosystème cloud-native.


Terminologie

TermeDescription
VMInstanceRessource Kubernetes (apps.cozystack.io/v1alpha1) représentant une machine virtuelle. Gère le cycle de vie, les disques, le réseau et le cloud-init.
VMDiskRessource Kubernetes représentant un disque virtuel. Peut être créé à partir d'une image Golden, d'une source HTTP ou vide.
Golden ImageImage OS pré-configurée et optimisée pour KubeVirt (AlmaLinux, Rocky, Debian, Ubuntu, etc.).
Instance TypeProfil de ressources CPU/RAM défini par une série (S, U, M) et une taille.
cloud-initMécanisme d'initialisation automatique des VM au premier démarrage (utilisateurs, packages, scripts).
PortListMéthode d'exposition réseau qui expose des ports spécifiques avec firewalling automatique sur l'IP dédiée (recommandé).
WholeIPMéthode d'exposition réseau qui attribue une IP publique dédiée à la VM.

Types d'instances

Hikube propose trois séries d'instances avec des ratios CPU/RAM différents :

SérieRatio CPU:RAMCas d'usage
S (Standard)1:2Workloads généraux, CPU partagé, burstable
U (Universal)1:4Workloads équilibrés, plus de mémoire
M (Memory)1:8Applications memory-intensive (caches, bases de données)

Chaque série va de small (1-2 vCPU) à 8xlarge (32-64 vCPU).


Stockage

Deux classes de stockage sont disponibles pour les disques des VM :

ClasseCaractéristiqueCas d'usage
localStockage sur le nœud physique, performances maximalesDonnées éphémères, caches, tests
replicatedRéplication sur plusieurs nœuds/régionsDonnées de production, haute disponibilité
astuce

Utilisez storageClass: replicated pour les disques système en production. Le stockage local offre de meilleures performances I/O mais ne survit pas à une panne de nœud.


Réseau et exposition

PortList (recommandé)

Le mode PortList expose uniquement les ports spécifiés via une IP dédiée à la VM avec firewalling automatique sur le Service. C'est la méthode recommandée car elle :

  • Limite la surface d'attaque
  • Attribue une IP dédiée à la VM
  • Supporte les ports TCP standard (22, 80, 443, etc.)

WholeIP

Le mode WholeIP attribue une IP publique dédiée avec tous les ports ouverts. Utile quand :

  • La VM doit être accessible sur des ports dynamiques
  • Un protocole nécessite une IP dédiée (VPN, SIP, etc.)
  • La VM sert de gateway ou de VPN

Cycle de vie d'une VM

Les VM Hikube supportent :

  • Démarrage/arrêt via le champ spec.runStrategy
  • Live migration transparente lors de maintenances
  • Auto-restart en cas de panne du nœud hôte
  • Snapshots pour la sauvegarde ponctuelle

Isolation et sécurité

Chaque VM bénéficie d'une isolation multi-niveaux :

  • Isolation kernel : KubeVirt exécute chaque VM dans son propre processus QEMU/KVM
  • Isolation réseau : pare-feu distribué entre les tenants
  • Isolation stockage : chaque disque est un volume dédié

Limites et quotas

ParamètreLimite
vCPU par VMJusqu'à 64 (série S s1.8xlarge)
RAM par VMJusqu'à 256 GB (série M m1.8xlarge)
Disques par VMMultiples (système + données)
Taille disqueVariable, selon le quota du tenant

Pour aller plus loin

  • Overview : présentation détaillée du service
  • Référence API : liste complète des paramètres VMInstance et VMDisk