Utilizar un proxy HTTP
En este documento se explica cómo enrutar el tráfico de GKE en Azure a través de un proxy HTTP o HTTPS. La configuración del proxy se especifica al crear un clúster.
Información general
GKE en Azure puede enrutar el tráfico de Internet saliente a través de un proxy por los siguientes motivos:
- Para registrar clústeres con Google Cloud a través de Connect
- Para ejecutar el agente de Connect
- Para descargar imágenes de Container Registry
Limitaciones
- Los campos
httpProxy
yhttpsProxy
no admiten URLs que empiecen porhttps://
. Debes usarhttp://
. Las solicitudes al puerto 443 usan HTTPS. - Debe definir los valores de
httpProxy
,httpsProxy
ynoProxy
. - La configuración del proxy de un clúster (el ID del grupo de recursos y el ID del secreto) es inmutable. Para actualizar estos valores, debes crear un clúster y un grupo de nodos.
- Es posible que tengas que añadir más dominios, IPs o CIDRs al campo
noProxy
. Te recomendamos que añadas los CIDRs de la subred de los planos de control de tu clúster (los CIDRs de las direcciones de los pods y de los servicios se añaden de forma predeterminada).
Requisitos previos
En esta sección se describen los requisitos previos que debe cumplir antes de usar un proxy.
Configuración de Azure Key Vault
GKE en Azure almacena la información de configuración del proxy en Azure Key Vault. Para configurar un proxy con GKE en Azure, debes tener permisos para crear un secreto en un almacén de claves. Se debe poder acceder al almacén de claves desde la red virtual de tu clúster.
Lista de permitidos de proxy
Para que GKE en Azure se conecte a los Google Cloud servicios, el servidor proxy debe permitir el tráfico a dominios específicos de Google y Microsoft.
.azure.com
.gcr.io
cloudresourcemanager.googleapis.com
container.googleapis.com
gkeconnect.googleapis.com
gkehub.googleapis.com
oauth2.googleapis.com
securetoken.googleapis.com
storage.googleapis.com
sts.googleapis.com
www.googleapis.com
servicecontrol.googleapis.com
logging.googleapis.com
monitoring.googleapis.com
opsconfigmonitoring.googleapis.com
GCP_LOCATION-gkemulticloud.googleapis.com
Sustituye GCP_LOCATION
por la Google Cloud región en la que se encuentra tu clúster. Especifica us-west1
u otra región admitida.
Requisito de grupo de seguridad de red de subred
Si usas grupos de seguridad de red (NSGs) para gestionar el tráfico a tus subredes, las reglas de tus NSGs deben permitir el tráfico TCP saliente a los siguientes destinos:
- AzureCloud: TCP, puertos 80 y 443
Para obtener más información sobre el uso de etiquetas de servicio con grupos de seguridad de red, consulta Etiquetas de servicio de Azure.
Crear un archivo de configuración de proxy
La configuración del proxy se almacena en un secreto de Azure Key Vault como una cadena JSON.
Puedes transferir esta configuración a la herramienta de línea de comandos az
como archivo. En esta sección se describe cómo crear ese archivo.
En la siguiente tabla se describe el contenido de este archivo.
Campo | Descripción | Ejemplos | Obligatorio |
---|---|---|---|
httpProxy |
URL de un servidor proxy. El valor debe incluir un nombre de host o una dirección IP y, opcionalmente, un puerto, un nombre de usuario y una contraseña. | "http://user:password@10.184.37.42:80" "10.184.37.42" |
Sí |
httpsProxy |
Una URL de proxy para el tráfico HTTPS cifrado. La URL httpProxy se usará si httpsProxy tiene un valor vacío. | "http://10.101.16.31:80"
|
Sí |
noProxy |
Lista de URLs separadas por comas que se excluirán del proxy. Cada valor puede ser una dirección IP, un intervalo CIDR, un nombre de dominio o un asterisco (*). Los dominios especificados con un punto inicial (por ejemplo, `.google.com`) indican que se requiere un subdominio. Un solo asterisco (*) ignora toda la configuración del proxy. | "1.2.3.4,10.0.0.0/16,example.com,.site.com" |
Sí |
Para crear el archivo de configuración, crea un archivo JSON que contenga valores para las claves
httpProxy
,noProxy
yhttpsProxy
(opcional).{ "httpProxy": "AUTHENTICATION_URL", "httpsProxy": "AUTHENTICATION_URL", "noProxy": "NO_PROXY_ADDRESSES" }
Haz los cambios siguientes:
AUTHENTICATION_URL
: URL codificada que contiene el nombre de usuario y la contraseña del proxy.NO_PROXY_ADDRESSES
: lista de bloques CIDR y URLs separados por comas. Por ejemplo:10.0.0.0/16,http://example.com
Guarda el archivo para usarlo en la siguiente sección.
Crea un secreto con estos datos JSON como secreto en Azure Key Vault mediante la herramienta de línea de comandos
az
.az keyvault secret set --name SECRET_NAME \ --vault-name KEY_VAULT_NAME \ --file PROXY_CONFIGURATION_FILE
Haz los cambios siguientes:
SECRET_NAME
: el nombre del nuevo secretoKEY_VAULT_NAME
: el nombre de tu Key VaultPROXY_CONFIGURATION_FILE
: la ruta al archivo de configuración del proxy.La salida incluye el nombre y el contenido del secreto. Ahora puedes hacer referencia a este secreto al crear un clúster.
Crear un clúster que use un proxy
Para configurar GKE en Azure de forma que use un proxy HTTP para la conectividad saliente, sigue estos pasos:
Sigue los pasos que se indican en Crear un clúster y un pool de nodos y pasa las marcas --proxy-resource-group-id
y --proxy-secret-id
.
gcloud container azure clusters create CLUSTER_NAME \
--proxy-resource-group-id=PROXY_RESOURCE_GROUP_ID \
--proxy-secret-id=PROXY_SECRET_ID
...
Haz los cambios siguientes:
CLUSTER_NAME
: el nombre de tu clústerPROXY_RESOURCE_GROUP_ID
: el grupo de recursos que aloja tu clústerPROXY_SECRET_ID
: el ID del secreto que contiene la configuración de tu proxy. Por ejemplo,https://VAULT_NAME.vault.azure.net/secrets/SECRET_NAME/SECRET_VERSION
.
Siguientes pasos
- Consulta más información sobre cómo crear un clúster.