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.
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
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). |