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 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.
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.
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 el SDK de Cloud.
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.
-
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 a fin de autorizar a
gcloud
para que use tu cuenta de Google Cloud. - Crea una configuración nueva o selecciona una existente.
- Elige un proyecto de Google Cloud.
- 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
Ve al menú de Google Kubernetes Engine en Cloud Console.
Haz clic en add_box Crear.
Configura tu clúster como desees.
En el panel de navegación, en Clúster, haz clic en Redes.
En Opciones de red avanzadas, selecciona la casilla de verificación Habilitar redes autorizadas principales.
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 más redes autorizadas si lo deseas.
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
Ve al menú de Google Kubernetes Engine en Cloud Console.
Haz clic en el nombre del clúster que deseas modificar.
En Herramientas de redes, en el campo Redes autorizadas principales, haz clic en edit Editar redes autorizadas principales.
Selecciona la casilla de verificación Habilitar redes autorizadas de la instancia principal.
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 más redes autorizadas si lo deseas.
Haz clic en Guardar cambios.
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
Ve al menú de Google Kubernetes Engine en Cloud Console.
Haz clic en el nombre del clúster que deseas modificar.
En Herramientas de redes, ten en cuenta que el campo Redes autorizadas principales 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
Ve al menú de Google Kubernetes Engine en Cloud Console.
Haz clic en el nombre del clúster que deseas modificar.
En Herramientas de redes, en el campo Redes autorizadas principales, haz clic en edit Editar redes autorizadas principales.
Desmarca la casilla de verificación Habilitar redes autorizadas de la instancia principal.
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, especifica no 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.