Google Cloud Managed Lustre se ejecuta dentro de una nube privada virtual (VPC) que proporciona funcionalidad de herramientas de redes para las instancias de máquina virtual (VM) de Compute Engine, los clústeres de Google Kubernetes Engine (GKE), y cargas de trabajo sin servidores.
Se debe especificar la misma red de VPC cuando se crea la instancia de Managed Lustre y las VMs de Compute Engine o los clústeres de Google Kubernetes Engine del cliente.
Permisos necesarios
Debes tener los siguientes permisos de IAM:
serviceusage.services.enablecompute.networks.createcompute.addresses.createcompute.addresses.getcompute.firewalls.createservicenetworking.services.addPeering
Para otorgar estos permisos, agrega 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 las redes de servicio.
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 a servicios privados, 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 para instancias de Managed Lustre y no debe superponerse con ninguna subred de tu red de VPC.
Cada instancia de Managed Lustre requiere un bloque CIDR contiguo con una longitud de prefijo de al menos 23.
Recomendamos crear 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 Google Cloud servicios.
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 con el 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 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_BLOCKConecta el intercambio de tráfico.
gcloud services vpc-peerings connect \ --network=NETWORK_NAME \ --ranges=IP_RANGE_NAME \ --service=servicenetworking.googleapis.com
Crea subredes adicionales para varias NIC
Si planeas usar varias tarjetas de interfaz de red (varias NIC) para agregar ancho de banda, debes crear una subred independiente dentro de tu red de VPC para cada NIC.
Para beneficiarte de varias NIC, debes usar tipos de máquinas de Compute Engine con varias NIC físicas que estén conectadas a VPCs regulares. Las NIC que se conectan a VPCs con perfiles de red de RDMA no se pueden usar para aumentar el ancho de banda de red general. Consulta Redes y máquinas con 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 entre sí.
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 VPC
Se denegó el permiso para agregar intercambio de tráfico para el 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. Hay 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 intercambio de tráfico:
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 intercambio de tráfico:
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).