Instalar detrás de un 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.
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.
dl.fedoraproject.org Instala paquetes adicionales para Enterprise Linux (EPEL) cuando uses distribuciones de Red Hat Enterprise Linux (RHEL).
download.docker.com Agregar repositorio de Docker Esto es necesario si ejecutas la estación de trabajo de administrador detrás del proxy. Es obligatorio para las máquinas de nodo que se ejecutan detrás de un proxy cuando se usa Docker para el entorno de ejecución del contenedor.
gkeconnect.googleapis.com Establece el canal que se usa para recibir las solicitudes de Google Cloud y envía respuestas.
gkehub.googleapis.com Crea recursos de membresía del centro de Google Cloud que corresponden al clúster que conectas con Google Cloud.
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.
packages.cloud.google.com Descarga paquetes desde la duplicación de paquetes de Google Cloud.
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.
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 Administra los metadatos de Google Cloud's operations suite, 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

Los clústeres de Anthos en equipos físicos usan el administrador de paquetes APT en Ubuntu y el administrador de paquetes DNF en CentOS y Red Hat 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.

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.

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.

proxy.noProxy

Una lista de direcciones IP, nombres de host y 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. No agregues Service ni Pod CIDR.

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

Anula la configuración del proxy

Puedes ejecutar tu máquina de arranque detrás de un proxy diferente al que usan tus máquinas de nodos si anulas 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 las direcciones IP, los nombres de host y 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 tus reglas de firewall como se describe en las siguientes secciones a fin de permitir el tráfico descrito necesario para los clústeres de Anthos en equipos físicos.

Si quieres conocer los requisitos de puertos previos para los clústeres de Anthos en equipos físicos, 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 Para registrarse en el centro,se requiere acces.
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 los clústeres de Anthos alojados en equipos físicos están configurados para usar un registro privado de Docker 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 [Conecta el tráfico](/anthos/multicluster-management/connect).

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