> For the complete documentation index, see [llms.txt](https://docs.verge.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verge.io/learn-the-platform/es/modulo-10-laboratorios-de-escenarios/lab-multi-tenancy.md).

# Laboratorio: Multitenencia / Despliegue MSP

## Objetivo

Cree un entorno multiinquilino de Proveedor de Servicios Gestionados (MSP) en VergeOS. Creará inquilinos usando tanto el Asistente de Inquilinos como las Recetas de Inquilinos, configurará cuotas de recursos, configurará la red de los inquilinos (incluido el paso directo de Capa 2), verificará el aislamiento entre inquilinos y revisará los registros de auditoría y los informes de uso a nivel de host.

## Requisitos previos

* Completados todos los módulos anteriores (1–9)
* Acceso a un entorno VergeOS en ejecución con al menos 2 nodos
* Acceso de nivel administrador al sistema VergeOS del host
* Al menos 2 direcciones IP externas disponibles (IPs virtuales) para el acceso a la UI del inquilino
* Al menos 32 GB de RAM y 8 núcleos disponibles para la asignación al inquilino
* Familiaridad con los conceptos de red de VergeOS (redes internas, redes externas, VLANs)

## Dificultad

**Intermedio** — Requiere comprender la tenencia, la red y la gestión de recursos en VergeOS

## Tiempo estimado

**1,5 horas**

***

## Antecedentes: Arquitectura multiinquilino de VergeOS

Antes de comenzar el laboratorio, revise cómo implementa VergeOS la multi-tenencia:

```mermaid
graph TB
    subgraph "Sistema VergeOS del host"
        Host["Panel del host<br/>Administración del sistema"]
        ExtNet["Red externa<br/>IPs virtuales"]
        vSAN["Pool de almacenamiento vSAN<br/>Discos físicos compartidos"]
    end
    subgraph "Inquilino A (VDC)"
        TA_UI["UI del inquilino A<br/>URL única"]
        TA_Net["Redes del inquilino A<br/>Totalmente encapsuladas"]
        TA_Store["Almacenamiento del inquilino A<br/>Volumen aislado"]
        TA_VMs["VMs del inquilino A"]
    end
    subgraph "Inquilino B (VDC)"
        TB_UI["UI del inquilino B<br/>URL única"]
        TB_Net["Redes del inquilino B<br/>Totalmente encapsuladas"]
        TB_Store["Almacenamiento del inquilino B<br/>Volumen aislado"]
        TB_VMs["VMs del inquilino B"]
    end
    Host --> TA_UI
    Host --> TB_UI
    ExtNet --> TA_UI
    ExtNet --> TB_UI
    vSAN --> TA_Store
    vSAN --> TB_Store
    TA_Net -.- |"Sin tráfico entre inquilinos"| TB_Net
```

**Principios clave:**

* Cada **inquilino** es un Centro de Datos Virtual (VDC) completo con su propia UI, redes, almacenamiento y administración de usuarios
* **Aislamiento** se aplica mediante encapsulación total de la red y volúmenes de almacenamiento exclusivos, no mediante segmentación basada en VLAN
* **Multi-tenencia anidada** permite a los inquilinos crear subinquilinos a partir de sus propios recursos asignados
* **Seguimiento de recursos** proporciona estadísticas de uso por inquilino, incluidas métricas de deduplicación para facturación y planificación de capacidad
* **Recetas de inquilinos** automatizan el despliegue de configuraciones de inquilinos estandarizadas para una incorporación rápida

***

## Pasos

### Parte 1: Crear un inquilino mediante el Asistente

Use el Asistente de Inquilinos integrado para crear manualmente su primer inquilino.

1. **Navegue a Inquilinos:**
   * Desde la UI del host de VergeOS, haga clic en **Inquilinos** en el menú superior
   * Haga clic en **+ Nuevo inquilino**
   * En la parte superior izquierda, seleccione **Desde el asistente** y haga clic en **Siguiente**
2. **Configure la configuración del inquilino:**
   * **Nombre:** Introduzca `MSP-Tenant-A`
   * **Contraseña del usuario administrador:** Establezca una contraseña segura (mínimo 8 caracteres) — anótela para usarla más adelante
   * **Requerir cambio de contraseña:** Déjelo sin marcar para fines del laboratorio
   * **Descripción:** Introduzca `Inquilino de laboratorio creado mediante el asistente`
   * **Exponer instantáneas del sistema:** Déjelo marcado (permite al inquilino explorar las instantáneas del host)
   * **Acceso al tema:** Selecciona `No puede crear nuevos temas, acceso de solo lectura a todos los temas del host`
   * Haga clic en **Enviar** para continuar a la configuración del nodo
3. **Configure el nodo del inquilino:**
   * **Núcleos:** Selecciona `4` núcleos
   * **RAM:** Selecciona `8192 MB` (8 GB)
   * **Clúster:** Déjelo en `--Predeterminado--`
   * **Ante una pérdida de energía:** Selecciona `Último estado`
   * Haga clic en **Enviar** para continuar a la configuración del almacenamiento
4. **Configure el almacenamiento del inquilino:**
   * **Nivel:** Seleccione su nivel de almacenamiento principal (normalmente Nivel 1)
   * **Aprovisionado:** Introduzca `100 GB`
   * Haga clic en **Enviar** para continuar a la gestión de la UI
5. **Asignar IP externa:**
   * Desde el **Asignar IP externa** desplegable, seleccione una IP virtual disponible
   * Si no hay IP virtuales disponibles, haga clic en **Crear una nueva IP externa**:
     * **Red:** Selecciona tu red externa
     * **Tipo:** IP virtual
     * **Dirección IP:** Introduzca una IP disponible o deje el campo en blanco para la asignación automática
     * **Propietario:** Selecciona `MSP-Tenant-A`
   * Haga clic en **Enviar** para finalizar
6. **Aplique las reglas de red y encienda:**
   * En el panel del inquilino, haga clic en el botón naranja **Necesita aplicar reglas** mensaje para aplicar las reglas del firewall
   * Haga clic en **Encender** en el menú izquierdo para iniciar el inquilino
   * Espere a que el inquilino arranque — el panel debería mostrar un estado en ejecución
7. **Verifique el acceso al inquilino:**
   * Haga clic en **Conectarse a la UI** desde el menú izquierdo del panel del inquilino
   * Inicie sesión con `admin` y la contraseña que configuró
   * Verifique que el inquilino tenga sus propias vistas independientes de panel, red y almacenamiento

### Parte 2: Crear un inquilino mediante una receta

Use una receta de inquilino para un despliegue automatizado y estandarizado.

1. **Explore las recetas de inquilino disponibles:**
   * Desde la UI del host, vaya a **Repositorios** > **Recetas de inquilino**
   * Explore los catálogos disponibles — observe las recetas y sus descripciones
   * Si no existen recetas de inquilino, creará una a partir de MSP-Tenant-A
2. **Cree una receta de inquilino (si es necesario):**
   * Primero, **apague** MSP-Tenant-A (debe estar detenido para servir como base de la receta)
   * Vaya a **Repositorios** > **Recetas de inquilino** y haga clic en **Nuevo**
   * Configure la receta:
     * **Nombre:** `MSP-Standard-Tenant`
     * **Descripción:** `Inquilino MSP estándar con 4 núcleos, 8 GB de RAM y 100 GB de almacenamiento`
     * **Catálogo:** Seleccione o cree un catálogo (por ejemplo, `Plantillas MSP`)
     * **Inquilino:** Selecciona `MSP-Tenant-A`
   * Haga clic en **Enviar**
3. **Revise y personalice las preguntas de la receta:**
   * En el panel de la receta del inquilino, haga clic en **Preguntas**
   * Revise las preguntas del sistema generadas automáticamente — observe las secciones:
     * **Sección Inquilino:** Nombre, URL, credenciales de administrador, acceso al tema
     * **Sección Nodos:** Cantidad de núcleos, asignación de RAM
     * **Sección Red:** Direcciones IP externas
   * Habilite cualquier pregunta desactivada que desee mostrar (por ejemplo, `YB_USER_EMAIL`)
   * Haga clic en **Publicar** para hacer disponible la receta
4. **Despliegue un inquilino a partir de la receta:**
   * Vaya a **Inquilinos** > **+ Nuevo inquilino**
   * Selecciona el **Plantillas MSP** catálogo de la izquierda
   * Elija la `MSP-Standard-Tenant` receta y haga clic en **Siguiente**
   * Rellene las preguntas de la receta:
     * **Nombre:** `MSP-Tenant-B`
     * **Contraseña de administrador:** Establezca una contraseña
     * **Núcleos del nodo 1:** `4`
     * **RAM del nodo 1:** `8192`
     * Asigne una dirección IP externa
   * Haga clic en **Enviar** para crear el inquilino
   * Encienda MSP-Tenant-B y verifique que arranque correctamente
5. **Compare los dos métodos de creación:**

   | Aspecto           | Asistente                                       | Recetas                                             |
   | ----------------- | ----------------------------------------------- | --------------------------------------------------- |
   | Velocidad         | 5–10 minutos de configuración manual            | 1–2 minutos con valores predeterminados precargados |
   | Consistencia      | Depende de la precisión del operador            | Configuración base idéntica garantizada             |
   | Personalización   | Flexibilidad total en el momento de la creación | Controlado mediante las preguntas de la receta      |
   | Ideal para        | Inquilinos únicos o puntuales                   | Implementaciones estandarizadas y repetibles        |
   | Incluye VMs/redes | Solo la infraestructura base del inquilino      | Puede incluir VMs y redes preconfiguradas           |

### Parte 3: Configurar cuotas de recursos

Practique la gestión de la asignación de recursos de los inquilinos desde el host.

1. **Revise la asignación actual de recursos:**
   * Desde el panel del host, vaya a **Inquilinos**
   * Haga clic en **MSP-Tenant-A** para abrir su panel
   * Observe los recursos asignados: núcleos, RAM y almacenamiento aprovisionado
   * Desplácese hasta la **Almacenamiento** sección y observe la asignación de nivel
2. **Modifique los recursos del inquilino:**
   * Con MSP-Tenant-A seleccionado, haga clic en **Nodos** en el menú de la izquierda
   * Haga doble clic en el nodo del inquilino, luego haga clic en **Editar**
   * Aumenta **Núcleos** a `6` y **RAM** a `12288 MB` (12 GB)
   * Haga clic en **Enviar**
   * Nota: los núcleos y la RAM del nodo del inquilino son intercambiables en caliente — los cambios surten efecto de inmediato, sin reiniciar el inquilino ni sus cargas de trabajo. El sistema valida que los recursos solicitados estén disponibles en el host/clúster cuando los envía.
3. **Añada almacenamiento a un inquilino:**
   * Desde el panel de MSP-Tenant-A, haga clic en **Agregar almacenamiento** en el menú de la izquierda
   * Si hay un segundo nivel disponible, aprovisione `50 GB` en un nivel diferente
   * De lo contrario, edite el nivel existente y aumente la cantidad aprovisionada a `150 GB`
   * Nota: las cuotas de almacenamiento en VergeOS son **límites flexibles** — el sistema registra alertas cuando un inquilino se acerca a su umbral aprovisionado, pero no bloquea de forma estricta las escrituras en el límite exacto
   * Verifique que el cambio de almacenamiento se refleje en el panel del inquilino
4. **Comprenda los límites de recursos:**
   * Tenga en cuenta que el sistema host permite el sobreaprovisionamiento de recursos — puede asignar a los inquilinos más núcleos y RAM de los que hay físicamente disponibles
   * Sin embargo, todos los recursos aprovisionados deben estar físicamente disponibles para **encender** un nodo de inquilino
   * Documente los recursos totales asignados entre ambos inquilinos frente a los recursos totales disponibles del host

### Parte 4: Configurar la red de los inquilinos

Configure la red avanzada, incluido el paso directo de Capa 2.

1. **Revise la red predeterminada del inquilino:**
   * Inicie sesión en la UI de MSP-Tenant-A
   * Vaya a **Redes** — observe las redes creadas automáticamente:
     * Una **Red interna** para las cargas de trabajo del inquilino
     * Una **Red externa** proporcionando conectividad al host
   * Observe cómo la pila de red del inquilino está totalmente encapsulada e independiente
2. **Configure un paso directo de red de Capa 2:**
   * Vuelva a la **host** interfaz de usuario de VergeOS
   * Vaya a **Inquilinos** > seleccione `MSP-Tenant-A` > **Redes de Capa 2** > **Nuevo**
   * Configure el paso directo de Capa 2:
     * **Red física:** Seleccione la red física que contiene la VLAN a pasar
     * **ID de VLAN:** Introduzca la etiqueta VLAN que se pasará al inquilino
     * **Habilitado:** Establecer en `Sí`
   * Haga clic en **Enviar**
   * VergeOS crea automáticamente las correspondientes **Externa** y **Física** redes dentro del inquilino
3. **Verifique la conectividad de Capa 2 dentro del inquilino:**
   * Inicie sesión en la UI de MSP-Tenant-A
   * Vaya a **Redes** — confirme que las nuevas redes Externa y Física se crearon automáticamente
   * Cree una VM de prueba dentro del inquilino y conecte su NIC a la red pasada a través
   * Verifique que la VM pueda obtener una dirección IP de la VLAN (si DHCP está disponible) o configure una IP estática y pruebe la conectividad
4. **Documente la arquitectura de red:**

   | Tipo de red                   | Propósito                                                                | Administrado por  |
   | ----------------------------- | ------------------------------------------------------------------------ | ----------------- |
   | Red interna                   | Comunicación de cargas de trabajo del inquilino (totalmente encapsulada) | Inquilino         |
   | Red externa del inquilino     | Conectividad del inquilino al host                                       | Inquilino         |
   | Externa del host / IP virtual | Conectividad con el exterior                                             | Host              |
   | Paso directo de Capa 2        | Acceso directo a VLAN desde la infraestructura física                    | Host + automático |

### Parte 5: Verificar el aislamiento de los inquilinos

Confirme que los inquilinos están realmente aislados entre sí.

1. **Pruebe el aislamiento de red:**
   * Inicie sesión en **MSP-Tenant-A** y cree una VM sencilla (por ejemplo, una VM Linux ligera)
   * Asígnele una dirección IP interna (por ejemplo, `10.0.0.10/24`)
   * Inicie sesión en **MSP-Tenant-B** y cree una VM similar
   * Asígnele la **misma** dirección IP interna (`10.0.0.10/24`)
   * Verifique que ambas VMs arranquen sin conflicto — como cada inquilino tiene una red completamente encapsulada, se permite el direccionamiento IP idéntico
   * Desde la VM del Inquilino A, intente hacer ping a la IP externa del Inquilino B — el tráfico debería estar bloqueado de forma predeterminada (no existe enrutamiento entre inquilinos)
2. **Verifique el aislamiento del almacenamiento:**
   * Desde el panel del host, revise la asignación de almacenamiento de cada inquilino
   * Confirme que cada inquilino tiene su propio volumen de almacenamiento dedicado
   * Verifique que el Inquilino A no puede ver ni acceder al almacenamiento del Inquilino B
   * Inicie sesión en cada inquilino y verifique que los paneles de almacenamiento muestran solo su propia capacidad aprovisionada
3. **Pruebe el aislamiento administrativo:**
   * Inicie sesión en MSP-Tenant-A como administrador — verifique que no puede ver MSP-Tenant-B en ningún menú
   * Inicie sesión en MSP-Tenant-B como administrador — verifique que no puede ver MSP-Tenant-A
   * Desde el **host**, verifique que puede ver y gestionar ambos inquilinos
   * Documente el modelo de aislamiento de tres capas:
     * **Red:** Encapsulación completa de Capa 2/3 — no hay dominios de difusión compartidos
     * **Almacenamiento:** Volúmenes de almacenamiento exclusivos por inquilino
     * **Administrativo:** Gestión de usuarios y UI independientes por inquilino
4. **Pruebe la aplicación de cuotas:**
   * En MSP-Tenant-A, intente crear una VM que supere los recursos aprovisionados (por ejemplo, solicitar más RAM de la asignada)
   * Observe cómo VergeOS aplica los límites de recursos — la VM debería fallar al encenderse si los recursos son insuficientes
   * Documente el mensaje de error y el comportamiento

### Parte 6: Revisar los registros de auditoría y los informes de uso

Use la supervisión a nivel de host para rastrear la actividad del inquilino.

1. **Revise los registros de auditoría del host:**
   * Desde el panel del host, vaya a **Sistema** > **Registros**
   * Filtre los eventos relacionados con inquilinos — busque:
     * Eventos de creación de inquilinos
     * Eventos de encendido/apagado de inquilinos
     * Eventos de modificación de recursos
   * Observe las marcas de tiempo, usuarios y acciones registradas
   * Verifique que las acciones administrativas realizadas dentro de un inquilino (por ejemplo, la creación de VMs) sean visibles a nivel de host
2. **Genere informes de uso del inquilino:**
   * Vaya a **Inquilinos** y seleccione un inquilino
   * Haga clic en **Informes de uso** (o vaya a la sección de informes)
   * Revise las métricas disponibles:
     * Utilización de CPU a lo largo del tiempo
     * Consumo de RAM
     * Utilización de almacenamiento y estadísticas de deduplicación
     * Rendimiento de red
   * Compare el uso entre MSP-Tenant-A y MSP-Tenant-B
   * Considere cómo estos informes respaldarían la facturación en un entorno MSP real
3. **Supervise el estado de los inquilinos desde el host:**
   * Desde el panel del host, revise los indicadores de estado de los inquilinos
   * Compruebe el estado de los nodos, el estado del almacenamiento y el estado de la red de cada inquilino
   * Vaya a **Inquilinos** > **Supervisión** para ver el estado agregado de los inquilinos
   * Documente qué métricas son más importantes para las operaciones MSP

***

## Limpieza

Al terminar el laboratorio:

1. Apague todas las VMs dentro de cada inquilino
2. Apague ambos inquilinos (MSP-Tenant-A y MSP-Tenant-B)
3. Elimine el paso directo de red de Capa 2 del host
4. Elimine ambos inquilinos del host (Inquilinos > seleccionar inquilino > Eliminar)
5. Elimine la receta del inquilino si se creó (Repositorios > Recetas de inquilino > eliminar)
6. Libere cualquier IP virtual que se haya asignado a los inquilinos
7. Aplique reglas en la red externa para limpiar las entradas del firewall

***

## Verificación

Su laboratorio de Multi-tenencia / MSP estará completo cuando pueda responder **sí** a todo lo siguiente:

* [ ] Se creó correctamente un inquilino usando el Asistente de Inquilinos (MSP-Tenant-A)
* [ ] Se creó o desplegó correctamente un inquilino usando una Receta de Inquilino (MSP-Tenant-B)
* [ ] Configuró y modificó cuotas de recursos (núcleos, RAM, almacenamiento) para un inquilino
* [ ] Configuró un paso directo de red de Capa 2 a un inquilino y verificó la conectividad
* [ ] Verificó el aislamiento de red — IPs idénticas en distintos inquilinos coexisten sin conflicto
* [ ] Verificó el aislamiento del almacenamiento — los inquilinos no pueden acceder a los volúmenes de almacenamiento de los demás
* [ ] Verificó el aislamiento administrativo — los inquilinos no pueden ver los recursos de los demás
* [ ] Probó la aplicación de cuotas de recursos — las VMs no arrancan cuando superan la asignación
* [ ] Revisó los registros de auditoría del host en busca de eventos relacionados con inquilinos
* [ ] Generó y revisó informes de uso del inquilino para métricas de facturación
* [ ] Limpié todos los recursos del laboratorio (inquilinos, recetas, IPs virtuales, redes de Capa 2)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.verge.io/learn-the-platform/es/modulo-10-laboratorios-de-escenarios/lab-multi-tenancy.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
