La estructura jerárquica proporciona un medio para aislar la configuración de redes y seguridad en todos los tenants en una sola implementación de NSX. Para admitir varios tenants, NSX4.0.1.1 introduce organizaciones y proyectos.

El modelo de datos de directiva de NSX es jerárquico y tiene dos ramas creadas por el sistema:

  • /infra, que administra el administrador de la infraestructura.
  • /orgs/default, que contiene las construcciones de varios tenants.
Nota: La configuración de varios tenants para la implementación de NSX es opcional y su implementación no tiene ningún impacto en la configuración de NSX existente.

El siguiente diagrama muestra el modelo de datos para varios tenants.

Modelo de datos

Organizaciones

Una implementación de NSX tiene una organización predeterminada. No puede crear, modificar ni eliminar la organización. El sistema crea el objeto Org al iniciarse. La organización puede acceder a todas las puertas de enlace de nivel 0 y los clústeres de Edge del sistema.

El sistema crea el objeto Org con el siguiente identificador:

/orgs/default

Proyectos

En la organización, puede crear un proyecto para cada tenant que desee administrar desde el entorno de NSX. Los proyectos se crean en /orgs/default para admitir conjuntos de configuración independientes para cada tenant:

  • Los proyectos ofrecen el modelo jerárquico de políticas en un contexto aislado específico. Las configuraciones de proyectos se establecen en /orgs/default/projects/<project-id>/infra.
  • No se pueden crear puertas de enlace de nivel 0 ni clústeres de Edge en un proyecto. El administrador empresarial puede compartir puertas de enlace de nivel 0 y clústeres de Edge desde el espacio /infra con la organización que luego está disponible para los proyectos de la organización.
  • Los proyectos tienen acceso a algunos de los objetos y configuraciones que se han compartido desde el espacio de /infra.
  • Puede crear reglas que se apliquen a las máquinas virtuales de un proyecto desde el espacio infra. Para crear estas reglas desde el espacio infra, aproveche los grupos predeterminados del proyecto o cree grupos con pertenencia dinámica o pertenencia estática de máquina virtual.
  • Además de la creación de reglas desde el espacio infra, no se admite la configuración de otros recursos de proyecto desde el espacio infra. Por ejemplo, no se pueden crear grupos en la organización mediante miembros estáticos de proyectos que no sean máquinas virtuales o grupos predeterminados del proyecto. No se admite la configuración de puertas de enlace de nivel 1 que pertenezcan a un proyecto desde el espacio infra. Los recursos del proyecto deben configurarse desde dentro del proyecto.

Puede realizar la siguiente llamada API para crear un proyecto en la organización:

PATCH /policy/api/v1/orgs/default/projects/<project-id>

Al crear un proyecto, especifique la puerta de enlace de nivel 0 y el clúster de Edge que utilizará el proyecto. Utilice esta puerta de enlace de nivel 0 para todas las configuraciones dentro de ese proyecto. El clúster de Edge asignado al proyecto debe pertenecer a la zona de transporte predeterminada. En esta zona de transporte se crean las redes del proyecto.

Solicitud de ejemplo:

URL:

PATCH https:/{{nsx-manager-ip}}/policy/api/v1/orgs/default/projects/Project-Dev

Cuerpo:

{
    "site_infos": [
        {
            "edge_cluster_paths": [
                "/infra/sites/default/enforcement-points/default/edge-clusters/ca1b2a4f-057d-42da-b3b8-cf218b1c1a51"
            ],
            "site_path": "/infra/sites/default"
        }
    ],
    "tier_0s": [
        "/infra/tier-0s/Tier0GatewayTest"
    ]
}

Al crear un proyecto, se crean algunos objetos predeterminados, como un dominio predeterminado, directivas de seguridad y grupos predeterminados. Según sus requisitos, puede crear varios proyectos.

Una vez que se crea un proyecto, puede realizar llamadas API para completar configuraciones de redes para DHCP, puertas de enlace de nivel 1 y segmentos, entre otros.

Nota: Para permitir que el administrador del proyecto conecte segmentos o puertas de enlace de nivel 1 a una puerta de enlace de nivel 0 o a un VRF de nivel 0; asigne una función personalizada adicional al usuario con la función de administrador de proyectos. La función personalizada que asigne deberá tener acceso de lectura a la puerta de enlace de nivel 0 del sistema. Esto permite al administrador del proyecto ver todas las puertas de enlace de nivel 0 en el sistema. Consulte Crear o administrar funciones personalizadas para obtener más información sobre cómo crear una función personalizada.

Al crear la función personalizada, seleccione Redes y restablezca todos los permisos a Ninguno. En el cuadro de diálogo Establecer permisos, seleccione Redes > Conectividad y establezca los permisos Puerta de enlace de nivel 0 en solo lectura.

Cuotas de recursos

Puede definir cuotas para recursos en un proyecto usando restricciones. Las cuotas permiten definir un límite máximo en recursos específicos para un proyecto determinado. Los límites predeterminados del sistema se aplican si no hay restricciones definidas.

Realice la siguiente llamada API para definir restricciones para un proyecto:
PATCH /policy/api/v1/infra/constraints/<contraint-id>
Solicitud de ejemplo:
URL:
PATCH https://{{nsx-manager-ip}}/policy/api/v1/infra/constraints/c-1
Cuerpo:
{
    "display_name": "TestConstraint",
    "constraint_expression": {
        "resource_type": "EntityInstanceCountConstraintExpression",
        "count": 10,
        "operator": "<="
    },
    "target": {
        "path_prefix": "/orgs/default/projects/project-1",
        "target_resource_type": "Group"
    }
}