Questa pagina mostra come configurare le regole firewall e proxy per Google Distributed Cloud.
Configurare il server proxy
Se le macchine che utilizzi per il bootstrap e i nodi dei cluster utilizzano un server proxy per accedere a internet, devi:
- Configurare il proxy per il gestore di pacchetti sui nodi dei cluster
- Configurare 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 individua le chiavi pubbliche per la verifica dei token. |
binaryauthorization.googleapis.com |
Obbligatorio se utilizzi l'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 delle risorse di Cloud Logging e Cloud Monitoring. |
connectgateway.googleapis.com |
Consenti all'assistenza clienti Google Cloud di accedere 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
rispondere ai problemi. Se il cluster è stato registrato nel parco risorse utilizzando una
Google Cloud regione, 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 inserisci nella lista consentita
gkeconnect.googleapis.com. Se devi trovare la località di appartenenza al parco risorse per il tuo cluster, esegui gcloud container fleet memberships list.
Per ulteriori informazioni, consulta
gkeConnect.location.
|
gkehub.googleapis.com |
Crea Google Cloud-side risorse di appartenenza al parco risorse che corrispondono al cluster a cui ti stai connettendo Google Cloud. |
gkeonprem.googleapis.com |
Crea e gestisci il ciclo di vita del cluster su infrastrutture bare metal e VMware infrastruttura. |
gkeonprem.mtls.googleapis.com |
Crea e gestisci il ciclo di vita del cluster su infrastrutture bare metal e VMware infrastruttura. Questa versione dell'API viene utilizzata automaticamente con mTLS. |
iam.googleapis.com |
Crea account di servizio che puoi utilizzare per autenticare a Google Cloud ed effettuare chiamate API. |
iamcredentials.googleapis.com |
Fornisce il controllo delle ammissioni e la generazione di report di telemetria per i log di controllo. |
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 ripristino dei cluster. |
logging.googleapis.com |
Scrivi le voci di log e gestisci la configurazione di Cloud Logging. |
monitoring.googleapis.com |
Gestisci i dati e le configurazioni di Cloud Monitoring. |
oauth2.googleapis.com |
Autenticati 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 come terraform apply. |
securetoken.googleapis.com |
Recupera i token di aggiornamento per l'autorizzazione dell'identità del workload. |
servicecontrol.googleapis.com |
Scrivi le voci dei log di controllo in Cloud Audit Logs. |
serviceusage.googleapis.com |
Abilita e convalida servizi e API. |
stackdriver.googleapis.com |
Gestisci i metadati di Google Cloud Observability, come gli account Stackdriver. |
storage.googleapis.com |
Gestisci l'archiviazione e i bucket di oggetti, come gli oggetti di Artifact Registry. |
sts.googleapis.com |
Scambia le credenziali Google o di terze parti con un token di accesso di breve durata a Google Cloud risorse. |
www.googleapis.com |
Autentica i token di servizio dalle richieste di servizio in entrata Google Cloud servizio. |
Oltre a questi URL, il server proxy deve consentire anche tutti i mirror di pacchetti richiesti dal gestore di 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 dei cluster
Google Distributed Cloud utilizza il gestore di pacchetti APT su Ubuntu e il gestore di 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 un 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 un accesso, non includere USERNAME:PASSWORD@ con DOMAIN.
Configurare 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 lo schema, ad esempio http:// o https://.
proxy.noProxy
Un elenco di indirizzi IP, nomi host e nomi di dominio che non devono passare attraverso il server proxy.
Nella maggior parte dei casi, non devi aggiungere elementi a questo elenco.
Casi d'uso di noProxy:
Utilizzo di un mirror di pacchetti privati, che si trova nella stessa rete privata (non è necessario il proxy per l'accesso)
Utilizzo di un mirror di registro privato, che si trova nella stessa rete privata (non è necessario il proxy per l'accesso)
Esempio
Di seguito è riportato un esempio delle impostazioni del 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 che GKE Identity Service funzioni quando è dietro un proxy.
Nel file di configurazione del cluster, imposta i dettagli del proxy nella sezione
authenticationOIDC per le impostazioni di GKE Identity Service.authentication: oidc: proxy: http://USERNAME:PASSWORD@DOMAINAggiorna 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 dal file di configurazione del cluster. Altri comandi eseguiti sulla workstation di amministrazione, sulle macchine dei nodi dei cluster o dal cluster di bootstrap utilizzano la configurazione proxy dal file di configurazione del cluster.
Il gestore di pacchetti del sistema operativo su ogni nodo utilizza i suoi propri file di configurazione per le impostazioni del proxy.
Eseguire l'override della configurazione proxy nella macchina di bootstrap
Puoi eseguire la workstation di amministrazione dietro un proxy diverso da quello utilizzato dalle macchine dei nodi eseguendo l'override delle impostazioni del proxy nel file di configurazione del cluster. Per eseguire l'override delle 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
Quando viene eseguito come root, bmctl aggiorna la configurazione proxy di 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 di porta prerequisiti per Google Distributed Cloud, consulta Utilizzo delle porte.
Regole firewall per gli indirizzi IP dei nodi dei 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.comgkeconnect.googleapis.comgkehub.googleapis.com |
443 | TCP/HTTPS | L'accesso è necessario per la registrazione del parco risorse. |
| Collettore di Cloud Logging, in esecuzione sul nodo del cluster | 1024 - 65535 | oauth2.googleapis.comlogging.googleapis.comstackdriver.googleapis.comservicecontrol.googleapis.comstorage.googleapis.comwww.googleapis.com |
443 | TCP/HTTPS | |
| Agente di raccolta metadati cloud, in esecuzione sul nodo del cluster | 1024 - 65535 | opsconfigmonitoring.googleapis.com |
443 | TCP/HTTPS | |
| Collettore di Cloud Monitoring, in esecuzione sul nodo del cluster | 1024 - 65535 | oauth2.googleapis.commonitoring.googleapis.comstackdriver.googleapis.comservicecontrol.googleapis.com |
443 | TCP/HTTPS | |
| Nodo del cluster | 1024 - 65535 | Registro Docker locale on-premise | Dipende dal 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.iooauth2.googleapis.comstorage.googleapis.comQualsiasi URL dell'API Google nel formato *.googleapis.com richiesto per i
servizi abilitati per il cluster di amministrazione. |
443 | TCP/HTTPS | Scarica le immagini dai registri Docker pubblici. Non è obbligatorio se utilizzi un registro Docker privato. |
| Agente Connect, in esecuzione su un nodo del cluster | 1024 - 65535 | cloudresourcemanager.googleapis.comgkeconnect.googleapis.comgkehub.googleapis.comwww.googleapis.comiam.googleapis.comiamcredentials.googleapis.comoauth2.googleapis.comsecuretoken.googleapis.comsts.googleapis.comaccounts.google.com |
443 | TCP/HTTPS | Per ulteriori informazioni sul traffico gestito dall'agente Connect, consulta la panoramica dell'agente Connect. |
| Nodo del cluster | 1024 - 65535 |
gkeonprem.googleapis.comgkeonprem.mtls.googleapis.com |
443 | TCP/HTTPS | Crea e gestisci il ciclo di vita del cluster su infrastrutture bare metal e VMware infrastruttura. |
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 |
|---|---|---|---|---|---|
| Client e utenti finali dell'applicazione | Tutti | VIP dell'ingresso Istio | 80, 443 | TCP | Traffico degli utenti verso il servizio di ingresso di un cluster utente. |
| Workstation di amministrazione | 32768 - 60999 | gcr.iocloudresourcemanager.googleapis.comoauth2.googleapis.comstorage.googleapis.comQualsiasi 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 | 32768 - 60999 | gcr.iocloudresourcemanager.googleapis.comiam.googleapis.comoauth2.googleapis.comserviceusage.googleapis.comstorage.googleapis.comQualsiasi URL *.googleapis.com richiesto per i servizi abilitati
per i cluster di amministrazione o utente |
443 | TCP/HTTPS | Controlli preflight (convalida). |