Supporto proxy per cluster collegati conformi a CNCF

Se la tua organizzazione utilizza un proxy HTTP per il traffico internet, devi configurare di conseguenza i cluster collegati a GKE. Questo documento descrive come eseguire questa configurazione.

Prima di iniziare

I cluster collegati a GKE richiedono la connettività a vari servizi Google Cloud. Assicurati che il tuo server proxy consenta il traffico ai seguenti domini:

  • .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 regione Google Cloud in cui si trova il cluster. Specifica us-west1 o un'altra regione supportata.

Configura il supporto del proxy per i cluster collegati a GKE

Per configurare il supporto del proxy per i cluster collegati a GKE, segui questi passaggi:

  1. Crea un file di configurazione del proxy contenente valori per le chiavi httpProxy, noProxy e httpsProxy:

    {
    "httpProxy": HTTP_PROXY_AUTHENTICATION_URL,
    "httpsProxy": HTTPS_PROXY_AUTH_URL,
    "noProxy": NO_PROXY_ADDRESSES
    }
    

    Sostituisci quanto segue:

    • HTTP_PROXY_AUTHENTICATION_URL: l'URL del server proxy, costituito da un nome host/indirizzo IP e, facoltativamente, da una porta, un nome utente e una password. Ad esempio: http://user:password@192.0.2.0:80 o solo 198.51.100.255.
    • HTTPS_PROXY_AUTH_URL: l'URL proxy per il traffico HTTPS criptato, composto da un nome host/indirizzo IP e, facoltativamente, da una porta, un nome utente e una password.
    • NO_PROXY_ADDRESSES: un elenco separato da virgole di URL, blocchi CIDR e nomi DNS di risorse che possono ignorare il proxy. Questo indica ai cluster collegati a GKE di evitare di utilizzare il proxy per le risorse specificate. Tieni presente quanto segue:
      • I valori possono essere singoli indirizzi IP, intervalli CIDR, nomi di dominio o persino il carattere asterix (*). L'utilizzo di un singolo asterisco (*) nel campo noProxy indica ai cluster collegati a GKE di ignorare il proxy per tutto il traffico.
      • Un dominio che inizia con un punto, come .google.com, ha come target tutti i relativi sottodomini. Ad esempio, .google.com include indirizzi come mail.google.com e drive.google.com, ma esclude google.com.
      • Assicurati di includere i domini kubernetes.default.svc.cluster.local e kubernetes.default.svc per il logging corretto. Ecco un esempio: 198.51.100.0,192.0.2.0/16,examplepetstore.com,.altostrat.com,kubernetes.default.svc.cluster.local, kubernetes.default.svc.

    Quando crei il file di configurazione del proxy, rispetta le seguenti linee guida:

    • I campi httpProxy e httpsProxy non accettano prefissi https://. Utilizza http://, anche se l'indirizzo del server proxy reale inizia con https://. Ad esempio, rappresenta https://proxy.example.com:3128 come http://proxy.example.com:3128.
    • È obbligatorio fornire valori per tutti e tre i campi: httpProxy, httpsProxy e noProxy.
    • Valuta la possibilità di aggiungere ulteriori domini, indirizzi IP o CIDR all'elenco noProxy. Ti consigliamo di includere l'intervallo IP VPC.
  2. Crea un secret di Kubernetes, che contiene la configurazione del proxy, eseguendo questo comando:

    kubectl create secret generic SECRET_NAME \
    --from-file=PROXY_CONFIGURATION_FILE
    

    Sostituisci quanto segue:

    • SECRET_NAME: il nome del secret di Kubernetes
    • PROXY_CONFIGURATION_FILE: il percorso della configurazione del proxy creata nel passaggio 1.
  3. Contrassegna il secret di Kubernetes come immutabile impostando il campo immutable su true:

    kubectl edit secret SECRET_NAME
    

    Sostituisci SECRET_NAME con il nome del secret di Kubernetes.

  4. Configura un cluster nuovo o esistente per utilizzare il proxy:

    Nuovo cluster

    Per registrare un nuovo cluster e applicare la configurazione del proxy, utilizza il comando gcloud container attached clusters register. Assicurati di fornire gli argomenti facoltativi --proxy-secret-name e --proxy-secret-namespace:

    gcloud container attached clusters register CLUSTER_NAME \
      --proxy-secret-name=SECRET_NAME \
      --proxy-secret-namespace=SECRET_NAMESPACE
    

    Sostituisci quanto segue:

    • CLUSTER_NAME: il nome del cluster
    • SECRET_NAME: il nome del secret di Kubernetes contenente la configurazione proxy
    • SECRET_NAMESPACE: lo spazio dei nomi Kubernetes in cui è archiviato il secret

    Per informazioni su tutti gli argomenti che puoi utilizzare durante la registrazione di un cluster, consulta il comando gcloud container attached clusters register.

    Cluster esistente

    Per aggiornare un cluster registrato in precedenza con una nuova configurazione proxy, utilizza il comando gcloud container attached clusters update. Assicurati di fornire gli argomenti facoltativi --proxy-secret-name e --proxy-secret-namespace:

    gcloud container attached clusters update CLUSTER_NAME \
      --proxy-secret-name=SECRET_NAME \
      --proxy-secret-namespace=SECRET_NAMESPACE
    

    Sostituisci quanto segue:

    • CLUSTER_NAME: il nome del cluster
    • SECRET_NAME: il nome del secret di Kubernetes contenente la configurazione proxy
    • SECRET_NAMESPACE: lo spazio dei nomi Kubernetes in cui è archiviato il secret

    Questo passaggio è necessario se i dettagli del server proxy sono cambiati o se una registrazione iniziale del cluster ha trascurato i requisiti del proxy.

    Per informazioni su tutti gli argomenti che puoi utilizzare durante l'aggiornamento di un cluster, consulta il comando gcloud container attached clusters update.

Dopo aver eseguito questi passaggi, i cluster collegati a GKE elaborano il traffico internet in uscita utilizzando il server proxy specificato nel file di configurazione.