Questo argomento mostra come instradare il traffico dai servizi Cluster Anthos on AWS (GKE on AWS) e Connect tramite un proxy HTTP/HTTPS.
I cluster Anthos su AWS richiedono l'accesso a Internet per i seguenti motivi:
- Il servizio di gestione registra i cluster utente con Connect.
- I cluster utente eseguono l'agente Connect.
- Tutti i nodi del servizio di gestione e dei cluster utente scaricano le immagini da Container Registry.
Puoi indirizzare il traffico tramite un proxy HTTP o HTTPS. A partire da Cluster Anthos on AWS 1.8, puoi configurare impostazioni di proxy individuali per il tuo servizio di gestione e ciascuno dei tuoi cluster. Per ulteriori informazioni su come modificare le impostazioni del proxy, consulta Modifica delle impostazioni proxy del cluster.
Dichiari le impostazioni del proxy in un file JSON a cui si fa riferimento in anthos-gke.yaml
.
Prerequisiti
Prima di configurare i cluster Anthos su AWS per utilizzare un proxy, devi abilitare gli endpoint VPC di AWS, definire un gruppo di sicurezza per il proxy e consentire le connessioni in uscita a determinati servizi Google Cloud.
Per utilizzare un proxy HTTP, i tuoi cluster utente devono eseguire Kubernetes 1.17 o versioni successive.
Abilita endpoint VPC
Prima di configurare un proxy, devi creare endpoint VPC per l'installazione di Cluster Anthos on. Gli endpoint VPC consentono alle risorse nelle subnet private di accedere ai servizi AWS senza accesso a Internet pubblico.
La tabella seguente elenca i servizi AWS per cui Cluster Anthos on AWS richiede gli endpoint VPC, insieme al tipo di endpoint e ai gruppi di sicurezza per ogni componente Cluster Anthos on AWS che richiede l'accesso all'endpoint.
Servizio | Tipo di endpoint | Gruppi di sicurezza |
---|---|---|
Scalabilità automatica | Interfaccia | Gestione, piano di controllo, pool di nodi |
EC2 | Interfaccia | Gestione, piano di controllo, pool di nodi |
Bilanciamento del carico | Interfaccia | Gestione, piano di controllo, pool di nodi |
Servizio di gestione delle chiavi | Interfaccia | Gestione, piano di controllo, pool di nodi |
S3 | Gateway | Gestione, piano di controllo, pool di nodi |
Servizio token di sicurezza (STS) | Interfaccia | Gestione, piano di controllo, pool di nodi |
Puoi creare gli endpoint dalla console VPC di AWS. Le opzioni impostate durante la creazione degli endpoint VPC dipendono dalla configurazione VPC.
Definisci un gruppo di sicurezza
I componenti Cluster Anthos on AWS devono essere in grado di connettersi al server proxy. Crea o individua un gruppo di sicurezza AWS che consenta le connessioni in uscita al tuo server proxy. Il gruppo di sicurezza deve consentire l'accesso in uscita dai gruppi di sicurezza del pool di controllo, del piano di controllo e del nodo all'indirizzo e alla porta del proxy. Salva l'ID di questo gruppo di sicurezza (ad esempio, sg-12345678
).
Tipo | Protocollo | Dal trasferimento | Trasferimento | Indirizzo |
---|---|---|---|---|
In uscita | TCP | Porta proxy | Porta proxy | Gruppo di sicurezza proxy |
Consenti connessioni in uscita ai servizi Google Cloud
Affinché i cluster Anthos su AWS possano connettersi ai servizi Google Cloud, il server proxy deve consentire il traffico ai seguenti domini:
gkeconnect.googleapis.com
gkehub.googleapis.com
oauth2.googleapis.com
storage.googleapis.com
www.googleapis.com
gcr.io
k8s.gcr.io
EC2-REGION.ec2.archive.ubuntu.com
Sostituisci EC2-REGION con la regione AWS EC2 in cui viene eseguita l'installazione di Cluster Anthos on AWS. Ad esempio, us-west-1.ec2.archive.ubuntu.com/
.
Se utilizzi Anthos Service Mesh con Prometheus e Kiali, consenti l'accesso in uscita dai seguenti domini:
docker.io
quay.io
Creazione del file JSON di configurazione proxy
Il file JSON di configurazione proxy contiene un oggetto che contiene tre coppie chiave/valore, con i nomi delle chiavi httpProxy
, httpsProxy
e noProxy
.
I nomi utente e le password vengono criptati con la busta e con la chiave KMS AWS prima di applicarli al server.
{
"httpProxy": "HTTP_PROXY",
"httpsProxy": "HTTPS_PROXY",
"noProxy": "NO_PROXY"
}
Sostituisci quanto segue:
- HTTP_PROXY con l'indirizzo del server proxy per il routing delle richieste HTTP.
- HTTPS_PROXY con il server proxy per il routing delle richieste HTTPS.
- NO_PROXY con un elenco facoltativo di IP, intervalli CIDR e domini in cui il proxy non viene utilizzato.
Per ulteriori informazioni, consulta il riferimento sulla configurazione.
Ad esempio, la seguente configurazione utilizza un proxy all'indirizzo 10.0.0.254
ed esclude un certo numero di siti.
{
"httpProxy": "http://user:password@10.0.0.254:80",
"httpsProxy": "http://user:password@10.0.0.254:443",
"noProxy": "localhost,127.0.0.1,169.254.169.254,10.0.0.0/16,example.com"
}
Aggiunta del proxy ad anthos-gke.yaml
Configura AWSManagementService seguendo questi passaggi:
Passa alla directory con la configurazione di Cluster Anthos on AWS. Hai creato questa directory durante l'installazione del servizio di gestione.
cd anthos-aws
Apri
anthos-gke.yaml
in un editor di testo. Aggiungi un valore perspec.proxy
come nell'esempio seguente.apiVersion: multicloud.cluster.gke.io/v1 kind: AWSManagementService metadata: name: management spec: version: aws-1.14.1-gke.0 proxy: PROXY_JSON_FILE securityGroupIDs: - SECURITY_GROUP_ID ...
Sostituisci quanto segue:
- PROXY_JSON_FILE con il percorso relativo della configurazione JSON del proxy.
- SECURITY_GROUP_ID con l'ID di un gruppo di sicurezza con accesso al server proxy.
Salva il file.
Esegui
anthos-gke aws management init
per generare un fileanthos-gke.status.yaml
con una configurazione aggiuntiva. Il comandoinit
convalida anche l'oggettoAWSManagementService
nel fileanthos-gke.yaml
.anthos-gke aws management init
Esegui
anthos-gke aws management apply
per aggiornare il servizio di gestione su AWS.anthos-gke aws management apply
Quindi, crea un cluster utente. Includi il gruppo di sicurezza del proxy nelle
AWSCluster
eAWSNodePool
spec.controlPlane.securityGroupIDs
espec.securityGroupIDs
rispettivamente. In seguito, il cluster avrà accesso al proxy.
Riferimento per la configurazione
Campo | Descrizione | Esempio | Obbligatoria |
---|---|---|---|
httpProxy |
L'URL di un server proxy. Il valore deve includere un nome host/indirizzo IP e, facoltativamente, una porta, un nome utente e una password. | "http://user:password@10.184.37.42:80" |
Sì |
httpsProxy |
Un URL proxy per il traffico criptato. Se non viene fornito il valore httpsProxy , verrà utilizzato l'URL httpProxy . |
"http://user:password@10.101.16.31:80" |
No |
noProxy |
Un elenco di URL separati da virgole da escludere dal proxy. Ciascun valore può essere un indirizzo IP, un intervallo CIDR, un nome di dominio o il carattere asterix (* ). I domini specificati con un punto iniziale (ad esempio, ".google.com") indicano che è necessario un sottodominio. Un singolo asterix * indica che non è necessario eseguire il proxy. |
"1.2.3.4,10.0.0.0/16,example.com,.site.com" |
No |
Passaggi successivi
Per ulteriori informazioni sul completamento dell'installazione di Cluster Anthos on AWS, consulta quanto segue:
Se devi creare un VPC AWS dedicato, consulta Installazione di un servizio di gestione.
Se hai già un VPC AWS, consulta la sezione Integrazione con l'infrastruttura esistente.
Per informazioni sulla modifica delle impostazioni proxy del cluster, vedi: