Agrega redes autorizadas para el acceso al plano de control

En esta página, se explica cómo otorgar acceso a las redes autorizadas a los planes de control de clúster (instancia principal) en los clústeres de Google Kubernetes Engine (GKE). Para obtener información general sobre las Herramientas de redes de GKE, consulta la Descripción general de la red.

Descripción general

Las redes autorizadas te permiten especificar rangos de CIDR y permitir que las direcciones IP de esos rangos accedan al extremo plano de control de tu clúster mediante 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 del plano de control del clúster desde la Internet pública. 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.

Ventajas

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 el plano de control sin un extremo accesible de forma pública. Además, los clústeres privados no permiten que las direcciones IP de Google Cloud accedan al extremo del plano de control de forma predeterminada. El uso de clústeres privados con redes autorizadas hace solos los CIDR permitidos, los nodos dentro de la VPC de tu clúster y los trabajos internos de producción de Google que administran tu plano de control puedan acceder a él.

Limitaciones

  • Los clústeres públicos pueden tener hasta 50 rangos CIDR de redes autorizadas; los clústeres privados pueden tener hasta 100.
  • Si expandes una subred que un clúster usa con redes autorizadas, debes actualizar la red autorizada para que incluya el rango de direcciones IP expandido.

Antes de comenzar

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

Establece la configuración de gcloud predeterminada mediante uno de los siguientes métodos:

  • Usa gcloud init si deseas ver una explicación sobre cómo configurar parámetros predeterminados.
  • Usa gcloud config para establecer el ID, la zona y la región del proyecto de manera individual.

Usa gcloud init

Si recibes el error One of [--zone, --region] must be supplied: Please specify location, completa esta sección.

  1. Ejecuta gcloud init y sigue las instrucciones:

    gcloud init

    Si usas SSH en un servidor remoto, usa la marca --console-only para evitar que el comando abra un navegador:

    gcloud init --console-only
  2. Sigue las instrucciones a fin de autorizar a gcloud para que use tu cuenta de Google Cloud.
  3. Crea una configuración nueva o selecciona una existente.
  4. Elige un proyecto de Google Cloud.
  5. Elige una zona predeterminada de Compute Engine para clústeres zonales o una región para clústeres regionales o de Autopilot.

Usa gcloud config

  • 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 de Autopilot o regionales, configura 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

Crea un clúster con redes autorizadas

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

gcloud

Ejecuta el siguiente comando:

gcloud container clusters create 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: Los valores CIDR para las redes autorizadas

Con la marca --master-authorized-networks, puedes especificar CIDR delimitados por comas (como 8.8.8.0/24) a los que deseas otorgar acceso al extremo del plano de control de tu clúster a través de 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 a la página Google Kubernetes Engine en Cloud Console.

    Ir a Google Kubernetes Engine

  2. Haz clic en Crear.

  3. Configura tu clúster como desees.

  4. En el panel de navegación, en Clúster, haz clic en Redes.

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

  6. Haga clic en Agregar red autorizada.

  7. Ingresa un Nombre para la red.

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

  9. Haga clic en Listo. Agrega más redes autorizadas si lo deseas.

  10. Haz 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.

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 Cloud Console.

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: Los valores CIDR para las redes autorizadas

Con la marca --master-authorized-networks, puedes especificar CIDR delimitados por comas (como 8.8.8.0/24) a los que deseas otorgar acceso al extremo del plano de control de tu clúster a través de 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 a la página de Google Kubernetes Engine en Cloud Console:

    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 más redes autorizadas si lo deseas.

  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 herramienta de línea de comandos de gcloud o con Cloud Console.

gcloud

Ejecuta el comando siguiente:

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 a la página de Google Kubernetes Engine en Cloud Console:

    Ir a Google Kubernetes Engine

  2. Haz clic en el nombre del clúster que deseas modificar.

  3. En Herramientas de redes, ten en cuenta que 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 herramienta de línea de comandos de gcloud o con Cloud Console.

gcloud

Ejecuta el comando siguiente:

gcloud container clusters update cluster-name \
    --no-enable-master-authorized-networks

Console

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

    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

Puedes quitar todas las redes autorizadas personalizadas de un clúster existente con la herramienta de línea de comandos de gcloud o con Cloud Console.

gcloud

Ejecuta el siguiente comando:

gcloud container clusters update cluster-name \
    --enable-master-authorized-networks

Console

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

    Ir al menú 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 el ícono para quitar el CIDR que deseas quitar.

  5. Haz clic en Save Changes.

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