En esta página, se explica cómo configurar clústeres nativos de la VPC en Google Kubernetes Engine (GKE).
Si quieres obtener más información sobre los beneficios y requisitos de los clústeres nativos de la VPC, consulta la descripción general de los clústeres nativos de la VPC.
NPara los clústeres de Autopilot de GKE, las redes nativas de VPC están habilitadas de forma predeterminada y no se pueden anular.
Antes de comenzar
Antes de comenzar, asegúrate de haber realizado las siguientes tareas:
- Habilita la API de Google Kubernetes Engine. Habilitar la API de Google Kubernetes Engine
- Si deseas usar Google Cloud CLI para esta tarea, instala y, luego, inicializa gcloud CLI. Si ya instalaste gcloud CLI, ejecuta
gcloud components update
para obtener la versión más reciente.
Limitaciones
- Al igual que con cualquier clúster de GKE, las direcciones de un objeto Service (ClusterIP) solo están disponibles en el clúster. Si necesitas acceder a un servicio de Kubernetes desde instancias de VM fuera del clúster, pero dentro de su red y región de VPC, crea un Balanceador de cargas de red de transferencia interno.
- Si usas todas las direcciones IP del Pod en una subred, no puedes reemplazar el rango de direcciones IP secundario de la subred sin poner el clúster en un estado inestable. Sin embargo, puedes crear rangos de direcciones IP del Pod adicionales mediante CIDR de varios Pods discontinuos.
Crea un clúster con herramientas de redes de pila doble
Puedes crear un clúster con herramientas de redes de pila doble IPv4/IPv6 en una subred de pila doble nueva o existente. La subred de pila doble está disponible en los clústeres de Autopilot versión 1.25 o posterior y en los clústeres Standard versión 1.24 o posterior.
Antes de configurar clústeres de pila doble, te recomendamos que completes las siguientes acciones:
- Obtén más información sobre los beneficios y requisitos de los clústeres de GKE con redes de pila doble.
- Consulta las restricciones y limitaciones de las herramientas de redes de pila doble.
En esta sección, primero crearás una subred de pila doble y la usarás para crear un clúster.
Para crear una subred de pila doble, ejecuta el siguiente comando:
gcloud compute networks subnets create SUBNET_NAME \ --stack-type=ipv4-ipv6 \ --ipv6-access-type=ACCESS_TYPE \ --network=NETWORK_NAME \ --range=PRIMARY_RANGE \ --region=COMPUTE_REGION
Reemplaza lo siguiente:
SUBNET_NAME
: Es el nombre de la subred que eliges.ACCESS_TYPE
: Es la enrutabilidad a la Internet pública. UsaINTERNAL
para clústeres privados yEXTERNAL
para clústeres públicos. Si no se especifica--ipv6-access-type
, el tipo de acceso predeterminado esEXTERNAL
.NETWORK_NAME
: El nombre de la red que contendrá la subred nueva. Esta red debe cumplir con los siguientes requisitos:- Debe ser una red de VPC en modo personalizado. Para obtener más información, consulta cómo cambiar una red de VPC del modo automático al modo personalizado.
- Si reemplazas
ACCESS_TYPE
porINTERNAL
, la red debe usar direcciones IPv6 de unidifusión (ULA) únicas.
PRIMARY_RANGE
: El rango de direcciones IP IPv4 principal de la subred nueva, en notación CIDR. Para obtener más información, consulta Rangos de subredes.COMPUTE_REGION
: es la región de procesamiento para el clúster.
Para crear un clúster con una subred de pila doble, usa
gcloud CLI
o la consola de Google Cloud:
gcloud
Para los clústeres Autopilot, ejecuta el siguiente comando:
gcloud container clusters create-auto CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --network=NETWORK_NAME \ --subnetwork=SUBNET_NAME
Reemplaza lo siguiente:
CLUSTER_NAME
: Es el nombre del clúster nuevo de Autopilot.COMPUTE_LOCATION
: la ubicación de Compute Engine para el clúster.NETWORK_NAME
: El nombre de la red de VPC que contiene la subred Esta red de VPC debe ser una red de VPC de modo personalizado Para obtener más información, consulta cómo cambiar una red de VPC del modo automático al modo personalizado.SUBNET_NAME
: el nombre de la subred de pila doble.Los clústeres de Autopilot de GKE se establecen de forma predeterminada en un clúster de pila doble cuando usas una subred de pila doble. Después de la creación del clúster, puedes actualizar el clúster de Autopilot para que sea solo IPv4.
Console
Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.
Haz clic en
Crear.Configura tu clúster según sea necesario.
En el panel de navegación, en Clúster, haz clic en Herramientas de redes.
En la lista Red, selecciona el nombre de tu red.
En la lista Subred del nodo, selecciona el nombre de tu subred de pila doble.
Haz clic en Crear.
Crea un clúster de pila doble y una subred simultáneamente
Puedes crear una subred y un clúster de pila doble de forma simultánea. GKE crea una subred IPv6 y le asigna un rango principal IPv6 externo a la subred.
Si usas una VPC compartida, no puedes crear el clúster y la subred de forma simultánea. En su lugar, un administrador de red en el proyecto host de la VPC compartida debe crear primero la subred de pila doble.
Para los clústeres Autopilot, ejecuta el siguiente comando:
gcloud container clusters create-auto CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --network=NETWORK_NAME \ --create-subnetwork name=SUBNET_NAME
Reemplaza lo siguiente:
CLUSTER_NAME
: Es el nombre del clúster nuevo de Autopilot.COMPUTE_LOCATION
: la ubicación de Compute Engine para el clúster.NETWORK_NAME
: El nombre de la red de VPC que contiene la subred Esta red de VPC debe ser una red de VPC de modo personalizado que use direcciones IPv6 de unidifusión (ULA) únicas. Para obtener más información, consulta cómo cambiar una red de VPC del modo automático al modo personalizado.SUBNET_NAME
: es el nombre de la subred nueva. GKE puede crear la subred según las políticas de tu organización:- Si las políticas de tu organización permiten la pila doble, y la red es el modo personalizado, GKE crea una subred de pila doble y asigna un rango principal IPv6 externo a la subred .
- Si las políticas de la organización no permiten la pila doble o si la red está en modo automático, GKE crea una subred de pila única (IPv4).
Actualiza el tipo de pila
Puedes cambiar el tipo de pila de un clúster existente o actualizar una subred existente a una subred de pila doble.
Actualiza el tipo de pila en un clúster existente
Antes de cambiar el tipo de pila en un clúster existente, ten en cuenta las siguientes limitaciones:
El cambio del tipo de pila es compatible con los clústeres de GKE nuevos que ejecutan la versión 1.25 o posterior. Los clústeres de GKE que se actualizaron de las versiones 1.24 a las 1.25 o 1.26 pueden obtener errores de validación cuando se habilita la red de pila doble.
Cambiar el tipo de pila es una operación perjudicial porque GKE reinicia los componentes en el plano de control y en los nodos.
GKE respeta los períodos de mantenimiento configurados cuando se vuelven a crear los nodos. Esto significa que el tipo de pila del clúster no funcionará en el clúster hasta que se produzca el siguiente período de mantenimiento. Si no quieres esperar, puedes actualizar de forma manual el grupo de nodos si configuras la marca
--cluster-version
en la misma versión de GKE que ya ejecuta el plano de control. Si usas esta solución alternativa, debes usar la CLI de gcloud. Si deseas obtener más información, consulta Advertencias para los períodos de mantenimiento.El cambio del tipo de pila no cambia automáticamente la familia de IP de los objetos Service existentes. Se aplican las siguientes condiciones:
- Si cambias una sola pila por pila doble, los servicios existentes seguirán siendo una sola pila.
- Si cambias una pila doble a una sola, los servicios existentes con direcciones IPv6 entrarán en un estado de error. Borra el Service y crea uno con el
ipFamilies
correcto.
Para actualizar un clúster nativo de la VPC existente, puedes usar gcloud CLI o la consola de Google Cloud:
gcloud
Ejecuta el comando siguiente:
gcloud container clusters update CLUSTER_NAME \
--stack-type=STACK_TYPE \
--location=COMPUTE_LOCATION
Reemplaza lo siguiente:
CLUSTER_NAME
: Es el nombre del clúster que deseas actualizar.STACK_TYPE
: Es el tipo de pila. Reemplaza- por uno de los siguientes valores:
ipv4
: para actualizar un clúster de pila doble a un clúster solo IPv4. GKE usa el rango de direcciones IPv4 principal de la subred del clúster.ipv4-ipv6
: para actualizar un clúster de IPv4 existente a pila doble. Solo puedes cambiar un clúster a pila doble si la subred subyacente es compatible con pila doble. Para obtener más información, consulta Actualiza una subred existente a una subred de pila doble.
COMPUTE_LOCATION
: la ubicación de Compute Engine para el clúster.
Console
Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.
Junto al clúster que deseas editar, haz clic en more_vert Acciones y, luego, en edit Editar.
En la sección Herramientas de redes, junto a Tipo de pila, haz clic en edit Editar.
En el cuadro de diálogo Editar tipo de pila, selecciona la casilla de verificación para el tipo de pila del clúster que necesitas.
Haz clic en Save Changes.
Actualiza una subred existente a una subred de pila doble (disponible en la versión 1.25 o posterior de los clústeres de Autopilot y en la versión 1.24 o posterior de los clústeres Standard).
Actualiza una subred existente a una subred de pila doble
Para actualizar una subred existente a una subred de doble pila, ejecuta el siguiente comando. La actualización de una subred no afecta a ningún clúster de IPv4 existente en la subred.
gcloud compute networks subnets update SUBNET_NAME \
--stack-type=ipv4-ipv6 \
--ipv6-access-type=ACCESS_TYPE \
--region=COMPUTE_REGION
Reemplaza lo siguiente:
SUBNET_NAME
: El nombre de la subred.ACCESS_TYPE
: Es la enrutabilidad a la Internet pública. UsaINTERNAL
para clústeres privados yEXTERNAL
para clústeres públicos. Si no se especifica--ipv6-access-type
, el tipo de acceso predeterminado esEXTERNAL
.COMPUTE_REGION
: es la región de procesamiento para el clúster.
Verifica el tipo de pila, el pod y los rangos de direcciones IP del servicio
Después de crear un clúster nativo de la VPC, puedes verificar sus rangos del pod y el servicio.
gcloud
Para verificar el clúster, ejecuta el siguiente comando:
gcloud container clusters describe CLUSTER_NAME
El resultado tiene un bloque ipAllocationPolicy
. El campo stackType
describe el tipo de definición de red. Para cada tipo, puedes ver la siguiente información de red:
Información de red IPv4:
clusterIpv4Cidr
es el rango secundario para los pods.servicesIpv4Cidr
es el rango secundario para Services.
Información de red IPv6 (si un clúster tiene herramientas de redes de pila doble):
ipv6AccessType
: La enrutabilidad a la Internet pública.INTERNAL
para direcciones IPv6 privadas yEXTERNAL
para direcciones IPv6 públicas.subnetIpv6CidrBlock
: El rango de direcciones IPv6 secundario para la subred nueva.servicesIpv6CidrBlock
: El rango de direcciones asignado para los Services IPv6 en el clúster de pila doble.
Console
Para verificar el clúster, realiza los siguientes pasos:
Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.
En la lista de clústeres, haz clic en el nombre del clúster que quieres inspeccionar.
Los rangos secundarios se muestran en la sección Herramientas de redes:
- Rango de direcciones de contenedor es el rango secundario para Pods
- Rango de direcciones de servicio es el rango secundario para servicios
Configuración avanzada para direcciones IP internas
En las siguientes secciones, se muestra cómo usar rangos de direcciones IP privadas que no son RFC 1918 y cómo habilitar rangos de direcciones IP públicas de uso privado.
Usa rangos de direcciones IP que no sean RFC 1918
Los clústeres de GKE pueden usar rangos de direcciones IP fuera de los rangos RFC 1918 para nodos, Pods y objetos Service. Consulta los rangos válidos en la documentación de red de la VPC a fin de obtener una lista de los rangos privados que no son RFC 1918 y que se pueden usar como direcciones IP internas para los rangos de subred.
Los rangos de direcciones IP que no son RFC 1918 son compatibles con clústeres privados y no privados.
Los rangos privados que no son RFC 1918 son rangos de subred; puedes usarlos de forma exclusiva o junto con rangos de subred RFC 1918. Los nodos, los Pods y los objetos Service continúan usando rangos de subredes como se describe en Rangos de IP para clústeres nativos de la VPC. Si usas rangos que no son RFC 1918, ten en cuenta lo siguiente:
Los rangos de subred, incluso los que usan rangos que no son RFC 1918, deben asignarse de forma manual o mediante GKE antes de que se creen los nodos del clúster. No puedes cambiar a rangos de subred que no sean RFC 1918 o dejar de usarlos a menos que reemplaces el clúster.
Los balanceadores de cargas de red de transferencia internos solo usan direcciones IP del rango de direcciones IP principal de la subred. Para crear un balanceador de cargas de red de transferencia interno con una dirección que no sea RFC 1918, el rango de direcciones IP principal de la subred no debe ser RFC 1918.
Los destinos fuera del clúster pueden tener dificultades para recibir el tráfico de rangos privados que no sean RFC 1918. Por ejemplo, los rangos privados RFC 1112 (clase E) suelen usarse como direcciones de multidifusión. Si un destino fuera del clúster no puede procesar paquetes cuyas fuentes sean direcciones IP privadas fuera del rango RFC 1918, puedes realizar lo siguiente:
- Usar un rango RFC 1918 para el rango de direcciones IP principal de la subred. De esta manera, los nodos del clúster usan direcciones RFC 1918.
Habilita rangos de direcciones IP externa que se usan de forma privada
Los clústeres de GKE pueden usar de forma privada ciertos rangos de direcciones IP externa, como rangos de direcciones IP de subred internos. Puedes usar cualquier dirección IP externa de forma privada, excepto ciertos rangos restringidos, como se describe en la documentación de la red de VPC.
Los rangos externos de uso privado son rangos de subred. Puedes usarlos de forma exclusiva o junto con otros rangos de subred que usen direcciones privadas. Los nodos, los Pods y los objetos Service continúan usando los rangos de subredes como se describe en Rangos de IP para clústeres nativos de la VPC. Ten en cuenta lo siguiente cuando reutilices direcciones IP externos de forma privada:
Cuando usas un rango de direcciones IP externas como un rango de subred, tu clúster ya no puede comunicarse con los sistemas de Internet que usan ese rango externo; el rango se convierte en un rango de direcciones IP internas en la red de VPC del clúster.
Los rangos de subred, incluso los que utilizan los rangos de direcciones IP externos de forma privada, deben asignarse de forma manual o mediante GKE antes de que se creen los nodos del clúster. No puedes cambiar a direcciones IP externas utilizados de forma privada o dejar de usarlas, a menos que reemplaces el clúster.
¿Qué sigue?
- Consulta la descripción general de redes de GKE.
- Obtén información sobre el balanceo de cargas interno.
- Obtén información sobre cómo configurar redes autorizadas.
- Obtén información para crear políticas de red de clústeres.