En esta página, se muestra cómo configurar reglas de proxy y firewall para GKE en Bare Metal.
Configura tu servidor proxy
Si las máquinas que usas para los nodos de arranque y de clúster utilizan un servidor proxy a fin de acceder a Internet, debes hacer lo siguiente:
- Configura el envío mediante proxy para el administrador 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 conexiones a las siguientes direcciones:
Dirección | Objetivo |
---|---|
*.gcr.io |
Extrae imágenes de Container Registry. |
accounts.google.com |
Procesa las solicitudes de autorización para OpenID y descubre claves públicas para los tokens de verificación. |
binaryauthorization.googleapis.com |
Es obligatorio si se usa la Autorización Binaria. Autoriza (o rechaza) solicitudes de clústeres para ejecutar imágenes de contenedor. |
cloudresourcemanager.googleapis.com |
Resuelve los metadatos del proyecto de Google Cloud al que se conecta el clúster. |
compute.googleapis.com |
Verifica la región de recursos de Cloud Logging y Cloud Monitoring. |
connectgateway.googleapis.com |
Habilita la capacidad de otorgar a la Atención al cliente de Cloud acceso de solo lectura a tu clúster para diagnosticar problemas. |
dl.google.com |
Descarga y, luego, instala el SDK de Google Cloud. |
gkeconnect.googleapis.com |
Establece el canal que se usa para recibir las solicitudes de Google Cloud y envía respuestas. Si tu clúster se registró en la flota con una
región de Google Cloud, debes incluir en la lista de entidades permitidas
REGION-gkeconnect.googleapis.com (por ejemplo,
us-central1-gkeconnect.googleapis.com ). Si no especificaste una
región, el clúster usará la instancia de servicio global de Connect y debes incluir en la lista de entidades permitidas
gkeconnect.googleapis.com . Si necesitas encontrar la ubicación de la membresía de la flota
del clúster, ejecuta gcloud container fleet memberships list .
Para obtener más información, consulta gkeConnect.location .
|
gkehub.googleapis.com |
Crea recursos de membresía de la flota de Google Cloud que corresponden al clúster que conectas con Google Cloud. |
gkeonprem.googleapis.com |
Crea y administra el ciclo de vida del clúster en la infraestructura de los equipos físicos y de VMware. |
gkeonprem.mtls.googleapis.com |
Crea y administra el ciclo de vida del clúster en la infraestructura de los equipos físicos y de VMware. Esta versión de la API se usa de forma automática con mTLS. |
iam.googleapis.com |
Crea cuentas de servicio que puedas usar para autenticar en Google Cloud y realizar llamadas a la API. |
iamcredentials.googleapis.com |
Proporciona controles de admisión y informes de telemetría para el registro de auditoría. |
logging.googleapis.com |
Escribe entradas de registro y administra la configuración de Cloud Logging. |
monitoring.googleapis.com |
Administra tus datos y parámetros de configuración de Cloud Monitoring. |
oauth2.googleapis.com |
Realiza la autenticación a través del intercambio de tokens de OAuth para acceder a la cuenta. |
opsconfigmonitoring.googleapis.com |
Recopila metadatos para los recursos de Kubernetes, como Pods, implementaciones o nodos, a fin de enriquecer las consultas de métricas. |
releases.hashicorp.com |
Opcional. Usa el cliente de Terraform en la 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 identidad de cargas de trabajo. |
servicecontrol.googleapis.com |
Escribe entradas de registro de auditoría en los registros de auditoría de Cloud. |
serviceusage.googleapis.com |
Habilita y valida los servicios y las API. |
stackdriver.googleapis.com |
Administrar los metadatos de observabilidad de Google Cloud, como las cuentas de Stackdriver |
storage.googleapis.com |
Administra el almacenamiento y los buckets de objetos, como los objetos de Container Registry. |
sts.googleapis.com |
Intercambia credenciales de Google o de terceros por un token de acceso de corta duración a recursos de Google Cloud. |
www.googleapis.com |
Autentica los tokens de servicio de las solicitudes de servicio entrantes de Google Cloud. |
Además de estas URL, el servidor proxy también debe permitir cualquier la duplicación de paquetes que requiera el administrador de paquetes de tu sistema operativo. Puedes actualizar la configuración del administrador de paquetes para usar una lista más determinista, que es más fácil de administrar.
Configura el envío mediante proxy para el administrador de paquetes en los nodos del clúster
GKE en Bare Metal usa el administrador de paquetes APT en Ubuntu y el administrador de paquetes DNF en Red Hat Enterprise Linux. Asegúrate de que el administrador de paquetes del SO tenga la configuración de proxy correcta.
Consulta la documentación de tu distribución de SO para obtener detalles sobre la configuración del proxy. En los siguientes ejemplos, se muestra una forma de establecer la configuración del proxy:
APT
Con estos comandos, se demuestra 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
Reemplaza USERNAME:PASSWORD@DOMAIN
con los detalles específicos de tu configuración. Por ejemplo, si tu proxy no requiere acceso, no incluyas USERNAME:PASSWORD@
con DOMAIN
.
DNF
Con este comando, se muestra cómo configurar el proxy para DNF:
echo "proxy=http://USERNAME:PASSWORD@DOMAIN" >> /etc/dnf/dnf.conf
Reemplaza USERNAME:PASSWORD@DOMAIN
con los detalles específicos de tu configuración. Por ejemplo, si tu proxy no requiere acceso, no incluyas USERNAME:PASSWORD@
con DOMAIN
.
Configura los detalles del proxy en el archivo de configuración del clúster
En el archivo de configuración del clúster, establece los siguientes valores a fin de configurar el clúster para que use el proxy:
proxy.url
Una string que especifica la URL del proxy. Las máquinas de nodo y de arranque usan este proxy para acceder a Internet. La string de URL del proxy debe comenzar con su esquema, por ejemplo, http://
o https://
.
proxy.noProxy
Una 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 agregar ningún elemento a esta lista.
Casos de uso de noProxy
:
Usa una duplicación de paquete privada, que se encuentra en la misma red privada (no necesitas proxy para acceder)
Usa una duplicación de registro privada, que se encuentra en la misma red privada (no necesitas un proxy para acceder)
Ejemplo
El siguiente es un ejemplo de la configuración de proxy en un archivo de configuración de clúster:
proxy:
url: http://USERNAME:PASSWORD@DOMAIN
noProxy:
- example1.com
- example2.com
Parámetros de configuración de proxy para GKE Identity Service
Si usas GKE Identity Service para la autenticación en GKE en clústeres de Bare Metal, se requieren los siguientes pasos adicionales a fin de garantizar que GKE Identity Service funcione cuando esté detrás de un proxy.
En el archivo de configuración del clúster, establece los detalles del proxy en la sección
authentication
de OIDC para la configuración de GKE Identity Service.authentication: oidc: proxy: http://USERNAME:PASSWORD@DOMAIN
Actualiza la configuración del servidor proxy para permitir conexiones a las URLs de autenticación del proveedor de OIDC.
Cómo se usa el proxy dentro del clúster
Como regla general, los comandos de bmctl
y los procesos que generan usan la configuración del proxy que definen las variables de entorno HTTPS_PROXY
y NO_PROXY
, if están definidas. De lo contrario, bmctl
usa la configuración del 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 nodo del clúster o que son ejecutados por el clúster de arranque usan la configuración del proxy del archivo de configuración del clúster.
El administrador de paquetes del SO en cada nodo usa sus propios archivos de configuración para la configuración del proxy.
Anula la configuración del proxy en tu máquina de arranque
Puedes ejecutar la estación de trabajo de administrador detrás de un proxy diferente al que usan las máquinas de nodo mediante la anulación de la configuración del proxy en el archivo de configuración del clúster. Para anular la configuración del proxy, configura las siguientes variables de entorno en la máquina de arranque:
export HTTPS_PROXY=http://USERNAME:PASSWORD@DOMAIN
Reemplaza USERNAME:PASSWORD@DOMAIN
con los detalles específicos de tu configuración.
export NO_PROXY=example1.com,example2.com
Reemplaza example1.com,example2.com por direcciones IP, nombres de host y nombres de dominio que no deben pasar por el servidor proxy.
Efectos secundarios
Cuando se ejecuta como raíz, bmctl
actualiza la configuración del proxy de Docker en la máquina de arranque. Si no ejecutas bmctl
como raíz, configura el proxy de Docker de forma manual.
Reglas de firewall
Configura las reglas de firewall como se describe en las siguientes secciones para permitir el tráfico descrito necesario para GKE en Bare Metal.
Para conocer los requisitos de puerto de GKE en Bare Metal, consulta Uso de puertos.
Reglas de firewall para las direcciones IP del nodo del clúster
En la siguiente tabla, se describen las reglas de firewall para las direcciones IP disponibles en tus clústeres.
Desde |
Puerto de origen |
Hasta |
Puerto |
Protocolo |
Descripción |
---|---|---|---|---|---|
Nodo del clúster | 1024 - 65535 | cloudresourcemanager.googleapis.com gkeconnect.googleapis.com gkehub.googleapis.com |
443 | TCP/HTTPS | Se requiere acceso para el registro de la flota. |
Recopilador de Cloud Logging, que se ejecuta en un 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 | |
Recopilador de metadatos de Cloud, 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 del clúster | 1024 - 65535 | Registro local de Docker | Depende del registro | TCP/HTTPS | Es obligatorio si GKE en Bare Metal está configurado para usar un registro local de Docker privado en lugar de gcr.io . |
Nodo del clúster | 1024 - 65535 | gcr.io oauth2.googleapis.com storage.googleapis.com Cualquier URL de la API de Google con el formato *.googleapis.com necesario para los servicios habilitados para el clúster de administrador |
443 | TCP/HTTPS | Descarga imágenes de registros públicos de Docker. No es necesario si se usa un registro privado de Docker. |
Agente de Connect, que se ejecuta en un nodo del 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 administrado por el agente de Connect, consulta Descripción general del agente de Connect. |
Nodo del clúster | 1024 - 65535 |
gkeonprem.googleapis.com gkeonprem.mtls.googleapis.com |
443 | TCP/HTTPS | Crea y administra el ciclo de vida del clúster en la infraestructura de los equipos físicos y de VMware. |
Reglas de firewall para los componentes restantes
Las reglas que se describen en la siguiente tabla se aplican a todos los demás componentes que no se mencionaron en la sección anterior.
Desde |
Puerto de origen |
Hasta |
Puerto |
Protocolo |
Descripción |
---|---|---|---|---|---|
Clientes y usuarios finales de la aplicación | All | VIP de entrada de Istio | 80, 443 | TCP | Tráfico del usuario final 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 *.googleapis.com necesaria para los servicios habilitados en este clúster |
443 | TCP/HTTPS | Descarga imágenes de 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 en los clústeres de administrador o usuario |
443 | TCP/HTTPS | Comprobaciones previas (validación). |