Usa un proxy HTTP
En este documento, se muestra cómo enrutar el tráfico desde GKE en Azure a través de un proxy HTTP/HTTPS. Debes especificar la configuración del proxy cuando creas un clúster.
Descripción general
GKE en Azure puede enrutar el tráfico saliente de Internet 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 desde Container Registry, sigue estos pasos:
Limitaciones
- Los campos
httpProxy
yhttpsProxy
no admiten URL que comiencen conhttps://
. Debes usarhttp://
. Las solicitudes al puerto 443 usan HTTPS. - Debes configurar los valores para
httpProxy
,httpsProxy
ynoProxy
. - La configuración del proxy de un clúster (el ID del grupo de recursos y el ID secreto) es inmutable. Debes crear un clúster nuevo y un grupo de nodos para actualizar estos valores.
- Es posible que debas agregar dominios, IP o CIDR adicionales al campo
noProxy
. Recomendamos agregar los CIDR de subred de los planos de control de tu clúster. El CIDR de la dirección del Pod y el CIDR de la dirección del servicio se agregan de forma predeterminada.
Requisitos previos
En esta sección, se describen los requisitos previos que debes aplicar antes de usar un proxy.
Configuración de Azure Key Vault
GKE en Azure almacena información sobre la configuración del proxy en Azure Key Vault. Si quieres configurar un proxy con GKE en Azure, debes tener permisos para crear un Secret en un Key Vault. Se debe poder acceder a Key Vault desde la VNet de tu clúster.
Lista de entidades permitidas del proxy
Para que los clústeres de GKE en Azure se conecten a los servicios de Google Cloud, 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
Reemplaza GCP_LOCATION
por la región de Google Cloud en la que reside el clúster de GKE Enterprise. Especifica us-west1
o alguna otra región compatible.
Requisito del grupo de seguridad de red de la subred
Si usas grupos de seguridad de red (NSG) para administrar el tráfico a tus subredes, tus reglas de NSG deben permitir el tráfico de TCP saliente a los siguientes destinos:
- AzureCloud: TCP, puertos 80 y 443
Consulta Etiquetas de servicio de Azure para obtener más información sobre el uso de etiquetas de servicio con NSG.
Crea un archivo de configuración de proxy
La configuración del proxy se almacena en un Secret de Azure Key Vault como una string JSON.
Puedes pasar esta configuración a la herramienta de línea de comandos de az
como un 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 |
Una URL del servidor proxy. El valor debe incluir un nombre de host y una dirección IP, y de forma opcional 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 del proxy para el tráfico encriptado y HTTPS. La URL httpProxy se usará si httpsProxy tiene un valor vacío. | "http://10.101.16.31:80"
|
Sí |
noProxy |
Una lista de URL separadas por comas que se debe excluir del proxy. Cada valor puede ser una dirección IP, un rango de CIDR, un nombre de dominio o el carácter asterisco (*). Los dominios especificados con un punto al principio (por ejemplo, “.google.com”) indican que se requiere un subdominio. Un solo asterisco * ignora toda la configuración de proxy. | "1.2.3.4,10.0.0.0/16,example.com,.site.com" |
Sí |
A fin de crear el archivo de configuración, crea un archivo JSON que contenga valores para
httpProxy
,noProxy
y claveshttpsProxy
opcionales.{ "httpProxy": "AUTHENTICATION_URL", "httpsProxy": "AUTHENTICATION_URL", "noProxy": "NO_PROXY_ADDRESSES" }
Reemplaza lo siguiente:
AUTHENTICATION_URL
: URL codificada que contiene el nombre de usuario del proxy y la contraseñaNO_PROXY_ADDRESSES
: Lista separada por comas de bloques CIDR y URL, por ejemplo10.0.0.0/16,http://example.com
Guarda el archivo para usarlo en la siguiente sección.
Crea un secreto con estos datos de JSON como un secreto en Azure Key Vault con la herramienta de línea de comandos de
az
.az keyvault secret set --name SECRET_NAME \ --vault-name KEY_VAULT_NAME \ --file PROXY_CONFIGURATION_FILE
Reemplaza lo siguiente:
SECRET_NAME
: El nombre del Secret nuevoKEY_VAULT_NAME
: El nombre de tu Key VaultPROXY_CONFIGURATION_FILE
: La ruta de acceso a tu archivo de configuración del proxy.El resultado incluye el nombre y el contenido del Secret. Ahora puedes hacer referencia a este Secret cuando creas un clúster.
Crea un clúster que use un proxy
Si deseas configurar GKE en Azure a fin de usar un proxy HTTP para la conectividad saliente, sigue estos pasos:
Sigue los pasos de la página Crea un clúster y un grupo 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
...
Reemplaza lo siguiente:
CLUSTER_NAME
: Es el nombre del clústerPROXY_RESOURCE_GROUP_ID
: Es el grupo de recursos que aloja el clústerPROXY_SECRET_ID
: Es el ID del Secret que contiene la configuración del proxy, por ejemplo,https://VAULT_NAME.vault.azure.net/secrets/SECRET_NAME/SECRET_VERSION
¿Qué sigue?
- Obtén más información sobre cómo crear un clúster.