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). Las redes autorizadas otorgan acceso al plano de control a un conjunto específico de direcciones IP de confianza y proporcionan protección y beneficios de seguridad adicionales para tu clúster de 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.
Terminología relacionada con clústeres y direcciones IP
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 |
|
|
Clústeres privados heredados con extremos públicos y privados | Habilitado |
|
|
Clústeres que usan Private Service Connect | |||
Clústeres creados como públicos | Inhabilitado |
Cuando se establece la marca
Cuando se configura la marca
Para obtener más información, consulta Cambia el aislamiento 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
Cuando se configura la marca
Para obtener más información, consulta Cambia el aislamiento del 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
Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.
Haz clic en add_box Crear.
En la sección Autopilot o la sección Standard, haz clic en Configurar.
Configura tu clúster según sea necesario.
En el menú de navegación, 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.
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:
- Desde direcciones IP que son propiedad de Google Cloud.
- Desde direcciones IP externas, excepto las de los servicios de Google que ejecutan procesos de administración de clústeres.
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
Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.
Haz clic en add_box Crear.
En la sección Autopilot o la sección Standard, haz clic en Configurar.
Configura tu clúster según sea necesario.
En el menú de navegación, haz clic en Herramientas de redes.
En Opciones avanzadas de redes, selecciona la casilla de verificación Habilitar redes autorizadas del plano de control.
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.
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 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
Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.
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 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
Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.
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 de Google Cloud.
gcloud
Ejecuta el siguiente comando:
gcloud container clusters update CLUSTER_NAME \
--no-enable-master-authorized-networks
Consola
Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.
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
gcloud
Ejecuta el siguiente comando:
gcloud container clusters update CLUSTER_NAME \
--enable-master-authorized-networks
Consola
Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.
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.
Haz clic en
Borrar.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
- 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.