Google Cloud Managed Lustre se ejecuta dentro de una nube privada virtual (VPC) que proporciona funcionalidad de redes a las instancias de máquina virtual (VM) de Compute Engine, los clústeres de Google Kubernetes Engine (GKE) y las cargas de trabajo sin servidores.
Puedes conectar tu instancia de Managed Lustre a VMs de Compute Engine o clústeres de Google Kubernetes Engine del cliente con cualquiera de las siguientes configuraciones de red:
- Misma red de VPC: Especifica la misma red de VPC cuando crees la instancia de Managed Lustre y tus recursos de cliente.
- Red de VPC con intercambio de tráfico: Conecta una red de VPC con intercambio de tráfico a través de Network Connectivity Center (NCC). NCC te permite conectar varias redes de VPC y redes locales a un concentrador central, lo que proporciona conectividad entre ellas. Para obtener instrucciones sobre cómo configurar NCC, consulta la documentación de Network Connectivity Center.
Permisos necesarios
Debes tener los siguientes permisos de IAM:
serviceusage.services.enablecompute.networks.createcompute.addresses.createcompute.addresses.getcompute.firewalls.createservicenetworking.services.addPeering
Estos permisos se pueden otorgar si se agregan todos los siguientes roles predefinidos:
- Administrador de Service Usage (
roles/serviceusage.serviceUsageAdmin) - Administrador de la red de Compute (
roles/compute.networkAdmin) - Administrador de seguridad de Compute (
roles/compute.securityAdmin)
O bien, crea un rol personalizado que contenga los permisos específicos.
Para otorgar una función a un usuario, haz lo siguiente:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:EMAIL_ADDRESS"
--role=ROLE
Crea y configura la VPC
Habilita la conexión de redes de servicios.
gcloud services enable servicenetworking.googleapis.comCrea una red de VPC en modo personalizado.
gcloud compute networks create NETWORK_NAME \ --subnet-mode=custom \ --mtu=8896Crea una subred principal para tus recursos de GKE o Compute Engine.
gcloud compute networks subnets create SUBNET_NAME \ --network=NETWORK_NAME \ --range=10.128.0.0/20 \ --region=REGIONAsigna un rango de IP para el acceso privado a servicios.
Este rango de IP interna se usa para la conexión de acceso privado a servicios, que vincula tu red de VPC con la red administrada por Google en la que se aprovisionan los recursos de Managed Lustre. Este rango asignado se usa para proporcionar IPs a las instancias de Managed Lustre y no debe superponerse con ninguna subred de tu red de VPC.
Cada instancia de Lustre administrada requiere un bloque CIDR contiguo con una longitud de prefijo de al menos 23.
Te recomendamos que crees un rango de IP más grande de /20 para permitir la creación de varias instancias de Managed Lustre o el uso de otros servicios de Google Cloud .
gcloud compute addresses create IP_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --prefix-length=20 \ --description="Managed Lustre VPC Peering" \ --network=NETWORK_NAMEObtén el bloque CIDR asociado al rango que creaste en el paso anterior.
CIDR_BLOCK=$( gcloud compute addresses describe IP_RANGE_NAME \ --global \ --format="value[separator=/](address, prefixLength)" )Crea una regla de firewall para permitir el tráfico de TCP desde el rango de IP que creaste.
gcloud compute firewall-rules create FIREWALL_NAME \ --allow=tcp:988,tcp:6988 \ --network=NETWORK_NAME \ --source-ranges=$CIDR_BLOCKSi tus VMs cliente o clústeres de GKE residen en una red de VPC interconectada a través de Network Connectivity Center (NCC), las reglas de firewall en ambas redes de VPC deben permitir el tráfico entre tus subredes cliente y el rango de IP asignado (
$CIDR_BLOCK). Ejecuta el siguiente comando para crear una regla de firewall en la red de VPC conectada a NCC:gcloud compute firewall-rules create PEER_FIREWALL_NAME \ --allow=tcp:988,tcp:6988 \ --network=PEER_NETWORK_NAME \ --source-ranges=$CIDR_BLOCKEstablece la conexión de acceso privado a servicios.
gcloud services vpc-peerings connect \ --network=NETWORK_NAME \ --ranges=IP_RANGE_NAME \ --service=servicenetworking.googleapis.comEsta conexión solo es necesaria en la red de VPC en la que se aprovisiona la instancia de Managed Lustre.
Crea subredes adicionales para varias NIC
Si planeas usar varias tarjetas de interfaz de red (NIC) para agregar ancho de banda, debes crear una subred independiente dentro de tu red de VPC para cada NIC.
Para aprovechar los beneficios de las NIC múltiples, debes usar tipos de máquinas de Compute Engine con varias NIC físicas conectadas a VPC normales. Las NIC que se adjuntan a las VPC con perfiles de red de RDMA no se pueden usar para aumentar el ancho de banda general de la red. Consulta Máquinas de redes y GPU para obtener más detalles.
Para crear una subred para una NIC física adicional, haz lo siguiente:
gcloud compute networks subnets create SUBNET_NAME_2 \
--network=NETWORK_NAME \
--range=10.130.0.0/20 \
--region=REGION
Repite este paso para cada NIC adicional. Asegúrate de que los rangos de IP de cada subred no se superpongan.
Controles del servicio de VPC
Managed Lustre admite los Controles del servicio de VPC (VPC-SC). Consulta Protege instancias con un perímetro de servicio para obtener más detalles.
Soluciona problemas de configuración de la VPC
Se denegó el permiso para agregar la interconexión del servicio servicenetworking.googleapis.com
ERROR: (gcloud.services.vpc-peerings.connect) User [$(USER)] does not have
permission to access services instance [servicenetworking.googleapis.com]
(or it may not exist): Permission denied to add peering for service
'servicenetworking.googleapis.com'.
Este error significa que no tienes el permiso de IAM servicenetworking.services.addPeering en tu cuenta de usuario.
Consulta Control de acceso con IAM para obtener instrucciones sobre cómo agregar uno de los siguientes roles a tu cuenta:
roles/compute.networkAdminoroles/servicenetworking.networksAdmin
No se pueden modificar los rangos asignados en CreateConnection
ERROR: (gcloud.services.vpc-peerings.connect) The operation
"operations/[operation_id]" resulted in a failure "Cannot modify allocated
ranges in CreateConnection. Please use UpdateConnection."
Este error se muestra cuando ya creaste un intercambio de tráfico entre VPCs en esta red con diferentes rangos de IP. Existen dos soluciones posibles:
Reemplaza los rangos de IP existentes:
gcloud services vpc-peerings update \
--network=NETWORK_NAME \
--ranges=IP_RANGE_NAME \
--service=servicenetworking.googleapis.com \
--force
O bien, agrega el nuevo rango de IP a la conexión existente:
Recupera la lista de rangos de IP existentes para el peering:
EXISTING_RANGES="$( gcloud services vpc-peerings list \ --network=NETWORK_NAME \ --service=servicenetworking.googleapis.com \ --format="value(reservedPeeringRanges.list())" \ --flatten=reservedPeeringRanges )Luego, agrega el nuevo rango al peering:
gcloud services vpc-peerings update \ --network=NETWORK_NAME \ --ranges="${EXISTING_RANGES}",IP_RANGE_NAME \ --service=servicenetworking.googleapis.com
Se agotó el rango de direcciones IP
Si la creación de la instancia falla con un error de rango de direcciones IP agotado, haz lo siguiente:
ERROR: (gcloud.alpha.Google Cloud Managed Lustre.instances.create) FAILED_PRECONDITION: Invalid
resource state for "NETWORK_RANGES_NOT_AVAILABLE": IP address range exhausted
Sigue la guía de VPC para modificar la conexión privada existente y agregar rangos de direcciones IP.
Recomendamos una longitud de prefijo de al menos /20 (4,096 direcciones).