Agrega redes autorizadas para el acceso al plano de control


En esta página, se muestra cómo usar redes autorizadas para restringir los orígenes desde los que puedes acceder a los planos de control de los clústeres de Google Kubernetes Engine (GKE).

Cómo funcionan las redes autorizadas

Las redes autorizadas proporcionan un firewall basado en IP que controla el acceso al plano de control de GKE. El acceso al plano de control depende del tipo de clúster de GKE y las direcciones IP de origen. Con las redes autorizadas, puedes configurar las direcciones IP para permitir el acceso al extremo del plano de control del clúster de GKE como una lista de bloques CIDR.

Los siguientes términos se usan para diferenciar las reglas de firewall basadas en IP, según tu tipo de clúster:

Distinciones de direcciones IP:

  • Direcciones IP públicas de todas las VMs de Compute Engine en Google Cloud: Direcciones IP públicas asignadas a cualquier VM que use cualquier cliente alojado en Google Cloud. Google Cloud es propietario de estas direcciones IP. Para obtener más información, consulta ¿Dónde puedo encontrar los rangos de IP de Compute Engine?
  • Direcciones IP de Google Cloud Platform: Direcciones IP que usan los productos de Google Cloud, como Cloud Run o Cloud Functions. Cualquier cliente alojado en Google Cloud puede crear instancias de estas direcciones IP. Google Cloud es propietario de estas direcciones IP.
  • Direcciones IP reservadas por Google: Direcciones IP públicas para fines de administración del clúster de GKE. Estas direcciones IP incluyen procesos administrados de GKE y otros servicios de producción de Google. Google posee estas direcciones IP.
  • Direcciones IP públicas de Internet: Direcciones IP públicas que no sean RFC 1918 y que no sean de Google. Ni Google ni los productos de Google Cloud son propietarios de estas direcciones IP públicas.
  • Rangos de direcciones IP del clúster de GKE: Direcciones IP asignadas al clúster que GKE usa para los nodos, los Pods y los objetos Service del clúster.
  • Direcciones IP usadas de forma privada: Direcciones IP de la red de VPC de tu clúster. Estas direcciones IP pueden incluir la dirección IP de tu clúster, las redes locales, los rangos RFC 1918 o las direcciones IP públicas de uso privado (PUPI) que incluyen rangos que no son RFC 1918.

Tipos de clústeres:

  • Clústeres públicos heredados: clústeres públicos que se ejecutan en redes heredadas o redes de VPC con direcciones IP públicas asignadas a nodos y que no se migraron a la arquitectura de Private Service Connect.
  • Clústeres privados heredados: Clústeres basados en el intercambio de tráfico entre redes de VPC para la conectividad del plano de control desde los nodos solo con direcciones IP privadas.
  • Clúster basado en PSC creado como público o privado: Clústeres que usan la arquitectura de Private Service Connect para la comunicación entre el plano de control y los nodos del clúster de GKE. Para determinar si tu clúster usa Private Service Connect, consulta el plano de control de GKE.

Acceso a los extremos del plano de control

En la siguiente tabla, se muestra el estado de la red autorizada predeterminada durante la creación del clúster. Según el tipo de clúster de GKE y el extremo del plano de control, puedes determinar lo siguiente:

  • Las direcciones IP predeterminadas que siempre pueden acceder al plano de control de GKE.
  • Las direcciones IP que puedes configurar para acceder al plano de control del clúster con redes autorizadas habilitadas.

Las direcciones IP configurables pueden acceder al plano de control del clúster cuando las permites y habilitas las redes autorizadas.

Tipo de clúster de GKE y extremo del plano de control Estado predeterminado de la red autorizada del plano de control Direcciones IP predeterminadas que siempre pueden acceder al plano de control de GKE1 Dirección IP configurable que puede acceder al plano de control de GKE con redes autorizadas habilitadas2
Clústeres públicos heredados o clústeres privados basados en el intercambio de tráfico entre redes de VPC
Clústeres públicos heredados con un extremo público Inhabilitada
  • Direcciones IP públicas de todas las VMs de Compute Engine en Google Cloud
  • Direcciones IP de Google Cloud Platform
  • Direcciones IP reservadas por Google
  • Rangos de direcciones IP del clúster de GKE
  • Direcciones IP públicas de Internet incluidas en la lista de entidades permitidas para acceder al extremo de IP pública del clúster.
Clústeres privados heredados con extremos públicos y privados Habilitado
  • Direcciones IP reservadas por Google
  • Los rangos de direcciones IP del clúster de GKE (nodos, Pods y Services solo tienen direcciones IP privadas).
  • Direcciones IP incluidas en la lista de entidades permitidas y usadas de forma privada en la red del clúster para acceder al extremo privado del clúster.
  • Las direcciones IP públicas de Internet incluidas en la lista de entidades permitidas para acceder al extremo público del clúster si la marca --enable-private-endpoint está inhabilitada.
Clústeres que usan Private Service Connect
Clústeres creados como públicos Inhabilitado
  • Todas las direcciones IP privadas de la red del clúster (sin incluir las rutas de intercambio de tráfico entre redes de VPC aprendidas).

Cuando se establece la marca –enable-google-cloud (predeterminada), las siguientes direcciones IP pueden acceder al plano de control de GKE:

  • Direcciones IP públicas de todas las VMs de Compute Engine en Google Cloud
  • Direcciones IP de Google Cloud Platform
  • Direcciones IP reservadas por Google
  • Direcciones IP públicas de los nodos del clúster de GKE.

Cuando se configura la marca –no-enable-google-cloud, las siguientes direcciones IP pueden acceder al plano de control de GKE:

  • Direcciones IP reservadas por Google
  • Los rangos de direcciones IP del clúster de GKE (nodos, Pods y Services solo tienen direcciones IP privadas).

Para obtener más información, consulta Cambia el aislamiento del clúster.

  • Direcciones IP públicas de Internet incluidas en la lista de entidades permitidas para acceder al extremo público del clúster
Clústeres creados como privados Habilitado

Los rangos de direcciones IP del clúster de GKE, como nodos, Pods y Services, solo tienen direcciones IP privadas.

De forma predeterminada, cuando se crea el clúster, se inhabilita –enable-google-cloud. Sin embargo, cuando se configura la marca –enable-google-cloud, las siguientes direcciones IP pueden acceder al plano de control de GKE:

  • Direcciones IP públicas de todas las VMs de Compute Engine en Google Cloud
  • Direcciones IP de Google Cloud Platform
  • Direcciones IP reservadas por Google
  • Direcciones IP públicas de los nodos del clúster de GKE.

Cuando se configura la marca –no-enable-google-cloud, las siguientes direcciones IP pueden acceder al plano de control de GKE:

  • Direcciones IP reservadas por Google
  • Los rangos de direcciones IP del clúster de GKE (nodos, Pods y Services solo tienen direcciones IP privadas).

Para obtener más información, consulta Cambia el aislamiento del clúster.

  • Las direcciones IP públicas de Internet incluidas en la lista de entidades permitidas para acceder al extremo público del clúster si la marca --enable-private-endpoint está inhabilitada.
  • Direcciones IP incluidas en la lista de entidades permitidas y usadas de forma privada en la red del clúster para acceder al extremo privado del clúster.
  1. Las direcciones IP que siempre pueden acceder al plano de control de GKE, sin importar las redes autorizadas que estén habilitadas o inhabilitadas

  2. Debes incluir estas direcciones IP configurables en la lista de entidades permitidas para acceder al plano de control de tu clúster.

Limitaciones

  • Si expandes una subred que un clúster usa con redes autorizadas, debes actualizar la configuración de la red autorizada para que incluya el rango de direcciones IP expandido.
  • La cantidad de rangos de direcciones IP autorizadas que puedes especificar para direcciones IP públicas y privadas depende del tipo de clúster:

    • Clúster público: 50 rangos de direcciones IP
    • Clúster privado: 100 rangos de direcciones IP
    • Clústeres basados en PSC: 100 rangos de direcciones IP

Antes de comenzar

Antes de comenzar, asegúrate de haber realizado las siguientes tareas:

  • Habilita la API de Kubernetes Engine de Google.
  • Habilitar la API de Kubernetes Engine de Google
  • 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.

Crea un clúster con redes autorizadas

Puedes crear un clúster con una o más redes autorizadas mediante Google Cloud CLI, la consola de Google Cloud o la API de GKE.

gcloud

Ejecuta el siguiente comando:

gcloud container clusters create-auto CLUSTER_NAME \
    --enable-master-authorized-networks \
    --master-authorized-networks CIDR1,CIDR2,...

Reemplaza lo siguiente:

  • CLUSTER_NAME: Es el nombre del clúster.
  • CIDR1,CIDR2,...: Es una lista delimitada por comas de los valores CIDR para las redes autorizadas. Por ejemplo, 8.8.8.8/32,8.8.8.0/24

Consola

  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.

  3. En la sección Autopilot o la sección Standard, haz clic en Configurar.

  4. Configura tu clúster según sea necesario.

  5. En el menú de navegación, haz clic en Herramientas de redes.

  6. En Opciones avanzadas de redes, selecciona la casilla de verificación Habilitar redes autorizadas del plano de control.

  7. Haga clic en Agregar red autorizada.

  8. Ingresa un Nombre para la red.

  9. En Red, ingresa un rango de CIDR para el que desees otorgar acceso al plano de control de tu clúster.

  10. Haga clic en Listo. Agrega redes autorizadas adicionales según sea necesario.

  11. Haga clic en Crear.

API

Especifica el objeto masterAuthorizedNetworksConfig en la solicitud create de tu clúster:

"masterAuthorizedNetworksConfig": {
  "enabled": true,
  "cidrBlocks": [
    {
      "displayName": string,
      "cidrBlock": string
    }
  ]
}

Para obtener más información, consulta MasterAuthorizedNetworksConfig.

Puedes configurar un clúster privado con una o más redes autorizadas. Para obtener más información, consulta Clústeres privados.

Crea un clúster con acceso limitado al plano de control

GKE asigna una dirección IP pública (extremo externo) al plano de control en clústeres públicos. Puedes configurar más aislamiento en los clústeres públicos que usan Private Service Connect para conectar de forma privada los nodos y el plano de control. Para verificar si tu clúster usa Private Service Connect, consulta Clústeres públicos con Private Service Connect.

Puedes crear un clúster e indicarle a GKE que bloquee el acceso desde los siguientes orígenes al plano de control:

Puedes crear un clúster y definir el acceso al plano de control mediante Google Cloud CLI o la consola de Google Cloud.

gcloud

Ejecuta el siguiente comando:

gcloud container clusters create-auto CLUSTER_NAME
    --no-enable-google-cloud-access

Reemplaza CLUSTER_NAME por el nombre del clúster de GKE.

Con este comando, la marca no-enable-google-cloud-access evita que se pueda acceder al plano de control desde direcciones IP de propiedad de Google Cloud.

Consola

  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.

  3. En la sección Autopilot o la sección Standard, haz clic en Configurar.

  4. Configura tu clúster según sea necesario.

  5. En el menú de navegación, haz clic en Herramientas de redes.

  6. En Opciones avanzadas de redes, selecciona la casilla de verificación Habilitar redes autorizadas del plano de control.

  7. Desmarca la casilla de verificación Permitir el acceso a través de direcciones IP públicas de Google Cloud para evitar que se pueda acceder al plano de control desde direcciones IP que pertenecen a Google Cloud.

  8. Haga clic en Agregar red autorizada.

  9. Ingresa un Nombre para la red.

  10. En Red, ingresa un rango de CIDR para el que desees otorgar acceso al plano de control de tu clúster.

  11. Haga clic en Listo. Agrega redes autorizadas adicionales según sea necesario.

  12. Haz clic en Crear.

Agrega una red autorizada a un clúster existente

Puedes agregar una red autorizada a un clúster existente con la CLI de gcloud o la consola de Google Cloud.

gcloud

Ejecuta el siguiente comando:

gcloud container clusters update CLUSTER_NAME \
    --enable-master-authorized-networks \
    --master-authorized-networks CIDR1,CIDR2,...

Reemplaza lo siguiente:

  • CLUSTER_NAME: Es el nombre del clúster existente.
  • CIDR1,CIDR2,...: Es una lista delimitada por comas de los valores CIDR para las redes autorizadas. Por ejemplo, 8.8.8.8/32,8.8.8.0/24

Consola

  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 el nombre del clúster que deseas modificar.

  3. En Herramientas de redes, en el campo Redes autorizadas del plano de control, haz clic en Editar redes autorizadas del plano de control.

  4. Selecciona la casilla de verificación Habilitar redes autorizadas del plano de control.

  5. Haga clic en Agregar red autorizada.

  6. Ingresa un Nombre para la red.

  7. En Red, ingresa un rango de CIDR para el que desees otorgar acceso al plano de control de tu clúster.

  8. Haga clic en Listo. Agrega redes autorizadas adicionales según sea necesario.

  9. Haz clic en Save Changes.

API

Especifica el campo desiredMasterAuthorizedNetworksConfig en la solicitud update de tu clúster. En el campo, especifica un objeto MasterAuthorizedNetworksConfig:

"desiredMasterAuthorizedNetworksConfig": {
    object(MasterAuthorizedNetworksConfig)
  }

Verifica una red autorizada

Puedes verificar una red autorizada en un clúster existente con la CLI de gcloud o la consola de Google Cloud.

gcloud

Ejecuta el siguiente comando:

gcloud container clusters describe CLUSTER_NAME

El resultado es similar a este:

...
masterAuthorizedNetworksConfig:
  cidrBlocks:
  - cidrBlock: 8.8.8.8/32
  - cidrBlock: 8.8.4.4/32
  enabled: true
...

Consola

  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 el nombre del clúster que deseas modificar.

  3. En Herramientas de redes, el campo Redes autorizadas del plano de control muestra los CIDR permitidos.

API

Envía una solicitud get. Busca los bloques CIDR debajo del campo masterAuthorizedNetworksConfig. Por ejemplo:

"masterAuthorizedNetworksConfig": {
"enabled": true,
 "cidrBlocks": [
  {
    "displayName": "Office",
    "cidrBlock": "192.0.2.0/24"
  }
]
}

Inhabilita las redes autorizadas

Puedes inhabilitar las redes autorizadas para un clúster existente con la CLI de gcloud o la consola de Google Cloud.

gcloud

Ejecuta el siguiente comando:

gcloud container clusters update CLUSTER_NAME \
  --no-enable-master-authorized-networks

Consola

  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 el nombre del clúster que deseas modificar.

  3. En Herramientas de redes, en el campo Redes autorizadas del plano de control, haz clic en Editar redes autorizadas del plano de control.

  4. Desmarca la casilla de verificación Habilitar redes autorizadas del plano de control.

  5. Haz clic en Save Changes.

Quita redes autorizadas

gcloud

Ejecuta el siguiente comando:

gcloud container clusters update CLUSTER_NAME \
    --enable-master-authorized-networks

Consola

  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 el nombre del clúster que deseas modificar.

  3. En Herramientas de redes, en el campo Redes autorizadas del plano de control, haz clic en Editar redes autorizadas del plano de control.

  4. Haz clic en Borrar.

  5. Haz clic en Guardar cambios.

Soluciona problemas

En las siguientes secciones, se explica cómo solucionar problemas comunes con las redes autorizadas:

Demasiados bloques CIDR

gcloud muestra el siguiente error cuando intenta crear o actualizar un clúster con más de 50 bloques CIDR:

ERROR: (gcloud.container.clusters.update) argument --master-authorized-networks: too many args

Para resolver este problema, si tu clúster es público, asegúrate de no especificar más de 50 bloques CIDR. Si tu clúster es privado, no especifiques más de 100 bloques CIDR.

No se puede establecer una conexión con el servidor

Los comandos kubectl agotan el tiempo de espera debido a que los bloques CIDR están configurados de forma incorrecta:

Unable to connect to the server: dial tcp MASTER_IP: getsockopt: connection timed out

Cuando creas o actualizas un clúster, asegúrate de especificar los bloques CIDR correctos.

Pasos siguientes