Crear y usar intervalos internos
En este documento se describe cómo crear, usar y eliminar intervalos internos.
Los intervalos internos te ayudan a gestionar un espacio de direcciones IP unificado en las redes de nube privada virtual (VPC), ya que te permiten asignar bloques de direcciones IP internas y especificar cómo se pueden usar esos bloques.
Antes de empezar
- Para usar los ejemplos de línea de comandos de esta guía, instala o actualiza a la versión más reciente de la CLI de Google Cloud.
- Debes habilitar la API Network Connectivity en tu proyecto.
- Identifica o crea una red de VPC.
Roles obligatorios
Para obtener los permisos que necesitas para trabajar con intervalos internos, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de red de Compute (roles/compute.networkAdmin
) en tu proyecto.
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.
Reservar intervalos internos
Al crear un intervalo interno, debe especificar al menos dos elementos: las direcciones IP que se van a asignar y la red en la que se van a asignar. Puedes crear un intervalo interno IPv4 o IPv6 con un bloque CIDR específico, o bien puedes hacer que Google Cloud se asigne un bloque IPv4 automáticamente. No puedes crear un intervalo interno IPv6 con un bloque de direcciones asignado automáticamente.
Cuando solicitas un bloque CIDR IPv4 asignado automáticamente, proporcionas una longitud de prefijo y uno o varios bloques CIDR IPv4 de destino opcionales. Si no especificas un bloque CIDR de destino, Google Cloud usa los siguientes intervalos de destino predeterminados:
- En las redes de VPC en modo personalizado, los intervalos predeterminados son
10.0.0.0/8
,172.16.0.0/12
y192.168.0.0/16
. - En las redes de VPC de modo automático, los intervalos predeterminados son
10.0.0.0/9
,172.16.0.0/12
y192.168.0.0/16
.
Google Cloud tiene en cuenta las asignaciones de direcciones IP actuales y asigna al intervalo interno un bloque CIDR libre del tamaño elegido de los bloques CIDR de destino. Puede acotar aún más esta asignación proporcionando una lista opcional de bloques CIDR que se deben excluir.Google Cloud asigna un bloque de direcciones IP al intervalo interno que no se solapa con ningún bloque excluido. La lista de bloques excluidos no se puede actualizar después de crear un intervalo interno.
Para controlar el método que usa Google Cloud para seleccionar automáticamente un bloque libre, puedes especificar una estrategia de asignación. Si no especifica una estrategia de asignación, Google Cloudasigna aleatoriamente un intervalo de direcciones IP libres de los bloques CIDR de destino (o del intervalo predeterminado, si no se especifica ningún bloque CIDR de destino).
Los intervalos internos de IPv6 te permiten evitar la asignación automática de direcciones IP a subredes nuevas de solo IPv6 o de pila dual. Los intervalos internos de IPv6 deben tener el tipo de uso EXTERNAL_TO_VPC
y el tipo de peer FOR_SELF
. Debes incluir un bloque CIDR IPv6 específico y el campo overlaps
debe estar vacío o sin especificar.
Para evitar que los usuarios actualicen el bloque CIDR o la configuración de superposición de un intervalo interno, puedes crear un intervalo interno inmutable. Los intervalos internos inmutables impiden que se modifiquen estas propiedades, pero puedes actualizar la descripción. La inmutabilidad no se puede cambiar después de crear el intervalo interno.
De forma predeterminada, Google Cloud impide la creación de intervalos o recursos internos si comparten direcciones IP superpuestas en la misma red de VPC. Puede configurar un intervalo interno de IPv4 para permitir que se solape con los intervalos de direcciones de las subredes, las rutas nuevas y las rutas que ya tenga, o con ambos. No puedes crear recursos que usen direcciones IP de un intervalo interno que ya exista, a menos que asocies explícitamente el recurso al intervalo interno (en el caso de las subredes) o configures una superposición (en el caso de las rutas). Google Cloud
Consola
En la Google Cloud consola, ve a la página Intervalos internos.
Haz clic en Reservar intervalo interno.
Escribe un nombre.
Opcional: Escribe una descripción.
Selecciona una versión de IP.
Si seleccionas IPv4, haz lo siguiente:
- Especifica si el intervalo interno es inmutable.
Selecciona un método de reserva.
Si selecciona Automático, siga estos pasos:
- Seleccione un algoritmo de asignación.
- Selecciona la longitud del prefijo.
- Introduce un intervalo de direcciones IP de destino. Puedes añadir varios intervalos de destino.
Opcional: Haz clic en Añadir un intervalo para excluir y, a continuación, introduce un intervalo de direcciones IP que quieras excluir. Puedes añadir varios intervalos excluidos.
Google Cloud Asigna un bloque de direcciones IP al intervalo interno que no se solapa con ningún intervalo excluido. Esta lista no se puede actualizar después de crear el intervalo interno.
Si selecciona Permitirme especificar, introduzca un intervalo de IP en notación CIDR.
Selecciona una red.
Selecciona un tipo de emparejamiento.
Selecciona un tipo de uso.
Opcional: En la sección Solapamientos permitidos, especifica si el intervalo interno puede solaparse con subredes, rutas nuevas o rutas ya creadas, o ambas.
Si seleccionas IPv6, haz lo siguiente:
- Especifica si el intervalo interno es inmutable.
- Selecciona Quiero especificarlo y, a continuación, introduce un bloque CIDR IPv6 o IPv6 asignado a IPv4.
- Selecciona una red.
- Haz clic en Emparejamiento y, a continuación, selecciona Para mí.
- Haga clic en Uso y, a continuación, seleccione Externo a la VPC.
Haz clic en Reservar.
gcloud
Para reservar un intervalo interno para un bloque CIDR IPv4 o IPv6 específico, usa el comando
gcloud network-connectivity internal-ranges create
.gcloud network-connectivity internal-ranges create RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --network=NETWORK_NAME \ --description="DESCRIPTION" \ --peering=PEERING_TYPE \ --usage=USAGE_TYPE
Haz los cambios siguientes:
RANGE_NAME
: el nombre del nuevo intervalo internoCIDR_RANGE
: el bloque CIDR IPv4, IPv6 o IPv4 asignado a IPv6 que se asignará al nuevo intervalo interno- Si especificas un bloque IPv6, debes hacer lo siguiente:
- Define el tipo
peering
comoFOR_SELF
. - Define el tipo
usage
comoEXTERNAL_TO_VPC
.
- Define el tipo
- Si especificas un bloque IPv6, debes hacer lo siguiente:
NETWORK_NAME
: el nombre de la red en la que se va a crear el intervalo internoDESCRIPTION
: descripción opcional del intervalo interno.PEERING_TYPE
: el tipo de emparejamiento del intervalo internoLas opciones son
FOR_SELF
,FOR_PEER
yNOT_SHARED
.FOR_SELF
es el valor predeterminado.USAGE_TYPE
: el tipo de uso del intervalo internoLas opciones son
FOR_VPC
,EXTERNAL_TO_VPC
yFOR_MIGRATION
. El valor predeterminado esFOR_VPC
.- Si usa la opción
FOR_MIGRATION
, también debe especificar las subredes de origen y de destino. Para ver un ejemplo, consulta Reservar intervalos internos de IPv4 para la migración de subredes.
- Si usa la opción
Para reservar un intervalo interno de IPv4 con un bloque CIDR asignado automáticamente, usa el siguiente comando:
gcloud network-connectivity internal-ranges create RANGE_NAME \ --network=NETWORK_NAME \ --prefix-length=PREFIX_LENGTH \ --target-cidr-range=TARGET_CIDR_RANGE \ --peering=PEERING_TYPE \ --usage=USAGE_TYPE \ --description="DESCRIPTION" \ --allocation-strategy=ALLOCATION_STRATEGY [--first-available-ranges-lookup-size=FIRST_N_LOOKUP_SIZE]
Haz los cambios siguientes:
PREFIX_LENGTH
: longitud del prefijo de las direcciones IP asignadasTARGET_CIDR_RANGE
: el bloque CIDR de destino desde el que se asignará un bloque de direcciones IPv4.- En las redes de VPC en modo personalizado, los bloques CIDR predeterminados son
10.0.0.0/8
,172.16.0.0/12
y192.168.0.0/16
. - En las redes de VPC en modo automático, los bloques CIDR predeterminados son
10.0.0.0/9
,172.16.0.0/12
y192.168.0.0/16
.
Puedes introducir varios bloques CIDR en una lista separada por comas.
- En las redes de VPC en modo personalizado, los bloques CIDR predeterminados son
ALLOCATION_STRATEGY
: la estrategia de asignación que quieras usar para el bloque CIDR de este intervalo interno.Las opciones son
RANDOM
,FIRST_AVAILABLE
,RANDOM_FIRST_N_AVAILABLE
yFIRST_SMALLEST_FITTING
. El valor predeterminado esRANDOM
.FIRST_N_LOOKUP_SIZE
: para la estrategia de asignaciónRANDOM_FIRST_N_AVAILABLE
, el número de bloques CIDR libres que se deben buscar antes de determinar uno aleatoriamente.Incluya esta marca solo si elige la estrategia de asignación
RANDOM_FIRST_N_AVAILABLE
.
Si quieres excluir intervalos de direcciones IP al reservar un intervalo interno de IPv4 con un bloque CIDR asignado automáticamente, usa el siguiente comando:
gcloud alpha network-connectivity internal-ranges create RANGE_NAME \ --network=NETWORK_NAME \ --prefix-length=PREFIX_LENGTH \ --target-cidr-range=TARGET_CIDR_RANGE \ --peering=PEERING_TYPE \ --usage=USAGE_TYPE \ --description="DESCRIPTION" \ --exclude-cidr-ranges=EXCLUDED_RANGES
Sustituye
EXCLUDED_RANGES
por una lista separada por comas de uno o varios bloques CIDR IPv4 que quieras excluir. Google Cloud asigna un bloque de direcciones IP al intervalo interno que no se solapa con ningún bloque excluido. La lista no se puede actualizar después de crear el intervalo interno.Para reservar un intervalo interno de IPv4 con superposición, usa el siguiente comando:
gcloud network-connectivity internal-ranges create RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --network=NETWORK_NAME \ --description="DESCRIPTION" \ --peering=PEERING_TYPE \ --usage=USAGE_TYPE \ --overlaps=OVERLAPS
Sustituye
OVERLAPS
por el tipo de superposición que quieras permitir. Las opciones sonOVERLAP_EXISTING_SUBNET_RANGE
yOVERLAP_ROUTE_RANGE
. Puede incluir ambos valores en una lista separada por comas.Para reservar un intervalo interno inmutable, usa el siguiente comando:
gcloud network-connectivity internal-ranges create RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --network=NETWORK_NAME \ --description="DESCRIPTION" \ --peering=PEERING_TYPE \ --usage=USAGE_TYPE \ --immutable
API
Para reservar un intervalo interno para un bloque CIDR IPv4 o IPv6 específico, haz una solicitud
POST
al métodoprojects.locations.internalRanges.create
.POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "ipCidrRange": "CIDR_RANGE", "network": "NETWORK_NAME", "description": "DESCRIPTION", "peering": "PEERING_TYPE", "usage": "USAGE_TYPE" }
Haz los cambios siguientes:
PROJECT_ID
: ID del proyecto principal del intervalo internoRANGE_NAME
: el nombre del intervalo internoCIDR_RANGE
: el bloque CIDR IPv4, IPv6 o IPv6 asignado a IPv4 que se va a asignar al intervalo interno- Si especificas un bloque IPv6, debes hacer lo siguiente:
- Define el tipo
peering
comoFOR_SELF
. - Define el tipo
usage
comoEXTERNAL_TO_VPC
.
- Define el tipo
- Si especificas un bloque IPv6, debes hacer lo siguiente:
NETWORK_NAME
: el nombre de la red en la que se va a crear el intervalo internoDESCRIPTION
: descripción opcional del nuevo intervalo interno.PEERING_TYPE
: el tipo de emparejamiento del intervalo internoLas opciones son
FOR_SELF
,FOR_PEER
yNOT_SHARED
.FOR_SELF
es el valor predeterminado.USAGE_TYPE
: el tipo de uso del intervalo internoLas opciones son
FOR_VPC
,EXTERNAL_TO_VPC
yFOR_MIGRATION
. El valor predeterminado esFOR_VPC
.- Si usa la opción
FOR_MIGRATION
, también debe especificar las subredes de origen y de destino. Para ver un ejemplo, consulta Reservar intervalos internos de IPv4 para la migración de subredes.
- Si usa la opción
Para reservar un intervalo interno de IPv4 con un bloque CIDR asignado automáticamente, haz la siguiente solicitud:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "prefixLength": PREFIX_LENGTH, "targetCidrRange": "TARGET_CIDR_RANGE", "network": "NETWORK_NAME", "description": "DESCRIPTION", "peering": "PEERING_TYPE", "usage": "USAGE_TYPE", "allocationOptions": { "allocationStrategy": "ALLOCATION_STRATEGY", ["firstAvailableRangesLookupSize": FIRST_N_LOOKUP_SIZE] } }
Haz los cambios siguientes:
PREFIX_LENGTH
: longitud del prefijo CIDR del bloque de direcciones IP del intervaloTARGET_CIDR_RANGE
: el bloque CIDR de destino desde el que se asignará un bloque de direcciones IPv4.- En las redes de VPC en modo personalizado, los bloques CIDR predeterminados son
10.0.0.0/8
,172.16.0.0/12
y192.168.0.0/16
. - En las redes de VPC en modo automático, los bloques CIDR predeterminados son
10.0.0.0/9
,172.16.0.0/12
y192.168.0.0/16
.
Puedes especificar varios bloques CIDR en una matriz JSON.
- En las redes de VPC en modo personalizado, los bloques CIDR predeterminados son
ALLOCATION_STRATEGY
: la estrategia de asignación que quieras usar para el bloque CIDR de este intervalo interno.Las opciones son
RANDOM
,FIRST_AVAILABLE
,RANDOM_FIRST_N_AVAILABLE
yFIRST_SMALLEST_FITTING
. El valor predeterminado esRANDOM
.FIRST_N_LOOKUP_SIZE
: para la estrategia de asignaciónRANDOM_FIRST_N_AVAILABLE
, el número de bloques CIDR libres que se deben buscar antes de determinar uno aleatoriamente.Incluya este campo solo si elige la estrategia de asignación
RANDOM_FIRST_N_AVAILABLE
.
Si quieres excluir intervalos de direcciones IP al reservar un intervalo interno IPv4 con un bloque CIDR asignado automáticamente, haz la siguiente solicitud:
POST https://networkconnectivity.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "prefixLength": PREFIX_LENGTH, "targetCidrRange": "TARGET_CIDR_RANGE", "network": "NETWORK_NAME", "description": "DESCRIPTION", "peering": "PEERING_TYPE", "usage": "USAGE_TYPE", "excludeCidrRanges": ["EXCLUDED_RANGE_1","EXCLUDED_RANGE_2"] }
Sustituye
EXCLUDED_RANGE_1
yEXCLUDED_RANGE_2
por uno o varios bloques CIDR IPv4 que quieras excluir. Google Cloud asigna un bloque de direcciones IP al intervalo interno que no se solapa con ningún bloque excluido. La lista no se puede actualizar después de crear el intervalo interno.Para reservar un intervalo interno de IPv4 con superposición, haz la siguiente solicitud:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "ipCidrRange": "CIDR_RANGE", "network": "NETWORK_NAME", "description": "DESCRIPTION", "peering": "PEERING_TYPE", "usage": "USAGE_TYPE", "overlaps": ["OVERLAPS"] }
Sustituye
OVERLAPS
por el tipo de superposición que quieras permitir. Las opciones sonOVERLAP_EXISTING_SUBNET_RANGE
yOVERLAP_ROUTE_RANGE
. Puede incluir ambos valores en una matriz JSON.Para reservar un intervalo interno inmutable, haz la siguiente solicitud:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "ipCidrRange": "CIDR_RANGE", "network": "NETWORK_NAME", "description": "DESCRIPTION", "peering": "PEERING_TYPE", "usage": "USAGE_TYPE", "immutable": true }
Reservar intervalos internos IPv4 para la migración de subredes
Puedes usar un intervalo interno para migrar un intervalo CIDR de una subred a otra. Para obtener más información, consulta Migrar intervalos de subredes IPv4.
gcloud
Usa el comando gcloud network-connectivity internal-ranges create
.
gcloud network-connectivity internal-ranges create RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --network=NETWORK_NAME \ --peering=FOR_SELF \ --usage=FOR_MIGRATION \ --migration-source=SOURCE_SUBNET \ --migration-target=TARGET_SUBNET
Haz los cambios siguientes:
RANGE_NAME
: nombre del intervalo interno que se va a crear.CIDR_RANGE
: el bloque CIDR IPv4 de la subred que quieras migrarNETWORK_NAME
: el nombre de la red en la que se va a crear el intervalo internoSOURCE_SUBNET
: el URI de la subred de origenTARGET_SUBNET
: el URI de la subred de destino
API
Envía una solicitud POST
al projects.locations.internalRanges.create
método.
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "ipCidrRange": "CIDR_RANGE", "network": "NETWORK_NAME", "peering": "FOR_SELF", "usage": "FOR_MIGRATION", "migration": { "source": "SOURCE_SUBNET", "target": "TARGET_SUBNET" } }
Haz los cambios siguientes:
PROJECT_ID
: ID del proyecto principal del intervalo internoRANGE_NAME
: el nombre del nuevo intervalo internoCIDR_RANGE
: el bloque CIDR IPv4 de la subred que quieras migrarNETWORK_NAME
: el nombre de la red en la que se va a crear el intervalo internoSOURCE_SUBNET
: el URI de la subred de origenTARGET_SUBNET
: el URI de la subred de destino
Crear subredes con intervalos internos IPv4
Puede crear una subred solo IPv4 o de doble pila y usar un intervalo interno para especificar el intervalo de direcciones IPv4 internas principal de la subred. La subred se puede asociar a todo un intervalo interno o solo a una parte del intervalo. Los intervalos secundarios de las subredes también se pueden asociar a intervalos internos.
Consola
Reserva un intervalo interno de IPv4 en la red en la que quieras crear una subred. Asigna el valor
For VPC
al tipo de uso de este intervalo interno y el valorFor self
al tipo de peering.En la Google Cloud consola, ve a la página Redes de VPC.
Haz clic en el nombre de una red de VPC para ver su página Detalles de la red de VPC.
Haz clic en Añadir subred. En el cuadro de diálogo que aparece, haz lo siguiente:
- Proporciona un nombre.
- Selecciona una región.
- Seleccione la casilla Asociar a un intervalo interno.
- En Intervalo interno reservado, haz una selección.
- Opcional: Para asociar la subred con parte del intervalo interno, introduce un intervalo IPv4.
- Haz clic en Añadir.
gcloud
- Reserva un intervalo interno de IPv4 en la red
en la que quieras crear una subred. Asigna el valor
FOR_VPC
al tipo de uso de este intervalo interno y el valorFOR_SELF
al tipo de peering. Elige una de estas opciones:
Para crear una subred asociada a un intervalo interno completo, usa el comando
gcloud compute networks subnets create
.gcloud compute networks subnets create SUBNET_NAME \ --reserved-internal-range=networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME \ --network=NETWORK_NAME \ --region=REGION
Haz los cambios siguientes:
SUBNET_NAME
: el nombre de la subredPROJECT_ID
: ID del proyecto en el que se va a crear la subred.RANGE_NAME
: el nombre del intervalo interno que se va a asociar a la subredNETWORK_NAME
: el nombre de la red en la que se va a crear la subredREGION
: la región en la que se va a crear la subred
Para crear una subred asociada a una parte de un intervalo interno, usa el siguiente comando:
gcloud compute networks subnets create SUBNET_NAME \ --reserved-internal-range=networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME \ --range=IP_RANGE \ --network=NETWORK_NAME \ --region=REGION
Sustituye
IP_RANGE
por un intervalo CIDR de IPv4 que sea un subconjunto del intervalo interno.
Por ejemplo, los siguientes comandos crean una subred asociada solo a la parte 10.9.1.0/24
de un intervalo interno que reserva el bloque CIDR 10.9.0.0/16
.
gcloud network-connectivity internal-ranges create reserved-range-one \ --ip-cidr-range=10.9.0.0/16 \ --network=vpc-one
gcloud compute networks subnets create subnet-one \ --reserved-internal-range=networkconnectivity.googleapis.com/projects/project-one/locations/global/internalRanges/reserved-range-one \ --range=10.9.1.0/24 \ --network=vpc-one \ --region=us-central1
API
- Reserva un intervalo interno de IPv4 en la red
en la que quieras crear una subred. Asigna el valor
FOR_VPC
al tipo de uso de este intervalo interno y el valorFOR_SELF
al tipo de peering. Elige una de estas opciones:
Para crear una subred asociada a un intervalo interno completo, haz una solicitud
POST
al métodosubnetworks.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks { "name" : "SUBNET_NAME", "reservedInternalRange" : "networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME", "network" : "NETWORK" }
Haz los cambios siguientes:
PROJECT_ID
: ID del proyecto principal de la nueva subred.REGION
: la región en la que se va a crear la subredSUBNET_NAME
: nombre de la nueva subred.PROJECT_ID
: ID del proyecto en el que se va a crear una subred.RANGE_NAME
: el nombre del intervalo interno que se va a usar en la nueva subredNETWORK
: el nombre de la red en la que se va a crear la subred
Para crear una subred asociada a una parte de un intervalo interno, haz la siguiente solicitud:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks { "name" : "SUBNET_NAME", "reservedInternalRange" : "networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME", "range" : "IP_RANGE", "network" : "NETWORK" }
Sustituye
IP_RANGE
por un intervalo CIDR de IPv4 que sea un subconjunto del intervalo interno.
Por ejemplo, las siguientes solicitudes crean una subred asociada solo a la parte 10.9.1.0/24
de un intervalo interno que contiene el bloque CIDR 10.9.0.0/16
.
POST https://networkconnectivity.googleapis.com/v1/projects/sample-project/locations/global/internalRanges?internalRangeId=reserved-for-subnet { "targetCidrRange": "10.9.0.0/16", "network": "network-b" }
POST https://compute.googleapis.com/compute/v1/projects/11223344/regions/us-central1/subnetworks { "name" : "subnet-with-partial-range", "reservedInternalRange" : "networkconnectivity.googleapis.com/projects/project-one/locations/global/internalRanges/reserved-for-subnet", "range" : "10.9.1.0/24", "network" : "network-b" }
Crear clústeres de GKE con intervalos internos IPv4
Puedes usar intervalos internos de IPv4 para asignar direcciones IP a los clústeres nativos de VPC de Google Kubernetes Engine (GKE).
gcloud
Crea los siguientes intervalos internos de IPv4 con el comando
gcloud network-connectivity internal-ranges create
.- En el caso de los nodos de GKE:
gcloud network-connectivity internal-ranges create gke-nodes-1 \ --prefix-length=NODE_PREFIX_LENGTH \ --network=NETWORK
- En el caso de los pods de GKE:
gcloud network-connectivity internal-ranges create gke-pods-1 \ --prefix-length=POD_PREFIX_LENGTH \ --network=NETWORK
- En el caso de los servicios de GKE:
gcloud network-connectivity internal-ranges create gke-services-1 \ --prefix-length=SERVICE_PREFIX_LENGTH \ --network=NETWORK
Haz los cambios siguientes:
NODE_PREFIX_LENGTH
: longitud del prefijo del intervalo interno asociado a los nodos de GKE.POD_PREFIX_LENGTH
: longitud del prefijo del intervalo interno asociado a los pods de GKESERVICE_PREFIX_LENGTH
: longitud del prefijo del intervalo interno asociado a los servicios de GKE.NETWORK
: el nombre de la red
Crea una subred con los intervalos internos que has creado en el paso anterior mediante el comando
gcloud compute networks subnets create
.gcloud compute networks subnets create gke-subnet-1 \ --network=NETWORK \ --region=REGION \ --reserved-internal-range="//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-nodes-1" \ --secondary-range-with-reserved-internal-range="pods=//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-pods-1,services=//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-services-1"
Haz los cambios siguientes:
REGION
: la región de la subredPROJECT_ID
: el ID del proyecto
Crea el clúster nativo de VPC con el comando
gcloud container clusters create
.gcloud container clusters create CLUSTER_NAME \ --network=NETWORK \ --subnetwork=gke-subnet-1 \ --zone=ZONE \ --cluster-secondary-range-name=pods \ --services-secondary-range-name=services \ --enable-ip-alias
Sustituye
ZONE
por la zona del clúster.
API
Crea los siguientes intervalos internos haciendo
POST
solicitudes al métodoprojects.locations.internalRanges.create
.- En el caso de los nodos de GKE:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=gke-nodes-1 { "network": "NETWORK", "prefixLength": NODE_PREFIX_LENGTH, "peering": "FOR_SELF", "usage": "FOR_VPC" }
- En el caso de los pods de GKE:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=gke-pods-1 { "network": "NETWORK", "prefixLength": POD_PREFIX_LENGTH, "peering": "FOR_SELF", "usage": "FOR_VPC" }
- En el caso de los servicios de GKE:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=gke-services-1 { "network": "NETWORK", "prefixLength": SERVICE_PREFIX_LENGTH, "peering": "FOR_SELF", "usage": "FOR_VPC" }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyectoNETWORK
: el nombre de la redNODE_PREFIX_LENGTH
: longitud del prefijo del intervalo interno asociado a los nodos de GKE.POD_PREFIX_LENGTH
: longitud del prefijo del intervalo interno asociado a los pods de GKESERVICE_PREFIX_LENGTH
: longitud del prefijo del intervalo interno asociado a los servicios de GKE.
Crea una subred con los intervalos internos que has creado en el paso anterior haciendo una solicitud
POST
al métodosubnetworks.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks { "name": "gke-subnet-1", "network": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK", "privateIpGoogleAccess": false, "reservedInternalRange": "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-nodes-1", "secondaryIpRanges": [ { "rangeName": "pods", "reservedInternalRange": "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-pods-1" }, { "rangeName": "services", "reservedInternalRange": "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-services-1" } ] }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyectoREGION
: la región de la subredNETWORK
: la red de la subred
Crea el clúster nativo de VPC haciendo una solicitud
POST
al métodoclusters.create
.POST https://container.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/clusters { "cluster": { "ipAllocationPolicy": { "clusterSecondaryRangeName": "pods", "createSubnetwork": false, "servicesSecondaryRangeName": "services", "useIpAliases": true }, "name": "CLUSTER_NAME", "network": "NETWORK", "nodePools": [ { "config": { "oauthScopes": [ "https://www.googleapis.com/auth/devstorage.read_only", "https://www.googleapis.com/auth/logging.write", "https://www.googleapis.com/auth/monitoring", "https://www.googleapis.com/auth/service.management.readonly", "https://www.googleapis.com/auth/servicecontrol", "https://www.googleapis.com/auth/trace.append" ] }, "initialNodeCount": 3, "management": { "autoRepair": true, "autoUpgrade": true }, "name": "default-pool", "upgradeSettings": { "maxSurge": 1 } } ], "subnetwork": "gke-subnet-1" }, "parent": "projects/PROJECT_ID/locations/ZONE" }
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyectoZONE
: la zona del clústerCLUSTER_NAME
: el nombre del nuevo clústerNETWORK
: la red del clúster
Mostrar intervalos internos
Puedes enumerar los intervalos internos para ver todos los intervalos internos de tu proyecto actual o de una red de VPC específica. Para enumerar los proyectos de una red de VPC, usa la CLI de Google Cloud o envía una solicitud a la API.
Consola
En la Google Cloud consola, ve a la página Intervalos internos.
gcloud
Para ver todos los intervalos internos de tu proyecto actual, usa el comando
gcloud network-connectivity internal-ranges list
.gcloud network-connectivity internal-ranges list
Para ver todos los intervalos internos de una red de VPC, usa el comando
internal-ranges list
e incluye un filtro.gcloud network-connectivity internal-ranges list \ --filter=network:NETWORK_NAME \ --project=PROJECT_ID
Haz los cambios siguientes:
NETWORK_NAME
: nombre de la red de VPC en la que se van a enumerar los intervalos internos.PROJECT_ID
: el ID del proyecto que contiene la red de VPC
API
Para ver todos los intervalos internos de un proyecto, haz una solicitud
GET
al métodoprojects.locations.internalRanges.list
.GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges
Sustituye
PROJECT_ID
por el ID del proyecto en el que quieras ver los intervalos internos.Para ver todos los intervalos internos de una red de VPC, haz una solicitud
GET
al métodoprojects.locations.internalRanges.list
e incluye un filtro.GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?filter=network=\"https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME\"
Sustituye
NETWORK_NAME
por el nombre de la red VPC para enumerar los intervalos internos.
Describe los intervalos internos
Puede describir un intervalo interno para ver los detalles del intervalo elegido, incluidas las subredes asociadas al intervalo interno.
Consola
En la Google Cloud consola, ve a la página Intervalos internos.
Haz clic en el Nombre del intervalo interno que quieras describir.
gcloud
Usa el comando gcloud network-connectivity internal-ranges describe
.
gcloud network-connectivity internal-ranges describe RANGE_NAME
Sustituye RANGE_NAME
por el nombre del intervalo interno que quieras describir.
API
Realiza una solicitud GET
al método projects.locations.internalRanges.get
.
GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME
Haz los cambios siguientes:
PROJECT_ID
: ID del proyecto principal del intervalo interno.RANGE_NAME
: el nombre del intervalo interno que se va a describir.
Actualizar intervalos internos
Si un intervalo interno es inmutable, solo puedes actualizar la descripción. Si un intervalo interno es mutable, puedes ampliar el bloque CIDR del intervalo y actualizar su propiedad de superposición y su descripción.
Para ampliar un intervalo interno, puedes actualizar el bloque CIDR del intervalo o reducir su longitud de prefijo. El bloque CIDR actualizado debe contener el bloque anterior.
Si quieres acotar el intervalo asignado o modificar otro elemento, elimina el intervalo interno y crea uno nuevo.
Para actualizar la propiedad de superposición de un intervalo interno IPv4, envía una solicitud a la API o usa la CLI de Google Cloud.
Consola
En la Google Cloud consola, ve a la página Intervalos internos.
Haz clic en el nombre del intervalo interno que quieras actualizar.
Para ampliar el bloque CIDR del intervalo, haga clic en Ampliar intervalo y, a continuación, haga una de las siguientes acciones:
- En el caso de los intervalos internos de IPv4, haga clic en Longitud del prefijo y, a continuación, siga estos pasos:
- En el campo Longitud del prefijo, selecciona una longitud de prefijo que sea inferior a la del prefijo anterior.
- Haz clic en Ampliar.
- Para los intervalos internos de IPv4 o IPv6, haz clic en Intervalo de IP y, a continuación, haz lo siguiente:
- Introduce un bloque CIDR IPv4, IPv6 o IPv6 asignado a IPv4. El nuevo bloque debe contener el anterior.
- Haz clic en Ampliar.
- En el caso de los intervalos internos de IPv4, haga clic en Longitud del prefijo y, a continuación, siga estos pasos:
Para actualizar la descripción del intervalo, sigue estos pasos:
- Haz clic en Editar descripción.
- Escribe otra descripción.
- Haz clic en Guardar.
gcloud
Para actualizar un intervalo interno, usa el
gcloud network-connectivity internal-ranges update
comando. Omite las marcas de las propiedades que no quieras modificar.gcloud network-connectivity internal-ranges update RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --overlaps=OVERLAPS \ --description=DESCRIPTION
Haz los cambios siguientes:
RANGE_NAME
: el nombre del intervalo internoCIDR_RANGE
: el bloque CIDR de IPv4, IPv6 e IPv6 asignado a IPv4 ampliado, que debe contener el bloque anteriorOVERLAPS
: el tipo de superposición que se permite (solo intervalos de IPv4)Las opciones son
OVERLAP_EXISTING_SUBNET_RANGE
yOVERLAP_ROUTE_RANGE
. Puede incluir ambos valores en una lista separada por comas. Para inhabilitar la superposición, incluya la marca, pero no especifique ningún valor (--overlaps=
).DESCRIPTION
: la descripción actualizada
Para ampliar un intervalo interno reduciendo la longitud de su prefijo, usa el siguiente comando:
gcloud network-connectivity internal-ranges update RANGE_NAME \ --prefix-length=PREFIX_LENGTH
Sustituye
PREFIX_LENGTH
por la longitud del prefijo actualizado, que debe ser inferior a la longitud del prefijo anterior.
API
Para ampliar un intervalo interno actualizando su intervalo CIDR, haz una solicitud
PATCH
al métodoprojects.locations.internalRanges.patch
.PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=ipCidrRange { "ipCidrRange": "CIDR_RANGE" }
Haz los cambios siguientes:
PROJECT_ID
: ID del proyecto principal del intervalo interno.RANGE_NAME
: el nombre del intervalo internoCIDR_RANGE
: el bloque CIDR IPv4, IPv6 o IPv6 asignado a IPv4 ampliado, que debe contener el bloque anterior
Para ampliar un intervalo interno reduciendo la longitud de su prefijo, haz la siguiente solicitud:
PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=prefixLength { "prefixLength": PREFIX_LENGTH }
Sustituye
PREFIX_LENGTH
por la longitud del prefijo actualizado, que debe ser inferior a la longitud del prefijo anterior.Para actualizar la propiedad de superposición de un intervalo interno IPv4, haz la siguiente solicitud:
PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=overlaps { "overlaps": ["OVERLAPS"] }
Sustituye
OVERLAPS
por el tipo de superposición que quieras permitir. Las opciones sonOVERLAP_EXISTING_SUBNET_RANGE
yOVERLAP_ROUTE_RANGE
. Puede incluir ambos valores en una matriz JSON. Para inhabilitar la superposición, incluya el campo, pero no especifique ningún valor ("overlaps": []
).Para actualizar la descripción de un intervalo interno, haz la siguiente solicitud:
PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=description { "description": "DESCRIPTION" }
Sustituye
DESCRIPTION
por la descripción actualizada.
Eliminar intervalos internos
Puedes eliminar un intervalo interno si no está asociado a un Google Cloud recurso, como una subred. Para eliminar un intervalo interno asociado a un recurso Google Cloud , primero debes eliminar el recurso asociado.
Consola
En la Google Cloud consola, ve a la página Intervalos internos.
Haz clic en el nombre del intervalo interno que quieras eliminar.
Haz clic en Eliminar.
Para confirmar la acción, haz clic en Eliminar.
gcloud
Usa el comando gcloud network-connectivity internal-ranges delete
.
gcloud network-connectivity internal-ranges delete RANGE_TO_DELETE
Sustituye RANGE_TO_DELETE
por el nombre del intervalo interno que quieras eliminar.
API
Envía una solicitud DELETE
al projects.locations.internalRanges.delete
método.
DELETE https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME
Haz los cambios siguientes:
PROJECT_ID
: ID del proyecto principal del intervalo internoRANGE_NAME
: el nombre del intervalo interno