Configuraciones avanzadas del clúster privado


En esta página se describen algunas configuraciones avanzadas que recomendamos cuando creas un clúster privado. Para conocer la configuración básica de un clúster privado, consulta Crea un clúster privado.

Otorga acceso a Internet saliente a los nodos privados

Si deseas proporcionar acceso a Internet saliente a los nodos privados, como para extraer imágenes de un registro externo, usa Cloud NAT para crear y configurar un Cloud Router. Cloud NAT permite que los clústeres privados establezcan conexiones salientes a través de Internet para enviar y recibir paquetes.

El Cloud Router permite que todos los nodos de la región usen Cloud NAT para todos los rangos de IP de alias y principales. También asigna de forma automática las direcciones IP externas de la puerta de enlace NAT.

Para obtener instrucciones sobre cómo crear y configurar un Cloud Router, consulta Crea una configuración de Cloud NAT con Cloud Router en la documentación de Cloud NAT.

Crea un clúster privado en una red de VPC compartida

Para aprender a crear un clúster privado en una red de VPC compartida, consulta Crea un clúster privado en una VPC compartida.

Accede al extremo privado del plano de control de forma global

El balanceador de cargas de red de transferencia interno implementa el extremo privado del plano de control en la red de VPC del plano de control. Los clientes internos o conectados mediante túneles de Cloud VPN y adjuntos de VLAN de Cloud Interconnect pueden acceder a los balanceadores de cargas de red de transferencia internos.

De forma predeterminada, estos clientes deben estar ubicados en la misma región que el balanceador de cargas.

Cuando habilitas el acceso global del plano de control, se puede acceder al balanceador de cargas de red de transferencia interno de forma global: las VM del cliente y los sistemas locales pueden conectarse al extremo privado del plano de control, sujetos a la configuración de las redes autorizadas de cualquier región.

Para obtener más información sobre los balanceadores de cargas de red de transferencia internos y el acceso global, consulta Balanceadores de cargas internos y redes conectadas.

Habilita el acceso global al extremo privado del plano de control

De forma predeterminada, el acceso global no está habilitado para el extremo privado del plano de control cuando creas un clúster privado. Para habilitar el acceso global al plano de control, usa las siguientes herramientas según el modo del clúster:

  • Para los clústeres Standard, puedes usar Google Cloud CLI o la consola de Google Cloud.
  • Para los clústeres de Autopilot, puedes usar el recurso google_container_cluster de Terraform.

Console

Para crear un clúster privado nuevo con el acceso global al plano de control habilitado, sigue estos pasos:

  1. Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.

    Ir a Google Kubernetes Engine

  2. Haz clic en Crear y, luego, en la sección Standard o Autopilot, haz clic en Configurar.

  3. Escribe un Nombre.

  4. En el panel de navegación, haga clic en Herramientas de redes.

  5. Selecciona Clúster privado.

  6. Selecciona la casilla de verificación Habilitar el acceso global al plano de control.

  7. Configura otros campos como desees.

  8. Haz clic en Crear.

Para habilitar el acceso global al plano de control de un clúster privado existente, sigue estos pasos:

  1. Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.

    Ir a Google Kubernetes Engine

  2. Junto al clúster que deseas editar, haz clic en  Acciones y, luego, en  Editar.

  3. En la sección Herramientas de redes, junto a Acceso global al plano de control, haz clic en Editar.

  4. En el cuadro de diálogo Editar el acceso global al plano de control, selecciona la casilla de verificación Habilitar el acceso global al plano de control.

  5. Haz clic en Guardar cambios.

gcloud

Agrega la marca --enable-master-global-access para crear un clúster privado con acceso global al extremo privado habilitado del plano de control:

gcloud container clusters create CLUSTER_NAME \
    --enable-private-nodes \
    --enable-master-global-access

También puedes habilitar el acceso global al extremo privado del plano de control para un clúster privado existente:

gcloud container clusters update CLUSTER_NAME \
    --enable-master-global-access

Verifica el acceso global al extremo del plano de control

Para verificar que el acceso global al extremo privado del plano de control esté habilitado, ejecuta el siguiente comando y observa su resultado.

gcloud container clusters describe CLUSTER_NAME

En el resultado, se incluye una sección privateClusterConfig en la que puedes ver el estado de masterGlobalAccessConfig.

privateClusterConfig:
  enablePrivateNodes: true
  masterIpv4CidrBlock: 172.16.1.0/28
  peeringName: gke-1921aee31283146cdde5-9bae-9cf1-peer
  privateEndpoint: 172.16.1.2
  publicEndpoint: 34.68.128.12
  masterGlobalAccessConfig:
    enabled: true

Accede al extremo privado del plano de control desde otras redes

Cuando creas un clúster privado de GKE e inhabilitas el extremo público del plano de control, debes administrar el clúster con herramientas como kubectl mediante el extremo privado de su plano de control. Puedes acceder al extremo privado del plano de control del clúster desde otra red, que incluye las siguientes opciones:

  • Una red local que está conectada a la red de VPC del clúster mediante túneles de Cloud VPN o adjuntos de VLAN de Cloud Interconnect
  • Otra red de VPC que esté conectada a la red de VPC del clúster mediante túneles de Cloud VPN

En el siguiente diagrama, se muestra el enrutamiento entre los nodos de una red local y del plano de control de GKE:

Diagrama que muestra el enrutamiento entre la VPC local y el plano de control del clúster

Para permitir que los sistemas de otra red se conecten al extremo privado del plano de control de un clúster, completa los siguientes requisitos:

  1. Identifica y registra la información de red relevante para el clúster y el extremo privado de su plano de control.

    gcloud container clusters describe CLUSTER_NAME \
       --location=COMPUTE_LOCATION \
       --format="yaml(network, privateClusterConfig)"
    

    Reemplaza lo siguiente:

    En el resultado del comando, identifica y registra la siguiente información para usarla en los siguientes pasos:

    • network: es el nombre o URI de la red de VPC del clúster
    • privateEndpoint: es la dirección IPv4 del extremo privado del plano de control o el rango de CIDR de IPv4 adjunto (masterIpv4CidrBlock).
    • peeringName: es el nombre de la conexión de intercambio de tráfico entre redes de VPC que se usa para conectar la red de VPC del clúster a la red de VPC del plano de control.

    El resultado es similar a este:

    network: cluster-network
    privateClusterConfig:
      enablePrivateNodes: true
      masterGlobalAccessConfig:
        enabled: true
      masterIpv4CidrBlock: 172.16.1.0/28
      peeringName: gke-1921aee31283146cdde5-9bae-9cf1-peer
      privateEndpoint: 172.16.1.2
      publicEndpoint: 34.68.128.12
    
  2. Considera habilitar el acceso global al extremo privado del plano de control para permitir que los paquetes ingresen desde cualquier región en la red de VPC del clúster. Habilitar el acceso global al extremo del plano de control te permite conectarte al extremo privado mediante túneles de Cloud VPN o adjuntos de VLAN de Cloud Interconnect ubicados en cualquier región, no solo en la región del clúster.

  3. Crea una ruta para la dirección IP privateEndpoint o el rango de direcciones IP masterIpv4CidrBlock en la otra red. Debido a que la dirección IP del extremo privado del plano de control siempre se ajusta al rango de direcciones IPv4 masterIpv4CidrBlock, lo que crea una ruta para la dirección IP privateEndpoint o su rango delimitador proporciona una ruta para los paquetes desde la otra red al extremo privado del plano de control si se cumplen las siguientes condiciones:

    • La otra red se conecta a la red de VPC del clúster mediante los adjuntos de VLAN de Cloud Interconnect o los túneles de Cloud VPN que usan rutas dinámicas (BGP): Usa un anuncio de ruta personalizado de Cloud Router. Para obtener más información, consulta Cómo anunciar rangos de IP personalizados en la documentación de Cloud Router.

    • La otra red se conecta a la red de VPC del clúster mediante túneles de VPN clásica que no usan rutas dinámicas: debes configurar una ruta estática en la otra red.

  4. Configura la red de VPC del clúster para exportar sus rutas personalizadas en la relación de intercambio de tráfico a la red de VPC del plano de control. Google Cloud siempre configura la red de VPC del plano de control para importar rutas personalizadas desde la red de VPC del clúster. En este paso, se proporciona una ruta para los paquetes del extremo privado del plano de control a la otra red.

    Para habilitar la exportación de rutas personalizadas desde la red de VPC de tu clúster, usa el siguiente comando:

    gcloud compute networks peerings update PEERING_NAME \
        --network=CLUSTER_VPC_NETWORK \
        --export-custom-routes
    

    Reemplaza lo siguiente:

    • PEERING_NAME: es el nombre del intercambio de tráfico que conecta la red de VPC del clúster a la red de VPC del plano de control
    • CLUSTER_VPC_NETWORK: es el nombre o URI de la red de VPC del clúster

    Cuando se habilita la exportación de rutas personalizadas para la VPC, la creación de rutas que se superpongan con los rangos de IP de Google Cloud podría interrumpir el clúster.

    Para obtener más detalles sobre cómo actualizar el intercambio de rutas para las conexiones de intercambio de tráfico de red de VPC existentes, consulta Actualiza la conexión de intercambio de tráfico.

    Las rutas personalizadas en la red de VPC del clúster incluyen rutas cuyos destinos son rangos de direcciones IP en otras redes, por ejemplo, una red local. Para asegurarte de que estas rutas sean efectivas como rutas personalizadas de intercambio de tráfico en la red de VPC del plano de control, consulta Destinos admitidos desde la otra red.

Destinos admitidos desde la otra red

Los rangos de direcciones que la otra red envía a los Cloud Routers en la red de VPC del clúster deben cumplir con las siguientes condiciones:

  • Mientras que la VPC del clúster puede aceptar una ruta predeterminada (0.0.0.0/0), la red de VPC del plano de control siempre rechaza las rutas predeterminadas porque ya tiene una ruta predeterminada local. Si la otra red envía una ruta predeterminada a tu red de VPC, la otra red también debe enviar los destinos específicos de los sistemas que necesitan conectarse al extremo privado del plano de control. Para obtener más detalles, consulta Orden de enrutamiento.

  • Si la red de VPC del plano de control acepta rutas que reemplazan de manera eficaz una ruta predeterminada, esas rutas interrumpen la conectividad a las APIs y los servicios de Google Cloud, lo que interrumpe el plano de control del clúster. Como ejemplo representativo, la otra red no debe anunciar rutas con los destinos 0.0.0.0/1 y 128.0.0.0/1. Consulta el punto anterior para ver una alternativa.

Supervisa los límites de Cloud Router, en especial, la cantidad máxima de destinos únicos para las rutas aprendidas.

Protege un clúster privado con los Controles del servicio de VPC

Para proteger aún más tus clústeres privados de GKE, puedes usar los Controles del servicio de VPC.

Los Controles del servicio de VPC brindan seguridad adicional para tus clústeres privados de GKE a fin de mitigar el riesgo de robo de datos. Con los Controles del servicio de VPC, puedes agregar proyectos a perímetros de servicio que protejan los recursos y servicios de las solicitudes que se originan fuera del perímetro.

Para obtener más información sobre los perímetros de servicio, consulta Configuración y detalles del perímetro de servicio.

Si usas Artifact Registry con tu clúster privado de GKE en un perímetro de servicio de los Controles del servicio de VPC, debes configurar el enrutamiento a la IP virtual restringida para evitar el robo de datos.