In diesem Thema wird beschrieben, wie Sie Traffic von den Anthos-Clustern auf den verwalteten Dienst von AWS (GKE on AWS) leiten und über einen HTTP-/HTTPS-Proxy verbinden.
Anthos-Cluster auf AWS benötigen Internetzugriff aus folgenden Gründen:
- Der Verwaltungsdienst registriert Nutzercluster mit Connect.
- Nutzercluster führen den Connect Agent aus.
- Alle Verwaltungsdienstknoten und Nutzerclusterknoten laden Images aus Container Registry herunter.
Sie können diesen Traffic über einen HTTP- oder HTTPS-Proxy weiterleiten. Ab Anthos-Cluster auf AWS 1.8 können Sie einzelne Proxyeinstellungen für Ihren Verwaltungsdienst und jeden Ihrer Cluster konfigurieren. Weitere Informationen zum Ändern der Proxyeinstellungen finden Sie unter Clusterproxy-Einstellungen ändern.
Proxyeinstellungen werden in einer JSON-Datei deklariert, auf die in anthos-gke.yaml
verwiesen wird.
Vorbereitung
Bevor Sie Anthos-Cluster auf AWS für die Verwendung eines Proxys konfigurieren, müssen Sie AWS-VPC-Endpunkte aktivieren, eine Sicherheitsgruppe für den Proxy definieren und ausgehende Verbindungen zu bestimmten Google Cloud-Diensten zulassen.
Um einen HTTP-Proxy verwenden zu können, müssen Ihre Nutzercluster mindestens Kubernetes 1.17 ausführen.
VPC-Endpunkte aktivieren
Bevor Sie einen Proxy konfigurieren, müssen Sie VPC-Endpunkte für Ihre Installation von Anthos-Cluster auf AWS erstellen. Über VPC-Endpunkte können Ressourcen in privaten Subnetzen ohne öffentlichen Internetzugang auf AWS-Dienste zugreifen.
In der folgenden Tabelle sind die AWS-Dienste aufgeführt, für die Anthos-Cluster auf AWS VPC-Endpunkte benötigt, sowie der Endpunkttyp und die Sicherheitsgruppen für jeden Anthos-Cluster in der AWS-Komponente, die Zugriff auf den Endpunkt erfordert.
Dienst | Endpunkttyp | Sicherheitsgruppen |
---|---|---|
Automatische Skalierung | Benutzeroberfläche | Verwaltung, Steuerungsebene, Knotenpools |
EC2 | Benutzeroberfläche | Verwaltung, Steuerungsebene, Knotenpools |
Lastenausgleich | Benutzeroberfläche | Verwaltung, Steuerungsebene, Knotenpools |
Key Management Service | Benutzeroberfläche | Verwaltung, Steuerungsebene, Knotenpools |
S3 | Gateway | Verwaltung, Steuerungsebene, Knotenpools |
Security Token Service (STS) | Schnittstelle | Verwaltung, Steuerungsebene, Knotenpools |
Sie können Endpunkte über die AWS-VPC-Konsole erstellen. Die Optionen, die Sie beim Erstellen von VPC-Endpunkten festlegen, sind von Ihrer VPC-Konfiguration abhängig.
Sicherheitsgruppe definieren
Die Komponenten für Anthos-Cluster auf AWS müssen eine Verbindung zum Proxyserver herstellen können. Erstellen oder suchen Sie eine AWS-Sicherheitsgruppe, die ausgehende Verbindungen zu Ihrem Proxyserver zulässt. Die Sicherheitsgruppe sollte ausgehenden Zugriff von Ihren Verwaltungs-, Steuerungsebenen- und Knotenpool-Sicherheitsgruppen auf die Proxy-Adresse und den Port zulassen. Speichern Sie die ID dieser Sicherheitsgruppe (z. B. sg-12345678
).
Typ | Protokoll | Vom Port | Zum Port | Adresse |
---|---|---|---|---|
Ausgehend | TCP | Proxy-Port: | Proxy-Port: | Proxy-Sicherheitsgruppe |
Ausgehende Verbindungen zu Google Cloud-Diensten zulassen
Damit Anthos-Cluster auf AWS eine Verbindung zu Google Cloud-Diensten herstellen können, muss der Proxy-Server Traffic zu den folgenden Domains zulassen:
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
Ersetzen Sie EC2-REGION durch die AWS EC2-Region, in der Ihre Installation von Anthos-Cluster in AWS ausgeführt wird. Beispiel: us-west-1.ec2.archive.ubuntu.com/
Wenn Sie Anthos Service Mesh mit Prometheus und Kiali verwenden, lassen Sie den ausgehenden Zugriff von den folgenden Domains zu:
docker.io
quay.io
JSON-Datei für die Proxykonfiguration erstellen
Die JSON-Datei für die Proxy-Konfiguration enthält ein Objekt, das drei Schlüssel/Wert-Paare mit den Schlüsselnamen httpProxy
, httpsProxy
und noProxy
enthält.
Nutzernamen und Passwörter werden mit Ihrem AWS KMS-Schlüssel umschlagverschlüsselt, bevor sie auf den Server angewendet.
{
"httpProxy": "HTTP_PROXY",
"httpsProxy": "HTTPS_PROXY",
"noProxy": "NO_PROXY"
}
Dabei gilt:
- HTTP_PROXY durch die Adresse des Proxyservers, um HTTP-Anfragen weiterzuleiten.
- HTTPS_PROXY durch den Proxyserver, um HTTPS-Anfragen weiterzuleiten.
- NO_PROXY durch eine optionale Liste mit IP-Adressen, CIDR-Bereichen und Domains, in denen der Proxy nicht verwendet wird.
Weitere Informationen finden Sie unter Konfigurationsreferenz.
Die folgende Konfiguration verwendet beispielsweise einen Proxy unter 10.0.0.254
und schließt eine Reihe von Standorten aus.
{
"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"
}
Proxy zu Anthos-gke.yaml hinzufügen
Konfigurieren Sie Ihren AWSManagementService mit den folgenden Schritten:
Wechseln Sie in das Verzeichnis mit Ihrer Anthos-Cluster auf AWS-Konfiguration. Sie haben dieses Verzeichnis bei der Installation des Verwaltungsdienstes erstellt.
cd anthos-aws
Öffnen Sie
anthos-gke.yaml
in einem Texteditor. Fügen Sie einen Wert fürspec.proxy
wie im folgenden Beispiel hinzu.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 ...
Dabei gilt:
- PROXY_JSON_FILE durch den relativen Pfad der JSON-Konfiguration Ihres Proxys.
- SECURITY_GROUP_ID durch die ID einer Sicherheitsgruppe mit Zugriff auf den Proxyserver.
Speichern Sie die Datei.
Führen Sie
anthos-gke aws management init
aus, um eineanthos-gke.status.yaml
-Datei mit zusätzlicher Konfiguration zu generieren. Mit dem Befehlinit
wird auch das ObjektAWSManagementService
in der Dateianthos-gke.yaml
validiert.anthos-gke aws management init
Führen Sie
anthos-gke aws management apply
aus, um den Verwaltungsdienst für AWS zu aktualisieren.anthos-gke aws management apply
Als Nächstes erstellen Sie einen Nutzercluster. Fügen Sie die Sicherheitsgruppe des Proxys in
spec.controlPlane.securityGroupIDs
bzw.spec.securityGroupIDs
inAWSCluster
bzw.AWSNodePool
ein. Der Cluster hat dann Zugriff auf den Proxy.
Konfigurationsreferenz
Feld | Beschreibung | Beispiel | Erforderlich |
---|---|---|---|
httpProxy |
Eine Proxyserver-URL. Der Wert sollte einen Hostnamen/eine IP-Adresse und optional einen Port, einen Nutzernamen und ein Passwort enthalten. | "http://user:password@10.184.37.42:80" |
Ja |
httpsProxy |
Eine Proxy-URL für verschlüsselten HTTPS-Traffic. Die URL httpProxy wird verwendet, wenn httpsProxy nicht angegeben wurde. |
"http://user:password@10.101.16.31:80" |
Nein |
noProxy |
Eine durch Kommas getrennte Liste von URLs, die vom Proxy ausgeschlossen werden sollen. Jeder Wert kann eine IP-Adresse, einen CIDR-Bereich, einen Domain-Namen oder ein Sternchenzeichen (* ) sein. Bei Domains, die mit einem vorangestellten Punkt wie ".google.com" gekennzeichnet sind, ist eine Subdomain erforderlich. Ein einzelnes Sternchenzeichen * zeigt an, dass keine Proxys ausgeführt werden sollen. |
"1.2.3.4,10.0.0.0/16,example.com,.site.com" |
Nein |
Nächste Schritte
Weitere Informationen zum Ausführen einer Anthos-Cluster on AWS-Installation finden Sie unter:
Informationen zum Erstellen einer dedizierten AWS-VPC finden Sie unter Verwaltungsdienst installieren.
Wenn Sie eine vorhandene AWS-VPC haben, finden Sie weitere Informationen unter Integration in vorhandene Infrastruktur.
Informationen zum Ändern der Proxyeinstellungen Ihres Clusters finden Sie unter: