Questa pagina mostra come configurare le regole proxy e firewall per Google Distributed Cloud.
Configura il server proxy
Se le macchine che utilizzi per l'avvio iniziale e i nodi del cluster utilizzano un server proxy per accedere a internet, devi:
- Configura il proxy per il gestore dei 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 Container Registry. |
accounts.google.com |
Elabora le richieste di autorizzazione per OpenID e individua 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 progetto Google Cloud a cui è collegato il cluster. |
compute.googleapis.com |
Verifica la regione delle risorse Cloud Logging e Cloud Monitoring. |
connectgateway.googleapis.com |
Attiva la possibilità di concedere all'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 Google Cloud e
per emettere le risposte. Se il cluster è stato registrato nel parco 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 di 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, consulta
gkeConnect.location .
|
gkehub.googleapis.com |
Crea Google Cloud-side appartenenza al parco risorse risorse che corrispondono al cluster con cui ti stai connettendo 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 account di servizio che puoi utilizzare per autenticarti su Google Cloud e per effettuare chiamate API. |
iamcredentials.googleapis.com |
Fornisce il controllo di ammissione e i report sulla telemetria per la registrazione delle attività di controllo. |
kubernetesmetadata.googleapis.com |
I cluster utilizzano questa API come endpoint per inviare i metadati Kubernetes a Google Cloud. I metadati sono fondamentali per il monitoraggio, il debug e il recupero del cluster. |
logging.googleapis.com |
Scrive le voci di log e gestisce la configurazione di Cloud Logging. |
monitoring.googleapis.com |
Gestisci i dati e le configurazioni di Cloud Monitoring. |
oauth2.googleapis.com |
Autenticazione tramite scambio di token OAuth per l'accesso all'account. |
opsconfigmonitoring.googleapis.com |
Raccogli i metadati delle 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 delle identità di carico di lavoro. |
servicecontrol.googleapis.com |
Scrivere voci di audit log in Cloud Audit Logs. |
serviceusage.googleapis.com |
Abilita e convalida servizi e API. |
stackdriver.googleapis.com |
Gestisci 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 Container Registry. |
sts.googleapis.com |
Scambia le credenziali di Google o di terze parti con un token di accesso a breve durata per accedere alle risorse Google Cloud . |
www.googleapis.com |
Autentica i token di servizio provenienti dalle Google Cloud richieste di servizio in entrata. |
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 del pacchetto per utilizzare un elenco più deterministico, che è più facile da gestire.
Configura il proxy per il gestore dei 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 dei pacchetti del sistema operativo abbia la configurazione proxy corretta.
Per maggiori dettagli sulla configurazione del proxy, consulta la documentazione della distribuzione del sistema operativo. Gli esempi riportati di seguito 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 nome utente, 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 nome utente, 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 node utilizzano questo proxy per accedere a internet. La stringa dell'URL 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 per il server proxy.
Nella maggior parte dei casi, non è necessario aggiungere elementi a questo elenco.
Casi d'uso noProxy
:
Utilizzo di un mirror del pacchetto privato, che si trova nella stessa rete privata (non è necessario il proxy per accedere)
Utilizzo di un mirror del registry privato, che si trova nella stessa rete privata (non è necessario un proxy per accedere)
Esempio
Di seguito è riportato un esempio di 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 assicurarti che GKE Identity Service funzioni dietro un proxy.
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
Aggiorna la configurazione del server proxy per consentire le connessioni agli URL di autenticazione del fornitore OIDC.
Come viene utilizzato il proxy all'interno del cluster
Come regola generale, i comandi bmctl
e i processi che generano utilizzano la configurazione del proxy definita dalle variabili di ambiente HTTPS_PROXY
e NO_PROXY
, se sono definite. In caso contrario, bmctl
utilizza la configurazione del proxy dal
file di configurazione del cluster. Gli 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 dei pacchetti del sistema operativo su ogni nodo utilizza i suoi propri file di configurazione per le impostazioni del proxy.
Sostituisci la 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 del proxy nel file di configurazione del cluster. Per sostituire 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 gli indirizzi IP, i nomi host e i 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 utente root, configura il proxy Docker manualmente.
Regole firewall
Configura le regole del 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 tuoi 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 del parco risorse. |
Cloud Logging Collector, 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 | |
Cloud Monitoring Collector, che viene eseguito 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 registry | 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 Google del tipo *.googleapis.com richiesto per i servizi abilitati per il cluster di amministrazione. |
443 | TCP/HTTPS | Scaricare le immagini dai registri Docker pubblici. Non è necessario se utilizzi un registro Docker privato. |
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 la 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 | 32768 - 60999 | 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 | Scaricare le immagini Docker dai registri Docker pubblici. |
Workstation di amministrazione | 32768 - 60999 | 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 preflight (convalida). |