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.
El siguiente diagrama muestra el modelo de datos para varios tenants.
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/defaultProyectos
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 espacioinfra
, 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 espacioinfra
. 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.
Al crear la función personalizada, seleccione Redes y restablezca todos los permisos a Ninguno. En el cuadro de diálogo Establecer permisos, seleccione 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.
PATCH /policy/api/v1/infra/constraints/<contraint-id>Solicitud de ejemplo:
PATCH https://{{nsx-manager-ip}}/policy/api/v1/infra/constraints/c-1Cuerpo:
{ "display_name": "TestConstraint", "constraint_expression": { "resource_type": "EntityInstanceCountConstraintExpression", "count": 10, "operator": "<=" }, "target": { "path_prefix": "/orgs/default/projects/project-1", "target_resource_type": "Group" } }