Installazione tramite un proxy

Questa pagina mostra come configurare le regole proxy e firewall per Google Distributed Cloud.

Configurare il server proxy

Se le macchine che utilizzi per i nodi di bootstrap e del cluster utilizzano un server proxy per accedere a internet, devi:

  • Configurare il proxy per il gestore di pacchetti sui nodi del cluster
  • Configura i dettagli del proxy nel file di configurazione del cluster.

Prerequisiti

Il server proxy deve consentire le connessioni ai seguenti indirizzi:

Indirizzo Finalità
*.gcr.io Estrai le immagini da Artifact Registry.
accounts.google.com Elabora le richieste di autorizzazione per OpenID e scopri le chiavi pubbliche per verificare i token.
binaryauthorization.googleapis.com Obbligatorio se utilizzi Autorizzazione binaria. Autorizza (o rifiuta) le richieste dei cluster di eseguire immagini container.
cloudresourcemanager.googleapis.com Risolvi i metadati relativi al Google Cloud progetto a cui è connesso il cluster.
compute.googleapis.com Verifica la regione della risorsa Cloud Logging e Cloud Monitoring.
connectgateway.googleapis.com Attiva la possibilità di concedere al servizio di assistenza clienti Google Cloud l'accesso in sola lettura al tuo cluster per diagnosticare i problemi.
dl.google.com Scarica e installa Google Cloud SDK.
gkeconnect.googleapis.com Stabilisci il canale utilizzato per ricevere le richieste da Google Cloud e inviare le risposte. Se il cluster è stato registrato nel parco risorse utilizzando una regione Google Cloud , devi inserire nella lista consentita REGION-gkeconnect.googleapis.com (ad esempio, us-central1-gkeconnect.googleapis.com). Se non hai specificato una regione, il cluster utilizza l'istanza del servizio Connect globale e devi inserire nella lista consentita gkeconnect.googleapis.com. Se devi trovare la posizione dell'appartenenza al parco risorse per il tuo cluster, esegui gcloud container fleet memberships list. Per ulteriori informazioni, vedi gkeConnect.location.
gkehub.googleapis.com Crea risorse di appartenenza al parco risorse lato Google Cloudche corrispondono al cluster a cui ti connetti Google Cloud.
gkeonprem.googleapis.com Crea e gestisci il ciclo di vita del cluster sull'infrastruttura bare metal e VMware.
gkeonprem.mtls.googleapis.com Crea e gestisci il ciclo di vita del cluster sull'infrastruttura bare metal e VMware. Questa versione dell'API viene utilizzata automaticamente con mTLS.
iam.googleapis.com Crea service account, che puoi utilizzare per l'autenticazione in Google Cloud e per effettuare chiamate API.
iamcredentials.googleapis.com Fornisce il controllo di ammissione e i report di telemetria per la registrazione delle attività di audit.
kubernetesmetadata.googleapis.com I cluster utilizzano questa API come endpoint per inviare i metadati di Kubernetes a Google Cloud. I metadati sono fondamentali per il monitoraggio, il debug e il recupero del cluster.
logging.googleapis.com Scrivi le voci di log e gestisci la configurazione di Cloud Logging.
monitoring.googleapis.com Gestisce i dati e le configurazioni di Cloud Monitoring.
oauth2.googleapis.com Esegui l'autenticazione tramite lo scambio di token OAuth per l'accesso all'account.
opsconfigmonitoring.googleapis.com Raccogli i metadati per le risorse Kubernetes come pod, deployment o nodi per arricchire le query sulle metriche.
releases.hashicorp.com Facoltativo. Utilizza il client Terraform sulla workstation di amministrazione per eseguire comandi, ad esempio terraform apply.
securetoken.googleapis.com Recupera i token di aggiornamento per l'autorizzazione di Workload Identity.
servicecontrol.googleapis.com Scrivi le voci di audit log in Cloud Audit Logs.
serviceusage.googleapis.com Abilita e convalida servizi e API.
stackdriver.googleapis.com Gestire i metadati di Google Cloud Observability, ad esempio gli account Stackdriver.
storage.googleapis.com Gestisci l'archiviazione di oggetti e i bucket, ad esempio gli oggetti Artifact Registry.
sts.googleapis.com Scambia le credenziali di Google o di terze parti con un token di accesso a breve durata per le risorse Google Cloud .
www.googleapis.com Autentica i token di servizio dalle richieste di servizio in entrata. Google Cloud

Oltre a questi URL, il server proxy deve consentire anche tutti i mirror dei pacchetti richiesti dal gestore dei pacchetti del sistema operativo. Puoi aggiornare la configurazione del gestore di pacchetti per utilizzare un elenco più deterministico, più facile da gestire.

Configurare il proxy per il gestore di pacchetti sui nodi del cluster

Google Distributed Cloud utilizza il gestore dei pacchetti APT su Ubuntu e il gestore dei pacchetti DNF su Red Hat Enterprise Linux. Assicurati che il gestore di pacchetti del sistema operativo abbia la configurazione proxy corretta.

Per informazioni dettagliate sulla configurazione del proxy, consulta la documentazione della distribuzione del sistema operativo. I seguenti esempi mostrano un modo per configurare le impostazioni del proxy:

APT

Questi comandi mostrano come configurare il proxy per 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

Sostituisci USERNAME:PASSWORD@DOMAIN con i dettagli specifici della tua configurazione. Ad esempio, se il proxy non richiede l'accesso, non includere USERNAME:PASSWORD@ con DOMAIN.

DNF

Questo comando mostra come configurare il proxy per DNF:

echo "proxy=http://USERNAME:PASSWORD@DOMAIN" >> /etc/dnf/dnf.conf

Sostituisci USERNAME:PASSWORD@DOMAIN con i dettagli specifici della tua configurazione. Ad esempio, se il proxy non richiede l'accesso, non includere USERNAME:PASSWORD@ con DOMAIN.

Configura i dettagli del proxy nel file di configurazione del cluster

Nel file di configurazione del cluster, imposta i seguenti valori per configurare il cluster in modo che utilizzi il proxy:

proxy.url

Una stringa che specifica l'URL del proxy. Le macchine di bootstrap e dei nodi utilizzano questo proxy per accedere a internet. La stringa dell'URL del proxy deve iniziare con il relativo schema, ad esempio http:// o https://.

proxy.noProxy

Un elenco di indirizzi IP, nomi host e nomi di dominio che non devono passare dal server proxy.

Nella maggior parte dei casi, non è necessario aggiungere elementi a questo elenco.

noProxy casi d'uso:

  • Utilizzo di un mirror del pacchetto privato, che si trova nella stessa rete privata (non è necessario un proxy per accedere)

  • Utilizzo di un mirror del registro privato, che si trova nella stessa rete privata (non è necessario un proxy per accedere)

Esempio

Di seguito è riportato un esempio delle impostazioni proxy in un file di configurazione del cluster:

  proxy:
     url: http://USERNAME:PASSWORD@DOMAIN
     noProxy:
     - example1.com
     - example2.com

Configurazioni proxy per GKE Identity Service

Se utilizzi GKE Identity Service per l'autenticazione nei cluster Google Distributed Cloud, sono necessari i seguenti passaggi aggiuntivi per garantire il funzionamento di GKE Identity Service quando si trova dietro un proxy.

  1. Nel file di configurazione del cluster, imposta i dettagli del proxy nella sezione OIDC authentication per le impostazioni di GKE Identity Service.

      authentication:
        oidc:
          proxy: http://USERNAME:PASSWORD@DOMAIN
    
  2. Aggiorna la configurazione del server proxy per consentire le connessioni agli URL di autenticazione del provider OIDC.

Come viene utilizzato il proxy all'interno del cluster

Come regola generale, i comandi bmctl e i processi che generano utilizzano la configurazione proxy definita dalle variabili di ambiente HTTPS_PROXY e NO_PROXY, se sono definite. In caso contrario, bmctl utilizza la configurazione proxy del file di configurazione del cluster. Altri comandi eseguiti sulla workstation di amministrazione, sulle macchine dei nodi del cluster o dal cluster di bootstrap utilizzano la configurazione del proxy dal file di configurazione del cluster.

Il gestore di pacchetti del sistema operativo su ogni nodo utilizza i propri file di configurazione per le impostazioni del proxy.

Esegui l'override della configurazione del proxy nella macchina di bootstrap

Puoi eseguire la workstation di amministrazione dietro un proxy diverso da quello utilizzato dalle macchine dei nodi sostituendo le impostazioni proxy nel file di configurazione del cluster. Per ignorare le impostazioni del proxy, imposta le seguenti variabili di ambiente sulla macchina di bootstrap:

export HTTPS_PROXY=http://USERNAME:PASSWORD@DOMAIN

Sostituisci USERNAME:PASSWORD@DOMAIN con i dettagli specifici della tua configurazione.

export NO_PROXY=example1.com,example2.com

Sostituisci example1.com,example2.com con indirizzi IP, nomi host e nomi di dominio che non devono passare attraverso il server proxy.

Effetti collaterali

Se eseguito come root, bmctl aggiorna la configurazione del proxy Docker sulla macchina di bootstrap. Se non esegui bmctl come root, configura manualmente il proxy Docker.

Regole firewall

Configura le regole firewall come descritto nelle sezioni seguenti per consentire il traffico descritto necessario per Google Distributed Cloud.

Per i requisiti delle porte dei prerequisiti per Google Distributed Cloud, consulta Utilizzo delle porte.

Regole firewall per gli indirizzi IP dei nodi del cluster

La tabella seguente descrive le regole firewall per gli indirizzi IP disponibili nei cluster.

Da

Porta di origine

A

Porta

Protocollo

Descrizione

Nodo del cluster 1024 - 65535 cloudresourcemanager.googleapis.com
gkeconnect.googleapis.com
gkehub.googleapis.com
443 TCP/HTTPS L'accesso è necessario per la registrazione della flotta.
Collettore Cloud Logging, che viene eseguito sul nodo del cluster 1024 - 65535 oauth2.googleapis.com
logging.googleapis.com
stackdriver.googleapis.com
servicecontrol.googleapis.com
storage.googleapis.com
www.googleapis.com
443 TCP/HTTPS
Cloud Metadata Collector, che viene eseguito sul nodo del cluster 1024 - 65535 opsconfigmonitoring.googleapis.com 443 TCP/HTTPS
Collettore Cloud Monitoring, in esecuzione sul nodo del cluster 1024 - 65535 oauth2.googleapis.com
monitoring.googleapis.com
stackdriver.googleapis.com
servicecontrol.googleapis.com
443 TCP/HTTPS
Nodo del cluster 1024 - 65535 Registro Docker locale on-premise Dipende dal tuo registro TCP/HTTPS Obbligatorio se Google Distributed Cloud è configurato per utilizzare un registro Docker privato locale anziché gcr.io.
Nodo del cluster 1024 - 65535 gcr.io
oauth2.googleapis.com
storage.googleapis.com
Qualsiasi URL dell'API di Google nel formato *.googleapis.com richiesto per i servizi abilitati per il cluster di amministrazione.
443 TCP/HTTPS Scaricare immagini da registri Docker pubblici. Non richiesto se utilizzi un registro Docker privato.
L'agente Connect, che viene eseguito su un nodo del cluster 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 Per ulteriori informazioni sul traffico gestito da Connect Agent, consulta Panoramica di Connect Agent.
Nodo del cluster 1024 - 65535 gkeonprem.googleapis.com
gkeonprem.mtls.googleapis.com
443 TCP/HTTPS Crea e gestisci il ciclo di vita del cluster sull'infrastruttura bare metal e VMware.

Regole firewall per i componenti rimanenti

Le regole descritte nella tabella seguente si applicano a tutti gli altri componenti non elencati nella sezione precedente.

Da

Porta di origine

A

Porta

Protocollo

Descrizione

Clienti e utenti finali dell'applicazione Tutti VIP dell'ingresso Istio 80, 443 TCP Traffico degli utenti finali verso il servizio in entrata di un cluster utente.
Workstation di amministrazione 32.768 - 60.999 gcr.io
cloudresourcemanager.googleapis.com
oauth2.googleapis.com
storage.googleapis.com
Qualsiasi URL *.googleapis.com richiesto per i servizi abilitati per questo cluster
443 TCP/HTTPS Scarica le immagini Docker dai registri Docker pubblici.
Workstation di amministrazione 32.768 - 60.999 gcr.io
cloudresourcemanager.googleapis.com
iam.googleapis.com
oauth2.googleapis.com
serviceusage.googleapis.com
storage.googleapis.com
Qualsiasi URL *.googleapis.com richiesto per i servizi abilitati per i cluster di amministrazione o utente
443 TCP/HTTPS Controlli preliminari (convalida).