Questa pagina mostra come configurare le regole proxy e firewall per GKE su Bare Metal.
Configura il server proxy
Se le macchine che utilizzi per il bootstrap e i nodi del cluster utilizzano un server proxy per accedere a Internet, devi:
- Configura 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 |
Esegui il pull delle immagini da Container Registry. |
accounts.google.com |
Elabora le richieste di autorizzazione per OpenID e individua le chiavi pubbliche per la verifica dei token. |
cloudresourcemanager.googleapis.com |
Risolvi i metadati relativi al progetto Google Cloud a cui viene connesso il cluster. |
compute.googleapis.com |
Verifica la regione delle risorse di Cloud Logging e Cloud Monitoring. |
connectgateway.googleapis.com |
Abilita la possibilità di concedere all'assistenza clienti Google Cloud l'accesso di sola lettura al tuo cluster per diagnosticare i problemi. |
gkeconnect.googleapis.com |
Stabilisci il canale utilizzato per ricevere le richieste da Google Cloud e generare risposte. |
gkehub.googleapis.com |
Crea risorse di appartenenza del parco risorse lato Google Cloud in base al cluster che stai connettendo a Google Cloud. |
gkeonprem.googleapis.com |
Crea e gestisci il ciclo di vita dei cluster sull'infrastruttura Bare Metal e VMware. |
gkeonprem.mtls.googleapis.com |
Crea e gestisci il ciclo di vita dei 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 l'autenticazione in Google Cloud ed effettuare chiamate API. |
iamcredentials.googleapis.com |
Fornisce il controllo di ammissione e i report sulla telemetria per l'audit logging. |
logging.googleapis.com |
Scrivere le voci di log e gestire la configurazione di Cloud Logging. |
monitoring.googleapis.com |
Gestire i dati e le configurazioni di Cloud Monitoring. |
oauth2.googleapis.com |
Esegui l'autenticazione tramite lo scambio di token OAuth per accedere all'account. |
opsconfigmonitoring.googleapis.com |
Raccogli metadati per risorse Kubernetes come pod, deployment o nodi per arricchire le query delle metriche. |
securetoken.googleapis.com |
Recupera i token di aggiornamento per l'autorizzazione di Workload Identity. |
servicecontrol.googleapis.com |
Scrittura delle voci degli audit log in Cloud Audit Logs. |
serviceusage.googleapis.com |
Abilita e convalida servizi e API. |
stackdriver.googleapis.com |
Gestisci i metadati della suite operativa di Google Cloud, ad esempio gli account Stackdriver. |
storage.googleapis.com |
Gestisci l'archiviazione di oggetti e i bucket, ad esempio gli oggetti di Container Registry. |
sts.googleapis.com |
Scambia credenziali Google o di terze parti per un token di accesso di breve durata alle risorse Google Cloud. |
www.googleapis.com |
Autentica i token di servizio dalle richieste di servizio Google Cloud in entrata. |
Oltre a questi URL, il server proxy deve consentire anche eventuali mirroring dei pacchetti richiesti dal gestore di pacchetti del sistema operativo. Puoi aggiornare la configurazione del gestore di pacchetti in modo da utilizzare un elenco più deterministico e più facile da gestire.
Configura il proxy per il gestore di pacchetti sui nodi del cluster
GKE su Bare Metal utilizza il gestore di pacchetti APT su Ubuntu e il gestore di pacchetti DNF su CentOS e Red Hat Linux. Assicurati che la configurazione proxy del gestore di pacchetti del sistema operativo sia corretta.
Per maggiori dettagli sulla configurazione del proxy, consulta la documentazione della distribuzione del sistema operativo. I seguenti esempi mostrano un modo per configurare le impostazioni 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 dettagli specifici della tua configurazione.
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 dettagli specifici della tua configurazione.
Configura i dettagli del proxy nel file di configurazione del cluster
Nel file di configurazione del cluster, imposta i valori seguenti 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 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 attraverso il server proxy.
Nella maggior parte dei casi, non è necessario aggiungere elementi all'elenco.
noProxy
casi d'uso:
Utilizzo di un Mirroring pacchetto privato, che si trova nella stessa rete privata (non è necessario un proxy per l'accesso)
Utilizzo di un mirror del registro privato, che si trova nella stessa rete privata (non è necessario un proxy per l'accesso)
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
Modalità di utilizzo del proxy all'interno del cluster
Come regola generale, i comandi bmctl
e i processi generati utilizzano la configurazione proxy definita dalle variabili di ambiente HTTPS_PROXY
e NO_PROXY
, if sono definite. In caso contrario, bmctl
utilizza la configurazione proxy del file di configurazione del cluster. Altri comandi che vengono eseguiti sulla workstation di amministrazione, sulle macchine nodo cluster o dal cluster di bootstrap utilizzano la configurazione proxy contenuta nel file di configurazione del cluster.
Il gestore di pacchetti del sistema operativo su ciascun nodo utilizza i propri file di configurazione per le impostazioni proxy.
Esegui l'override della configurazione del proxy nel computer di bootstrap
Per eseguire la workstation di amministrazione su un proxy diverso da quello utilizzato dalle macchine nodo, puoi sostituire le impostazioni 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 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 del proxy Docker sulla macchina di bootstrap. Se non esegui bmctl
come root, configura manualmente il proxy Docker.
Regole del firewall
Configura le regole firewall come descritto nelle sezioni seguenti per consentire il traffico descritto necessario per GKE su Bare Metal.
Per i requisiti dei prerequisiti delle porte per GKE su Bare Metal, consulta Utilizzo delle porte.
Regole firewall per gli indirizzi IP dei nodi cluster
La tabella seguente descrive le regole firewall per gli indirizzi IP disponibili nei cluster.
Da |
Porta di origine |
A |
Porta |
Protocollo |
Descrizione |
---|---|---|---|---|---|
Nodo cluster | 1024 - 65.535 | cloudresourcemanager.googleapis.com gkeconnect.googleapis.com gkehub.googleapis.com |
443 | TCP/HTTPS | L'accesso è richiesto per la registrazione del parco risorse. |
Raccoglitore Cloud Logging, in esecuzione sul nodo del cluster | 1024 - 65.535 | oauth2.googleapis.com logging.googleapis.com stackdriver.googleapis.com servicecontrol.googleapis.com storage.googleapis.com www.googleapis.com |
443 | TCP/HTTPS | |
Cloud Metadata Collector, in esecuzione sul nodo del cluster | 1024 - 65.535 | opsconfigmonitoring.googleapis.com |
443 | TCP/HTTPS | |
Raccoglitore Cloud Monitoring, in esecuzione sul nodo cluster | 1024 - 65.535 | oauth2.googleapis.com monitoring.googleapis.com stackdriver.googleapis.com servicecontrol.googleapis.com |
443 | TCP/HTTPS | |
Nodo cluster | 1024 - 65.535 | Registro Docker locale on-premise | Dipende dal tuo registry | TCP/HTTPS | Obbligatorio se GKE su Bare Metal è configurato in modo da utilizzare un registro Docker privato locale anziché gcr.io . |
Nodo cluster | 1024 - 65.535 | gcr.io oauth2.googleapis.com storage.googleapis.com Qualsiasi URL dell'API di Google nel modulo *.googleapis.com richiesto per i
servizi abilitati per il cluster di amministrazione. |
443 | TCP/HTTPS | Scarica immagini da registri Docker pubblici. Non è necessaria se utilizzi un registro Docker privato. |
Agente Connect, eseguito su un nodo cluster | 1024 - 65.535 | 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 saperne di più sul traffico gestito dall'agente Connect, consulta la panoramica di Connect Agent. |
Nodo cluster | 1024 - 65.535 |
gkeonprem.googleapis.com gkeonprem.mtls.googleapis.com |
443 | TCP/HTTPS | Crea e gestisci il ciclo di vita dei 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 |
---|---|---|---|---|---|
Client e utenti finali dell'applicazione | Tutti | VIP del traffico in entrata 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 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 preflight (convalida). |