Agregar redes autorizadas para el acceso principal a un clúster

En esta página, se explica cómo otorgar acceso a las redes autorizadas de las instancias principales de los clústeres de Google Kubernetes Engine. Para obtener información general sobre las Herramientas de redes de GKE, visita Descripción general de la red.

Descripción general

Las redes autorizadas te permiten incluir en la lista blanca rangos específicos de CIDR y autorizan a las direcciones IP de esos rangos para que accedan al extremo de la instancia principal del clúster con HTTPS. Las redes autorizadas son compatibles con todos los clústeres.

GKE usa la seguridad de la capa de transporte (TLS) y la autenticación para ofrecer acceso seguro al extremo de la instancia principal de tu clúster desde la Internet. Esto te ofrece la flexibilidad de administrar tu clúster desde cualquier lugar. Con las redes autorizadas, puedes restringir el acceso solo a conjuntos específicos de direcciones IP.

Beneficios

Agregar redes autorizadas puede ofrecer más beneficios de seguridad a tu clúster. Las redes autorizadas otorgan acceso a un conjunto específico de direcciones que selecciones, como aquellas provenientes de tu entorno. Esto puede ayudarte a proteger el acceso a tu clúster en caso de que ocurra una vulnerabilidad en los mecanismos de autorización o autenticación.

Beneficios de los clústeres privados

Los clústeres privados ejecutan nodos sin direcciones IP externas y, de manera opcional, ejecutan la instancia principal sin un extremo alcanzable de forma pública. Además, los clústeres privados no permiten que las direcciones IP de GCP accedan al extremo de la instancia principal del clúster de forma predeterminada. Usar clústeres privados con redes autorizadas hace que a la instancia principal del clúster solo ingresen los CIDR incluidos en la lista blanca, los nodos del VPC de tu clúster y los trabajos internos de producción de Google que administran tu instancia principal.

Limitaciones

  • Un clúster no puede tener más de 20 rangos CIDR de redes autorizadas.

Antes de comenzar

Sigue estos pasos a fin de prepararte para esta tarea:

  • Asegúrate de que habilitaste la API de Google Kubernetes Engine.
  • Habilitar la API de Google Kubernetes Engine
  • Asegúrate de que instalaste el SDK de Cloud.
  • Establece tu ID del proyecto predeterminado:
    gcloud config set project [PROJECT_ID]
  • Si trabajas con clústeres zonales, establece tu zona de procesamiento predeterminada:
    gcloud config set compute/zone [COMPUTE_ZONE]
  • Si trabajas con clústeres regionales, establece tu región de procesamiento predeterminada:
    gcloud config set compute/region [COMPUTE_REGION]
  • Actualiza gcloud a la versión más reciente:
    gcloud components update

Crear un clúster con redes autorizadas

Puedes crear un clúster privado con una red autorizada o más con herramienta de línea de comandos de gcloud o con [Google Cloud Platform Console].

gcloud

Ejecuta el siguiente comando:

gcloud container clusters create [CLUSTER_NAME] \
    --enable-master-authorized-networks \
    --master-authorized-networks [CIDR],[CIDR]...

Con la marca --master-authorized-networks, puedes especificar hasta 20 CIDR separados por comas (como 8.8.8.0/24) a los que deseas otorgar acceso al extremo de la instancia principal de tu clúster mediante HTTPS.

Por ejemplo:

gcloud container clusters create example-cluster \
    --enable-master-authorized-networks \
    --master-authorized-networks 8.8.8.8/32,8.8.8.0/24

Console

  1. Ve al menú de Google Kubernetes Engine en GCP Console.

    Visitar el menú de Google Kubernetes Engine

  2. Haz clic en Crear clúster.

  3. Configura tu clúster como desees. Luego, haz clic en Opciones avanzadas.

  4. En la sección Seguridad de la red, selecciona Habilitar redes autorizadas de la instancia principal.

  5. Haz clic en Agregar red autorizada.

  6. Llena el cuadro Nombre con el nombre que desees para la red.

  7. Llena el cuadro Red con el rango de CIDR que deseas incluir en la lista blanca para otorgar acceso a la instancia principal del clúster.

  8. Haz clic en Listo. Agrega más redes autorizadas si lo deseas.

  9. Haz clic en Crear en la parte inferior del menú.

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.

Crear un clúster privado con redes autorizadas

Para obtener información sobre cómo crear un clúster privado con una red autorizada o más, consulta Clústeres privados.

Agrega una red autorizada a un clúster existente

Puedes agregar una red autorizada a un clúster existente con la herramienta de línea de comandos de gcloud o con [GCP Console].

gcloud

Ejecuta el siguiente comando:

gcloud container clusters update [CLUSTER_NAME] \
    --enable-master-authorized-networks \
    --master-authorized-networks [CIDR],[CIDR]...

Con la marca --master-authorized-networks, puedes especificar hasta 20 CIDR separados por comas (como 8.8.8.0/24) a los que deseas otorgar acceso al extremo de la instancia principal de tu clúster mediante HTTPS.

Por ejemplo:

gcloud container clusters update example-cluster \
    --enable-master-authorized-networks \
    --master-authorized-networks 8.8.8.8/32,8.8.8.0/24

Console

  1. Ve al menú de Google Kubernetes Engine en GCP Console.

    Visitar el menú de Google Kubernetes Engine

  2. Selecciona el clúster deseado.

  3. Haz clic en Editar.

  4. En el menú desplegable Redes autorizadas principales, selecciona Habilitadas, si aún no lo has hecho.

  5. Haz clic en Agregar red autorizada.

  6. Llena el cuadro Nombre con el nombre que desees para la red.

  7. Llena el cuadro Red con el rango de CIDR que deseas incluir en la lista blanca para otorgar acceso a la instancia principal del clúster.

  8. Haz clic en Listo. Agrega más redes autorizadas si lo deseas.

  9. Haz clic en Guardar en la parte inferior del menú.

API

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

"desiredMasterAuthorizedNetworksConfig": {
    object(MasterAuthorizedNetworksConfig)
  }

Verificar una red autorizada

Puedes verificar una red autorizada a un clúster existente con la herramienta de línea de comandos de gcloud o con [GCP Console].

gcloud

Ejecuta el siguiente comando:

gcloud container clusters describe [CLUSTER_NAME]

En el resultado del comando, busca el campo masterAuthorizedNetworksConfig:

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

Console

  1. Ve al menú de Google Kubernetes Engine en GCP Console.

    Visitar el menú de Google Kubernetes Engine

  2. Selecciona el clúster deseado.

El campo Redes autorizadas principales muestra los CIDR incluidos en la lista blanca.

API

Envía una solicitud get. Busca los bloques de CIDR en el campo masterAuthorizedNetworksConfig. Por ejemplo:

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

Inhabilitar las redes autorizadas

Puedes inhabilitar las redes autorizadas de un clúster existente con la herramienta de línea de comandos de gcloud o con [GCP Console].

gcloud

Ejecuta el siguiente comando:

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

Console

  1. Ve al menú de Google Kubernetes Engine en GCP Console.

    Visitar el menú de Google Kubernetes Engine

  2. Selecciona el clúster deseado.

  3. Haz clic en Editar.

  4. En el menú desplegable Redes autorizadas principales, selecciona Inhabilitadas.

  5. Haz clic en Guardar.

Solución de problemas

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

Demasiados bloques de CIDR

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

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

Para solucionar este problema, debes especificar menos de 20 bloques de CIDR.

No se puede establecer conexión con la instancia principal

Los comandos kubectl agotan el tiempo de espera debido a bloques de CIDR mal configurados:

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 de CIDR correctos.

Pasos siguientes

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...