Instalar detrás de un proxy

En esta página se muestra cómo configurar reglas de proxy y de cortafuegos para Google Distributed Cloud.

Configurar el servidor proxy

Si las máquinas que usas para los nodos de bootstrap y de clúster utilizan un servidor proxy para acceder a Internet, debes hacer lo siguiente:

  • Configurar el proxy del gestor de paquetes en los nodos del clúster
  • Configura los detalles del proxy en el archivo de configuración del clúster.

Requisitos previos

Tu servidor proxy debe permitir las conexiones a las siguientes direcciones:

Dirección Finalidad
*.gcr.io Extraer imágenes de Artifact Registry.
accounts.google.com Procesa las solicitudes de autorización de OpenID y descubre las claves públicas para verificar los tokens.
binaryauthorization.googleapis.com Obligatorio si se usa Autorización binaria. Autoriza (o rechaza) las solicitudes de los clústeres para ejecutar imágenes de contenedor.
cloudresourcemanager.googleapis.com Resuelve los metadatos relacionados con el Google Cloud proyecto al que se está conectando el clúster.
compute.googleapis.com Verifica la región de los recursos de Cloud Logging y Cloud Monitoring.
connectgateway.googleapis.com Habilita la opción de dar acceso de solo lectura al equipo de Asistencia de Cloud a tu clúster para diagnosticar problemas.
dl.google.com Descarga e instala el SDK de Google Cloud.
gkeconnect.googleapis.com Establece el canal que se usará para recibir solicitudes de Google Cloud y emitir respuestas. Si tu clúster se registró en la flota con una Google Cloud región, debes incluir en la lista de permitidos REGION-gkeconnect.googleapis.com (por ejemplo, us-central1-gkeconnect.googleapis.com). Si no especificaste ninguna región, el clúster usará la instancia del servicio Connect global y debes incluir en la lista de permitidos gkeconnect.googleapis.com. Si necesitas encontrar la ubicación de los miembros de la flota de tu clúster, ejecuta gcloud container fleet memberships list. Para obtener más información, consulta gkeConnect.location.
gkehub.googleapis.com Crea recursos de pertenencia a la flota del lado de Google Cloudque correspondan al clúster al que te vas a conectar Google Cloud.
gkeonprem.googleapis.com Crea y gestiona el ciclo de vida de los clústeres en infraestructura de Bare Metal y VMware.
gkeonprem.mtls.googleapis.com Crea y gestiona el ciclo de vida de los clústeres en infraestructura de Bare Metal y VMware. Esta versión de la API se usa automáticamente con mTLS.
iam.googleapis.com Crea cuentas de servicio, que puedes usar para autenticarte en Google Cloud y hacer llamadas a la API.
iamcredentials.googleapis.com Proporciona control de acceso e informes de telemetría para el registro de auditoría.
kubernetesmetadata.googleapis.com Los clústeres usan esta API como endpoint para enviar metadatos de Kubernetes aGoogle Cloud. Los metadatos son vitales para la monitorización, la depuración y la recuperación de clústeres.
logging.googleapis.com Escribe entradas de registro y gestiona tu configuración de Cloud Logging.
monitoring.googleapis.com Gestiona los datos y las configuraciones de Cloud Monitoring.
oauth2.googleapis.com Autenticar mediante el intercambio de tokens de OAuth para acceder a la cuenta.
opsconfigmonitoring.googleapis.com Recoge metadatos de recursos de Kubernetes, como pods, despliegues o nodos, para enriquecer las consultas de métricas.
releases.hashicorp.com Opcional. Usa el cliente de Terraform en tu estación de trabajo de administrador para ejecutar comandos, como terraform apply.
securetoken.googleapis.com Recupera tokens de actualización para la autorización de Workload Identity.
servicecontrol.googleapis.com Escribir entradas de registro de auditoría en Registros de auditoría de Cloud.
serviceusage.googleapis.com Habilita y valida servicios y APIs.
stackdriver.googleapis.com Gestiona los metadatos de Google Cloud Observability, como las cuentas de Stackdriver.
storage.googleapis.com Gestionar el almacenamiento de objetos y los segmentos, como los objetos de Artifact Registry.
sts.googleapis.com Intercambia credenciales de Google o de terceros por un token de acceso de corta duración para acceder a los recursos de Google Cloud .
www.googleapis.com Autentica los tokens de servicio de las solicitudes de servicio entrantes. Google Cloud

Además de estas URLs, el servidor proxy también debe permitir cualquier mirror de paquetes que requiera el gestor de paquetes de tu sistema operativo. Puedes actualizar la configuración del gestor de paquetes para usar una lista más determinista, que es más fácil de gestionar.

Configurar el proxy del gestor de paquetes en los nodos del clúster

Google Distributed Cloud usa el gestor de paquetes APT en Ubuntu y el gestor de paquetes DNF en Red Hat Enterprise Linux. Asegúrate de que el gestor de paquetes del SO tenga la configuración de proxy correcta.

Consulta la documentación de la distribución de tu sistema operativo para obtener información sobre cómo configurar el proxy. En los siguientes ejemplos se muestra una forma de configurar los ajustes del proxy:

APT

Estos comandos muestran cómo configurar el proxy para APT:

sudo touch /etc/apt/apt.conf.d/proxy.conf

echo 'Acquire::http::Proxy "http://USERNAME:PASSWORD@DOMAIN";' \
    >> /etc/apt/apt.conf.d/proxy.conf

echo 'Acquire::https::Proxy "http://USERNAME:PASSWORD@DOMAIN";' \
    >> /etc/apt/apt.conf.d/proxy.conf

Sustituye USERNAME:PASSWORD@DOMAIN por los detalles específicos de tu configuración. Por ejemplo, si tu proxy no requiere que inicies sesión, no incluyas USERNAME:PASSWORD@ con DOMAIN.

DNF

Este comando muestra cómo configurar el proxy para DNF:

echo "proxy=http://USERNAME:PASSWORD@DOMAIN" >> /etc/dnf/dnf.conf

Sustituye USERNAME:PASSWORD@DOMAIN por los detalles específicos de tu configuración. Por ejemplo, si tu proxy no requiere que inicies sesión, no incluyas USERNAME:PASSWORD@ con DOMAIN.

Configurar los detalles del proxy en el archivo de configuración del clúster

En el archivo de configuración del clúster, defina los siguientes valores para configurar el clúster de forma que use el proxy:

proxy.url

Cadena que especifica la URL del proxy. Las máquinas de arranque y de nodo usan este proxy para acceder a Internet. La cadena de URL del proxy debe empezar por su esquema, como http:// o https://.

proxy.noProxy

Lista de direcciones IP, nombres de host y nombres de dominio que no deben pasar por el servidor proxy.

En la mayoría de los casos, no es necesario que añada ningún elemento a esta lista.

noProxy casos prácticos:

  • Usar un mirror de paquetes privado, que se encuentra en la misma red privada (no se necesita proxy para acceder)

  • Usar un mirror de registro privado, que se encuentra en la misma red privada (no se necesita proxy para acceder)

Ejemplo

A continuación, se muestra un ejemplo de los ajustes de proxy en un archivo de configuración de clúster:

  proxy:
     url: http://USERNAME:PASSWORD@DOMAIN
     noProxy:
     - example1.com
     - example2.com

Configuraciones de proxy para Identity Service de GKE

Si usas GKE Identity Service para la autenticación en clústeres de Google Distributed Cloud, debes seguir estos pasos adicionales para asegurarte de que GKE Identity Service funcione cuando esté detrás de un proxy.

  1. En el archivo de configuración del clúster, define los detalles del proxy en la sección OIDC authentication de los ajustes de GKE Identity Service.

      authentication:
        oidc:
          proxy: http://USERNAME:PASSWORD@DOMAIN
    
  2. Actualiza la configuración de tu servidor proxy para permitir las conexiones a las URLs de autenticación de tu proveedor de OIDC.

Cómo se usa el proxy dentro del clúster

Por lo general, los comandos bmctl y los procesos que generan usan la configuración de proxy definida por las variables de entorno HTTPS_PROXY y NO_PROXY si están definidas. De lo contrario, bmctl usará la configuración de proxy del archivo de configuración del clúster. Otros comandos que se ejecutan en la estación de trabajo de administrador, en las máquinas de nodos del clúster o en el clúster de arranque usan la configuración del proxy del archivo de configuración del clúster.

El gestor de paquetes del SO de cada nodo usa sus propios archivos de configuración para los ajustes de proxy.

Anular la configuración del proxy en la máquina de arranque

Puedes ejecutar tu estación de trabajo de administrador con un proxy diferente al que usan tus máquinas de nodos. Para ello, debes anular la configuración del proxy en el archivo de configuración del clúster. Para anular la configuración del proxy, define las siguientes variables de entorno en la máquina de arranque:

export HTTPS_PROXY=http://USERNAME:PASSWORD@DOMAIN

Sustituye USERNAME:PASSWORD@DOMAIN por los detalles específicos de tu configuración.

export NO_PROXY=example1.com,example2.com

Sustituye example1.com,example2.com por las direcciones IP, los nombres de host y los nombres de dominio que no deban pasar por el servidor proxy.

Efectos secundarios

Cuando se ejecuta como root, bmctl actualiza la configuración del proxy de Docker en la máquina de arranque. Si no ejecutas bmctl como root, configura el proxy de Docker manualmente.

Reglas de cortafuegos

Configura tus reglas de cortafuegos como se indica en las siguientes secciones para permitir el tráfico descrito que necesita Google Distributed Cloud.

Para consultar los requisitos de puertos previos de Google Distributed Cloud, consulta Uso de puertos.

Reglas de cortafuegos para direcciones IP de nodos de clúster

En la siguiente tabla se describen las reglas de firewall para las direcciones IP disponibles en tus clústeres.

De

Puerto de origen

Para

Puerto

Protocolo

Descripción

Nodo de clúster 1024 - 65535 cloudresourcemanager.googleapis.com
gkeconnect.googleapis.com
gkehub.googleapis.com
443 TCP/HTTPS Se necesita acceso para registrar la flota.
Cloud Logging Collector, que se ejecuta en el nodo del clúster 1024 - 65535 oauth2.googleapis.com
logging.googleapis.com
stackdriver.googleapis.com
servicecontrol.googleapis.com
storage.googleapis.com
www.googleapis.com
443 TCP/HTTPS
Cloud Metadata Collector, que se ejecuta en el nodo del clúster 1024 - 65535 opsconfigmonitoring.googleapis.com 443 TCP/HTTPS
Recopilador de Cloud Monitoring, que se ejecuta en el nodo del clúster 1024 - 65535 oauth2.googleapis.com
monitoring.googleapis.com
stackdriver.googleapis.com
servicecontrol.googleapis.com
443 TCP/HTTPS
Nodo de clúster 1024 - 65535 Registro de Docker local en las instalaciones Depende de tu registro TCP/HTTPS Obligatorio si Google Distributed Cloud está configurado para usar un registro de Docker privado local en lugar de gcr.io.
Nodo de clúster 1024 - 65535 gcr.io
oauth2.googleapis.com
storage.googleapis.com
Cualquier URL de API de Google con el formato *.googleapis.com necesaria para los servicios habilitados en el clúster de administrador.
443 TCP/HTTPS Descargar imágenes de registros públicos de Docker. No es necesario si se usa un registro de Docker privado.
Agente de conexión, que se ejecuta en un nodo de clúster 1024 - 65535 cloudresourcemanager.googleapis.com
gkeconnect.googleapis.com
gkehub.googleapis.com
www.googleapis.com
iam.googleapis.com
iamcredentials.googleapis.com
oauth2.googleapis.com
securetoken.googleapis.com
sts.googleapis.com
accounts.google.com
443 TCP/HTTPS Para obtener más información sobre el tráfico gestionado por el agente de Connect, consulta la información general sobre el agente de Connect.
Nodo de clúster 1024 - 65535 gkeonprem.googleapis.com
gkeonprem.mtls.googleapis.com
443 TCP/HTTPS Crea y gestiona el ciclo de vida de los clústeres en infraestructura de Bare Metal y VMware.

Reglas de cortafuegos para los componentes restantes

Las reglas descritas en la siguiente tabla se aplican a todos los demás componentes que no se indican en la sección anterior.

De

Puerto de origen

Para

Puerto

Protocolo

Descripción

Clientes y usuarios finales de aplicaciones Todo IP virtual de entrada de Istio 80 y 443 TCP Tráfico de usuarios finales al servicio de entrada de un clúster de usuarios.
Estación de trabajo de administrador 32768 - 60999 gcr.io
cloudresourcemanager.googleapis.com
oauth2.googleapis.com
storage.googleapis.com
Cualquier URL de *.googleapis.com necesaria para los servicios habilitados en este clúster
443 TCP/HTTPS Descargar imágenes Docker de registros públicos de Docker.
Estación de trabajo de administrador 32768 - 60999 gcr.io
cloudresourcemanager.googleapis.com
iam.googleapis.com
oauth2.googleapis.com
serviceusage.googleapis.com
storage.googleapis.com
Cualquier URL de *.googleapis.com necesaria para los servicios habilitados para los clústeres de administrador o de usuario
443 TCP/HTTPS Comprobaciones preparatorias (validación).