For the complete documentation index, see llms.txt. This page is also available as Markdown.

Integración con Kubernetes

VergeOS ofrece integración nativa con Kubernetes mediante un controlador de almacenamiento CSI y un Cloud Controller Manager, brindando a los clústeres en VMs de VergeOS almacenamiento persistente, gestión del ciclo de vida de nodos y balanceadores de carga.

Descripción general

VergeOS proporciona integración nativa con Kubernetes a través de un controlador de almacenamiento CSI y un Cloud Controller Manager (CCM). Estos componentes conectan cualquier clúster de Kubernetes que se ejecute en VMs de VergeOS — ya sea aprovisionado mediante Rancher, kubeadm o cualquier otro método — con la plataforma subyacente VergeOS.

Componente
Propósito

Controlador CSI

Almacenamiento persistente para pods de Kubernetes mediante VergeOS vSAN

Cloud Controller Manager

Gestión del ciclo de vida de nodos e integración con balanceador de carga

Requisitos previos

  • Un clúster de Kubernetes ejecutándose en VMs de VergeOS (RKE2, K3s, kubeadm, etc.)

  • Una clave de API de VergeOS (generada en Configuración de usuario)

  • kubectl y helm Herramientas de CLI

  • Acceso al kubeconfig del clúster

Certificados autofirmados

Si el entorno VergeOS usa un certificado autofirmado, establezca vergeos.verifySSL=false al instalar el controlador CSI y los charts Helm de CCM. Este es el valor predeterminado, pero conviene tenerlo en cuenta si lo cambiamos más adelante.


Controlador CSI

El controlador de la interfaz de almacenamiento de contenedores (CSI) permite que los pods de Kubernetes soliciten y monten almacenamiento de VergeOS como volúmenes persistentes. Delega las operaciones de almacenamiento directamente a la API de VergeOS, usando vSAN para lo que fue diseñado: deduplicación, colocación multinivel y redundancia distribuida.

Backends de almacenamiento

El controlador CSI admite dos backends, ambos servidos por un único binario Go:

Backend
Modo de acceso
Descripción

NAS

ReadWriteMany

Volúmenes EXT4 en los servicios NAS de VergeOS, expuestos por NFS

Bloque

ReadWriteOnce

Unidades de VM conectadas en caliente a VMs de VergeOS a través de vSAN

¿Por qué no Longhorn?

Longhorn ejecuta su propio motor de almacenamiento replicado en Kubernetes, superponiendo replicación, instantáneas y programación sobre el hipervisor. En VergeOS, el controlador CSI nativo encaja mejor:

  • Sin doble replicación — la arquitectura de espejado distribuido de vSAN ya proporciona redundancia de datos

  • Deduplicación en línea — la deduplicación de vSAN es global en todo el clúster; los volúmenes de Longhorn son blobs opacos que no pueden participar

  • Ubicación multinivel — los volúmenes se ubican en el nivel correcto de vSAN (NVMe, SSD, HDD) según la StorageClass

  • Gestión unificada — los volúmenes aparecen en la interfaz de VergeOS junto con VMs, instantáneas y recursos compartidos NAS

VM de pool de almacenamiento en bloque

Para almacenamiento en bloque, cree una VM vacía en VergeOS llamada k8spool. Nunca necesita arrancar: solo alberga unidades de bloque inactivas. El ID de la VM se pasa al chart de Helm durante la instalación.

Instalación

El controlador CSI se distribuye como un chart de Helm desde el repositorio verge-io de Helm y se puede instalar mediante la CLI de Helm o a través de la Rancher Apps UI en clústeres descendentes. Consulte Documentación y recursos a continuación para detalles del chart, valores de Helm y opciones de configuración.


Cloud Controller Manager

El Cloud Controller Manager (CCM) es la interfaz estándar del proveedor de nube de Kubernetes para VergeOS. Se encarga de la gestión del ciclo de vida de los nodos y del aprovisionamiento del balanceador de carga.

Funciones

  • Gestión de nodos — Rellena los metadatos del nodo de Kubernetes (ID de proveedor, tipo de instancia, IP internas) a partir de VMs de VergeOS. Detecta la existencia de la VM y su estado de energía para la gestión del ciclo de vida del nodo.

  • Balanceo de carga — Aprovisiona reglas NAT/traducción de VergeOS VNet para type: LoadBalancer Servicios. Asigna IPs de un grupo configurable y mapea automáticamente los puertos del servicio a los puertos de nodo.

Cómo funciona el ciclo de vida de los nodos

La CCM implementa la InstancesV2 interfaz:

  1. InstanceMetadata — Resuelve un nodo de Kubernetes a una VM de VergeOS (por ID de proveedor o nombre), luego devuelve el ID de proveedor (vergeos://<vm-id>), el tipo de instancia (<cpu>cpu-<ram>mb), y las direcciones IP internas de las NIC de la VM

  2. InstanceExists — Comprueba si la VM subyacente aún existe en VergeOS

  3. InstanceShutdown — Indica si la VM está apagada

Cómo funciona el balanceo de carga

La CCM implementa la LoadBalancer interfaz usando reglas de VergeOS VNet:

  1. EnsureLoadBalancer — Asigna una IP del grupo y luego crea una regla NAT de VNet por cada puerto del servicio. Las reglas traducen <allocated-ip>:<port> en <node-ips>:<nodePort>. Llama a ApplyRules para activar.

  2. UpdateLoadBalancer — Actualiza las IP de destino en las reglas existentes cuando cambian los nodos

  3. EnsureLoadBalancerDeleted — Elimina todas las reglas de VNet para el servicio y aplica el cambio

Instalación

La CCM se distribuye como un chart de Helm junto con el controlador CSI. Instálela mediante la CLI de Helm o a través de la interfaz de usuario de Rancher Apps en el clúster descendente. Consulte Documentación y recursos a continuación para detalles del chart y opciones de configuración.


Escalador automático de clúster

El escalador automático de clúster de Kubernetes funciona con clústeres respaldados por VergeOS aprovisionados mediante Rancher. Ajusta automáticamente el número de nodos en un pool según las solicitudes de recursos pendientes de los pods: escala hacia arriba cuando los pods no pueden programarse y hacia abajo cuando los nodos están infrautilizados. Consulte Documentación y recursos a continuación para el enlace al proyecto upstream.

Cómo funciona

El autoscaler utiliza la API de Rancher para gestionar los pools de nodos:

  1. Escalar hacia arriba — Cuando los pods quedan pendientes por recursos insuficientes, el autoscaler aumenta el tamaño del pool de nodos. Rancher luego usa el controlador Docker Machine para aprovisionar nuevas VMs de VergeOS.

  2. Escalar hacia abajo — Cuando los nodos están infrautilizados durante un período configurable, el autoscaler los cordona, vacía y elimina. El controlador elimina las VMs de VergeOS subyacentes.


Resumen

VergeOS proporciona tres componentes de Kubernetes que funcionan junto con cualquier clúster que se ejecute en VMs de VergeOS:

  • Controlador CSI — volúmenes persistentes mediante VergeOS NAS (ReadWriteMany) y almacenamiento en bloque vSAN (ReadWriteOnce)

  • Cloud Controller Manager — gestión del ciclo de vida de nodos y LoadBalancer Servicios respaldados por reglas de VergeOS VNet

  • Escalador automático de clúster — escalado automático de pools de nodos para clústeres aprovisionados por Rancher

Todos los componentes se distribuyen como charts de Helm desde el verge-io repositorio y pueden instalarse mediante la CLI de Helm o la interfaz de usuario de Rancher Apps.

Siguientes pasos

  • ¿Es nuevo en Rancher en VergeOS? Consulte la guía de Integración con Rancher para el aprovisionamiento de clústeres, la preparación de VMs plantilla y la configuración del controlador de nodos.

  • ¿Ya tiene un clúster en ejecución? Añada el repositorio de Helm y explore los charts disponibles:

  • Visite los repositorios del proyecto a continuación para valores de chart, referencia de configuración y notas de la versión.

Documentación y recursos

Repositorio
Descripción

csi-vergeos

Controlador de la interfaz de almacenamiento de contenedores

Cloud Controller Manager

helm-charts

Repositorio de charts de Helm

Escalador automático de clúster upstream

Soporte

Si encuentra problemas o tiene solicitudes de funciones, abra un issue en el repositorio de GitHub correspondiente:

Última actualización

¿Te fue útil?