En esta página, se explica cómo otorgar acceso a las redes autorizadas a los planes de control de clúster 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 del 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.
Los clústeres privados ejecutan nodos que solo tengan direcciones IP internas y, al igual que las redes autorizadas, no permitan direcciones IP que no sean de confianza desde fuera de Google Cloud para acceder al extremo del plano de control.
El uso de redes autorizadas en clústeres privados hace que tu plano de control sea accesible solo mediante las siguientes acciones:
- Direcciones dentro de Google Cloud, como las máquinas virtuales (VM) de Compute Engine, Cloud Functions y Cloud Run
- Bloques CIDR permitidos
- Nodos y Pods dentro de la VPC de tu clúster
- Los trabajos de producción interna de Google que administran tu plano de control
Las redes autorizadas y los usuarios de clústeres privados no deben depender del acceso al plano de control desde servicios en la nube, como Cloud Run y Cloud Functions, ya que se quitará este acceso en el futuro.
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.
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:
- Asegúrate de que habilitaste la API de Google Kubernetes Engine. Habilitar la API de Google Kubernetes Engine
- Asegúrate de que instalaste Google Cloud CLI.
- Establece la configuración predeterminada de Google Cloud CLI para tu proyecto mediante uno de los siguientes métodos:
- Usa
gcloud init
si deseas ver una explicación sobre cómo configurar los valores predeterminados del proyecto. - Usa
gcloud config
para configurar el ID, la zona y la región del proyecto de manera individual. -
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
- Sigue las instrucciones para autorizar a la CLI de gcloud a usar tu cuenta de Google Cloud.
- Crea una configuración nueva o selecciona una existente.
- Elige un proyecto de Google Cloud.
- Elige una zona de Compute Engine predeterminada.
- Elige una región de Compute Engine predeterminada.
- Establece tu ID del proyecto predeterminado:
gcloud config set project PROJECT_ID
- Configura la región de Compute Engine predeterminada (por ejemplo,
us-central1
):gcloud config set compute/region COMPUTE_REGION
- Configura la zona de Compute Engine predeterminada (por ejemplo,
us-central1-c
):gcloud config set compute/zone COMPUTE_ZONE
- Actualiza
gcloud
a la versión más reciente:gcloud components update
gcloud init
gcloud config
Cuando configuras las ubicaciones predeterminadas, puedes evitar errores en la CLI de gcloud como el siguiente: One of [--zone, --region] must be supplied: Please specify location
.
Crea un clúster con redes autorizadas
Puedes crear un clúster con una o más redes autorizadas mediante Google Cloud CLI, 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,...
: 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
Console
Ve a la página de Google Kubernetes Engine en la consola.
Haz clic en add_box Crear.
Configura tu clúster según sea necesario.
En el menú de navegación, en Clúster, haz clic en Herramientas de redes.
En Opciones avanzadas de redes, selecciona la casilla de verificación Habilitar redes autorizadas del plano de control.
Haga clic en Agregar red autorizada.
Ingresa un Nombre para la red.
En Red, ingresa un rango de CIDR para el que desees otorgar acceso al plano de control de tu clúster.
Haga clic en Listo. Agrega redes autorizadas adicionales según sea necesario.
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.
Crea 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 Configura un clúster privado.
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.
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
Console
Dirígete a la página Google Kubernetes Engine en la consola.
Haz clic en el nombre del clúster que deseas modificar.
En Herramientas de redes, en el campo Redes autorizadas del plano de control, haz clic en edit Editar redes autorizadas del plano de control.
Selecciona la casilla de verificación Habilitar redes autorizadas del plano de control.
Haga clic en Agregar red autorizada.
Ingresa un Nombre para la red.
En Red, ingresa un rango de CIDR para el que desees otorgar acceso al plano de control de tu clúster.
Haga clic en Listo. Agrega redes autorizadas adicionales según sea necesario.
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.
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
...
Console
Dirígete a la página Google Kubernetes Engine en la consola.
Haz clic en el nombre del clúster que deseas modificar.
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.
gcloud
Ejecuta el comando siguiente:
gcloud container clusters update CLUSTER_NAME \
--no-enable-master-authorized-networks
Console
Dirígete a la página Google Kubernetes Engine en la consola.
Haz clic en el nombre del clúster que deseas modificar.
En Herramientas de redes, en el campo Redes autorizadas del plano de control, haz clic en edit Editar redes autorizadas del plano de control.
Desmarca la casilla de verificación Habilitar redes autorizadas del plano de control.
Haz clic en Save Changes.
Quita redes autorizadas
Puedes quitar todas las redes autorizadas personalizadas de un clúster existente con la consola.
Ve a la página de Google Kubernetes Engine en la consola.
Haz clic en el nombre del clúster que deseas modificar.
En Herramientas de redes, en el campo Redes autorizadas del plano de control, haz clic en edit Editar redes autorizadas del plano de control.
Para quitar CIDR, haz clic en
Borrar.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
- Lee la descripción general de redes de GKE.
- Obtén más información sobre los clústeres nativos de VPC.
- Obtén más información acerca de las reglas de firewall.
- Aprende a crear clústeres privados.