Utilizzo di un proxy HTTP
Questo documento mostra come instradare il traffico da GKE on Azure tramite un proxy HTTP/HTTPS. Specifica la configurazione del proxy quando crei un cluster.
Panoramica
GKE su Azure può instradare il traffico internet in uscita tramite un proxy per i seguenti motivi:
- Per registrare i cluster Google Cloud tramite Connect
- Per eseguire l'agente Connect
- Per scaricare le immagini da Container Registry
Limitazioni
- I campi
httpProxy
ehttpsProxy
non supportano gli URL che iniziano conhttps://
. Devi utilizzarehttp://
. Le richieste alla porta 443 utilizzano HTTPS. - Devi impostare i valori per
httpProxy
,httpsProxy
enoProxy
. - La configurazione proxy di un cluster, ovvero l'ID gruppo di risorse e l'ID secret, è immutabile. Per aggiornare questi valori, devi creare un nuovo cluster e un nuovo pool di nodi.
- Potresti dover aggiungere altri domini, IP o CIDR al campo
noProxy
. Ti consigliamo di aggiungere i CIDR delle subnet dei control plane del cluster (il CIDR dell'indirizzo del pod e il CIDR dell'indirizzo del servizio vengono aggiunti per impostazione predefinita).
Prerequisiti
Questa sezione descrive i prerequisiti da applicare prima di utilizzare un proxy.
Configurazione di Azure Key Vault
GKE su Azure archivia le informazioni di configurazione del proxy in Azure Key Vault. Per configurare un proxy con GKE su Azure, devi disporre delle autorizzazioni per creare un segreto in Key Vault. La cassetta di sicurezza deve essere accessibile dalla VNet del cluster.
Lista consentita proxy
Affinché GKE on Azure possa connettersi ai servizi Google Cloud , il server proxy deve consentire il traffico verso domini Google e Microsoft specifici.
.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
Sostituisci GCP_LOCATION
con la Google Cloud regione in cui risiede il tuo cluster GKE Enterprise. Specifica us-west1
o un'altra
regione supportata.
Requisito del gruppo di sicurezza di rete della subnet
Se utilizzi i gruppi di sicurezza della rete (NSG) per gestire il traffico verso le sottoreti, le regole del gruppo di sicurezza della rete devono consentire il traffico TCP in uscita verso le seguenti destinazioni:
- AzureCloud: TCP, porta 80 e 443
Per ulteriori informazioni sull'utilizzo dei tag di servizio con le NSG, consulta Tag di servizio Azure.
Crea un file di configurazione del proxy
La configurazione del proxy viene memorizzata in un secret di Azure Key Vault come stringa JSON.
Puoi passare questa configurazione allo strumento a riga di comando az
come
file. Questa sezione descrive come creare il file.
La seguente tabella descrive i contenuti di questo file.
Campo | Descrizione | Esempi | Obbligatorio |
---|---|---|---|
httpProxy |
Un URL del server proxy. Il valore deve includere un nome host/indirizzo IP e, facoltativamente, una porta, un nome utente e una password. | "http://user:password@10.184.37.42:80" "10.184.37.42" |
Sì |
httpsProxy |
Un URL proxy per il traffico HTTPS criptato. L'URL httpProxy verrà utilizzato se httpsProxy ha un valore vuoto. | "http://10.101.16.31:80"
|
Sì |
noProxy |
Un elenco separato da virgole di URL da escludere dal proxy. Ogni valore può essere un indirizzo IP, un intervallo CIDR, un nome di dominio o il carattere asterisco (*). I domini specificati con un punto iniziale (ad esempio ".google.com") indicano che è necessario un sottodominio. Un asterisco singolo * ignora tutta la configurazione del proxy. | "1.2.3.4,10.0.0.0/16,example.com,.site.com" |
Sì |
Per creare il file di configurazione, crea un file JSON contenente i valori per le chiavi
httpProxy
,noProxy
ehttpsProxy
facoltative.{ "httpProxy": "AUTHENTICATION_URL", "httpsProxy": "AUTHENTICATION_URL", "noProxy": "NO_PROXY_ADDRESSES" }
Sostituisci quanto segue:
AUTHENTICATION_URL
: URL codificato contenente il nome utente e la password del proxyNO_PROXY_ADDRESSES
: elenco separato da virgole di blocchi CIDR e URL, ad esempio10.0.0.0/16,http://example.com
Salva il file da utilizzare nella sezione seguente.
Crea un segreto con questi dati JSON in Azure Key Vault utilizzando lo strumento a riga di comando
az
.az keyvault secret set --name SECRET_NAME \ --vault-name KEY_VAULT_NAME \ --file PROXY_CONFIGURATION_FILE
Sostituisci quanto segue:
SECRET_NAME
: il nome del nuovo secretKEY_VAULT_NAME
: il nome della tua cassetta di sicurezza delle chiaviPROXY_CONFIGURATION_FILE
: il percorso del file di configurazione del proxy.L'output include il nome e i contenuti del secret. Ora puoi fare riferimento a questo secret quando crei un cluster.
Creare un cluster che utilizza un proxy
Per configurare GKE su Azure in modo che utilizzi un proxy HTTP per la connettività in uscita, svolgi i seguenti passaggi:
Segui i passaggi descritti in
Creare un cluster e un pool di nodi
e passa i flag --proxy-resource-group-id
e --proxy-secret-id
.
gcloud container azure clusters create CLUSTER_NAME \
--proxy-resource-group-id=PROXY_RESOURCE_GROUP_ID \
--proxy-secret-id=PROXY_SECRET_ID
...
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del clusterPROXY_RESOURCE_GROUP_ID
: il gruppo di risorse che ospita il tuo clusterPROXY_SECRET_ID
: l'ID del secret che contiene la configurazione del proxy, ad esempiohttps://VAULT_NAME.vault.azure.net/secrets/SECRET_NAME/SECRET_VERSION
Passaggi successivi
- Leggi ulteriori informazioni su come creare un cluster.