Intégration Kubernetes
VergeOS fournit une intégration Kubernetes native via un pilote de stockage CSI et un Cloud Controller Manager, offrant aux clusters sur les VM VergeOS un stockage persistant, la gestion du cycle de vie des nœuds et des répartiteurs de charge.
Vue d’ensemble
VergeOS fournit une intégration Kubernetes native via un pilote de stockage CSI et un Cloud Controller Manager (CCM). Ces composants connectent tout cluster Kubernetes exécuté sur des VM VergeOS — qu’il soit provisionné via Rancher, kubeadm ou toute autre méthode — à la plateforme VergeOS sous-jacente.
Stockage persistant pour les pods Kubernetes via VergeOS vSAN
Gestion du cycle de vie des nœuds et intégration de l’équilibreur de charge
Prérequis
Un cluster Kubernetes exécuté sur des VM VergeOS (RKE2, K3s, kubeadm, etc.)
Une clé API VergeOS (générée dans les paramètres utilisateur)
kubectlethelmOutils CLIAccès au kubeconfig du cluster
Pilote CSI
Le pilote Container Storage Interface (CSI) permet aux pods Kubernetes de demander et de monter du stockage VergeOS en tant que volumes persistants. Il délègue directement les opérations de stockage à l’API VergeOS, en utilisant le vSAN pour ce pour quoi il a été conçu — déduplication, placement multi-niveaux et redondance distribuée.
Backends de stockage
Le pilote CSI prend en charge deux backends, servis tous deux par un seul binaire Go :
NAS
ReadWriteMany
Volumes EXT4 sur les services NAS VergeOS, exposés via NFS
Bloc
ReadWriteOnce
Disques de VM branchés à chaud sur des VM VergeOS via le vSAN
VM de pool de stockage bloc
Pour le stockage bloc, créez dans VergeOS une VM vide nommée k8spool. Elle n’a jamais besoin de démarrer — elle ne fait que stocker des disques blocs inactifs. L’ID de la VM est transmis au chart Helm pendant l’installation.
Installation
Le pilote CSI est distribué sous forme de chart Helm depuis le dépôt verge-io Helm et peut être installé via l’interface CLI Helm ou via l’interface Rancher Apps sur les clusters en aval. Voir Documentation et ressources ci-dessous pour les détails du chart, les valeurs Helm et les options de configuration.
Cloud Controller Manager
Le Cloud Controller Manager (CCM) est l’interface standard du fournisseur cloud Kubernetes pour VergeOS. Il gère la gestion du cycle de vie des nœuds et le provisionnement des équilibreurs de charge.
Fonctionnalités
Gestion des nœuds — Renseigne les métadonnées des nœuds Kubernetes (ID du fournisseur, type d’instance, IP internes) à partir des VM VergeOS. Détecte l’existence de la VM et son état d’alimentation pour la gestion du cycle de vie des nœuds.
Équilibrage de charge — Provisionne les règles NAT/de traduction VergeOS VNet pour
type : LoadBalancerles services. Alloue automatiquement des IP depuis un pool configurable et mappe les ports de service vers les ports de nœud.
Comment fonctionne le cycle de vie des nœuds
Le CCM implémente l’interface Kubernetes InstancesV2 :
InstanceMetadata — Résout un nœud Kubernetes en une VM VergeOS (par ID de fournisseur ou par nom), puis renvoie l’ID du fournisseur (
vergeos://<vm-id>), le type d’instance (<cpu>cpu-<ram>mb), et les adresses IP internes des NIC de la VMInstanceExists — Vérifie si la VM sous-jacente existe toujours dans VergeOS
InstanceShutdown — Indique si la VM est arrêtée
Comment fonctionne l’équilibrage de charge
Le CCM implémente l’interface Kubernetes LoadBalancer à l’aide de l’interface utilisant les règles VergeOS VNet :
EnsureLoadBalancer — Alloue une IP depuis le pool, puis crée une règle NAT VNet par port de service. Les règles traduisent
<allocated-ip>:<port>à<node-ips>:<nodePort>. AppelleApplyRulespour activer.UpdateLoadBalancer — Met à jour les IP cibles sur les règles existantes lorsque les nœuds changent
EnsureLoadBalancerDeleted — Supprime toutes les règles VNet du service et applique la modification
Installation
Le CCM est distribué sous forme de chart Helm, en complément du pilote CSI. Installez-le via l’interface CLI Helm ou via l’interface Rancher Apps sur le cluster en aval. Voir Documentation et ressources ci-dessous pour les détails du chart et les options de configuration.
Cluster Autoscaler
Le Kubernetes Cluster Autoscaler fonctionne avec les clusters basés sur VergeOS provisionnés via Rancher. Il ajuste automatiquement le nombre de nœuds dans un pool en fonction des demandes de ressources des pods en attente — en augmentant l’échelle lorsque les pods ne peuvent pas être planifiés et en la réduisant lorsque les nœuds sont sous-utilisés. Voir Documentation et ressources ci-dessous pour le lien vers le projet amont.
Comment ça fonctionne
L’autoscaler utilise l’API de Rancher pour gérer les pools de nœuds :
Montée en charge — Lorsque des pods sont en attente en raison de ressources insuffisantes, l’autoscaler augmente la taille du pool de nœuds. Rancher utilise ensuite le pilote Docker Machine pour provisionner de nouvelles VM VergeOS.
Réduction de l’échelle — Lorsque les nœuds sont sous-utilisés pendant une période configurable, l’autoscaler les cordonne, les vide et les supprime. Le pilote supprime les VM VergeOS sous-jacentes.
Résumé
VergeOS fournit trois composants Kubernetes qui fonctionnent ensemble avec tout cluster exécuté sur des VM VergeOS :
Pilote CSI — volumes persistants via VergeOS NAS (ReadWriteMany) et stockage bloc vSAN (ReadWriteOnce)
Cloud Controller Manager — gestion du cycle de vie des nœuds et
LoadBalancerServices pris en charge par les règles VergeOS VNetCluster Autoscaler — mise à l’échelle automatique des pools de nœuds pour les clusters provisionnés par Rancher
Tous les composants sont distribués sous forme de charts Helm depuis le dépôt verge-io et peuvent être installés via l’interface CLI Helm ou l’interface Rancher Apps.
Étapes suivantes
Nouveau sur Rancher sur VergeOS ? Consultez le guide Intégration Rancher pour le provisionnement des clusters, la préparation des VM de modèle et la configuration du pilote de nœud.
Vous avez déjà un cluster en cours d’exécution ? Ajoutez le dépôt Helm et explorez les charts disponibles :
Consultez les dépôts de projet ci-dessous pour les valeurs des charts, la référence de configuration et les notes de version.
Documentation et ressources
Pilote Container Storage Interface
Cloud Controller Manager
Dépôt du chart Helm
Autoscaler de cluster amont
Support
Si vous rencontrez des problèmes ou avez des demandes de fonctionnalités, veuillez ouvrir une issue sur le dépôt GitHub concerné :
Mis à jour
Ce contenu vous a-t-il été utile ?