Auf dieser Seite wird gezeigt, wie Sie Proxy- und Firewallregeln für Google Distributed Cloud einrichten.
Proxyserver konfigurieren
Wenn die Maschinen, die Sie für Bootstrapping verwenden, und Clusterknoten einen Proxyserver zum Zugriff auf das Internet verwenden, müssen Sie Folgendes tun:
- Proxys für den Paketmanager auf Clusterknoten konfigurieren
- Proxydetails in der Cluster-Konfigurationsdatei konfigurieren
Vorbereitung
Ihr Proxyserver muss Verbindungen zu den folgenden Adressen zulassen:
| Adresse | Zweck |
|---|---|
*.gcr.io |
Images aus der Artifact Registry herunterladen. |
accounts.google.com |
Autorisierungsanfragen für OpenID verarbeiten und öffentliche Schlüssel zum Verifizieren von Tokens ermitteln. |
binaryauthorization.googleapis.com |
Erforderlich, wenn Sie die Binärautorisierung verwenden. Autorisieren (oder lehnen Sie ab) Anfragen von Clustern zur Ausführung von Container-Images. |
cloudresourcemanager.googleapis.com |
Metadaten zu dem Google Cloud Projekt auflösen, mit dem der Cluster verbunden wird. |
compute.googleapis.com |
Cloud Logging- und Cloud Monitoring-Ressourcenregion prüfen. |
connectgateway.googleapis.com |
Ermöglichen Sie Cloud Customer Care, Lesezugriff auf Ihren Cluster zu gewähren, um Probleme zu diagnostizieren. |
dl.google.com |
Laden Sie das Google Cloud SDK herunter und installieren Sie es. |
gkeconnect.googleapis.com |
Richten Sie den Kanal ein, der zum Empfangen von Anfragen von Google Cloud und
zum Senden von Antworten verwendet wird. Wenn Ihr Cluster über eine
Google Cloud Region bei der Flotte registriert wurde, müssen Sie
REGION-gkeconnect.googleapis.com auf die Zulassungsliste setzen (z. B.
us-central1-gkeconnect.googleapis.com). Wenn Sie keine
Region angegeben haben, verwendet der Cluster die globale Connect-Dienstinstanz und Sie setzen
gkeconnect.googleapis.com auf die Zulassungsliste. Wenn Sie den Standort der Flottenmitgliedschaft
für Ihren Cluster ermitteln müssen, führen Sie gcloud container fleet memberships list aus.
Weitere Informationen finden Sie unter
gkeConnect.location.
|
gkehub.googleapis.com |
Erstellen Sie Google Cloud-seitige Flotten-Mitgliedschafts Ressourcen, die dem Cluster entsprechen, mit dem Sie eine Verbindung herstellen Google Cloud. |
gkeonprem.googleapis.com |
Erstellen und verwalten Sie den Clusterlebenszyklus in der Bare-Metal- und VMware Infrastruktur. |
gkeonprem.mtls.googleapis.com |
Erstellen und verwalten Sie den Clusterlebenszyklus in der Bare-Metal- und VMware Infrastruktur. Diese Version der API wird automatisch mit mTLS verwendet. |
iam.googleapis.com |
Erstellen Sie Dienstkonten, mit denen Sie sich bei authentifizieren und API-Aufrufe ausführen können. Google Cloud |
iamcredentials.googleapis.com |
Zugriffskontrolle und Telemetrieberichte für Audit-Logging. |
kubernetesmetadata.googleapis.com |
Cluster verwenden diese API als Endpunkt, um Kubernetes-Metadaten an Google Cloudzu senden. Die Metadaten sind für die Clusterüberwachung, das Debugging und die Wiederherstellung von entscheidender Bedeutung. |
logging.googleapis.com |
Logeinträge schreiben und Cloud Logging-Konfiguration verwalten. |
monitoring.googleapis.com |
Cloud Monitoring-Daten und -Konfigurationen verwalten. |
oauth2.googleapis.com |
Über den OAuth-Token-Austausch für den Kontozugriff authentifizieren. |
opsconfigmonitoring.googleapis.com |
Metadaten für Kubernetes-Ressourcen wie Pods, Deployments oder Knoten erfassen, um Messwertabfragen anzureichern. |
releases.hashicorp.com |
Optional. Verwenden Sie den Terraform-Client auf Ihrer Administratorworkstation, um
Befehle wie terraform apply auszuführen. |
securetoken.googleapis.com |
Aktualisierungstokens für die Autorisierung von Workload Identity abrufen. |
servicecontrol.googleapis.com |
Audit-Logeinträge in Cloud-Audit-Logs schreiben. |
serviceusage.googleapis.com |
Dienste und APIs aktivieren und validieren. |
stackdriver.googleapis.com |
Google Cloud Observability-Metadaten verwalten, z. B. Stackdriver-Konten. |
storage.googleapis.com |
Objektspeicher und Buckets wie Artifact Registry-Objekte verwalten. |
sts.googleapis.com |
Anmeldedaten von Google oder Drittanbietern für ein kurzlebiges Zugriffstoken für Google Cloud Ressourcen austauschen. |
www.googleapis.com |
Dienst-Tokens aus eingehenden Google Cloud Dienst Anfragen authentifizieren. |
Zusätzlich zu diesen URLs muss der Proxyserver auch alle Paketspiegel, die der Paketmanager Ihres Betriebssystems benötigt, zulassen. Sie können die Paketmanagerkonfiguration aktualisieren, um eine einfacher deterministische Liste zu verwenden.
Proxys für den Paketmanager auf Clusterknoten konfigurieren
Google Distributed Cloud verwendet den APT-Paketmanager unter Ubuntu und den DNF-Paketmanager unter Red Hat Enterprise Linux. Prüfen Sie, ob der OS-Paketmanager die richtige Proxykonfiguration hat.
Weitere Informationen zur Konfiguration des Proxys finden Sie in der Dokumentation Ihrer OS-Distribution. Die folgenden Beispiele zeigen eine Möglichkeit zum Konfigurieren der Proxyeinstellungen:
APT
Diese Befehle zeigen, wie der Proxy für APT konfiguriert wird:
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
Ersetzen Sie USERNAME:PASSWORD@DOMAIN durch Details, die für Ihre Konfiguration spezifisch sind. Wenn Ihr Proxy beispielsweise keine Anmeldung erfordert, sollten Sie nicht USERNAME:PASSWORD@ mit DOMAIN hinzufügen.
DNF
Dieser Befehl zeigt, wie der Proxy für DNF konfiguriert wird:
echo "proxy=http://USERNAME:PASSWORD@DOMAIN" >> /etc/dnf/dnf.conf
Ersetzen Sie USERNAME:PASSWORD@DOMAIN durch Details, die für Ihre Konfiguration spezifisch sind. Wenn Ihr Proxy beispielsweise keine Anmeldung erfordert, sollten Sie nicht USERNAME:PASSWORD@ mit DOMAIN hinzufügen.
Proxydetails in der Cluster-Konfigurationsdatei konfigurieren
Legen Sie in der Clusterkonfigurationsdatei die folgenden Werte fest, um den Cluster für die Verwendung des Proxys zu konfigurieren:
proxy.url
Ein String, der die Proxy-URL angibt. Die Bootstrap- und Knotenmaschinen greifen über diesen Proxy auf das Internet zu. Der Proxy-URL-String muss mit dem Schema beginnen, z. B. http:// oder https://.
proxy.noProxy
Eine Liste von IP-Adressen, Hostnamen und Domainnamen, die nicht über den Proxyserver laufen sollen.
In den meisten Fällen müssen Sie dieser Liste keine Elemente hinzufügen.
Anwendungsfälle für noProxy:
Verwenden eines privaten Paket-Spiegel, die sich im selben privaten Netzwerk befindet (kein Proxy für den Zugriff erforderlich)
Verwenden einer privaten Registry-Spiegel, die sich im selben privaten Netzwerk befindet (kein Proxy für den Zugriff erforderlich)
Beispiel
Das folgende Beispiel zeigt die Proxy-Einstellungen in einer Cluster-Konfigurationsdatei:
proxy:
url: http://USERNAME:PASSWORD@DOMAIN
noProxy:
- example1.com
- example2.com
Proxykonfigurationen für GKE Identity Service
Wenn Sie GKE Identity Service zur Authentifizierung in Google Distributed Cloud-Clustern verwenden, sind die folgenden zusätzlichen Schritte erforderlich, damit GKE Identity Service hinter einem Proxy funktioniert.
Legen Sie in der Clusterkonfigurationsdatei die Proxydetails im OIDC-Abschnitt
authenticationfür die GKE Identity Service-Einstellungen fest.authentication: oidc: proxy: http://USERNAME:PASSWORD@DOMAINAktualisieren Sie die Konfiguration Ihres Proxyservers, um Verbindungen zu den Authentifizierungs-URLs Ihres OIDC-Anbieters zuzulassen.
Verwendung des Proxys im Cluster
Als Faustregel gilt, dass bmctl-Befehle und die von ihnen ausgelösten Prozesse die Proxy-Konfiguration verwenden, die durch die Umgebungsvariablen HTTPS_PROXY und NO_PROXY definiert ist, sofern diese definiert sind. Andernfalls verwendet bmctl die Proxykonfiguration aus der Clusterkonfigurationsdatei. Andere Befehle, die auf der Administratorworkstation, auf Clusterknotenmaschinen oder vom Bootstrap-Cluster ausgeführt werden, verwenden die Proxykonfiguration aus der Clusterkonfigurationsdatei.
Der OS-Paketmanager auf jedem Knoten verwendet seine eigene Konfigurationsdateien für Proxy-Einstellungen.
Proxykonfiguration auf Ihrer Bootstrap-Maschine überschreiben
Sie können die Administratorworkstation hinter einem anderen Proxy ausführen als dem, der von Ihren Knotenmaschinen verwendet wird, indem Sie die Proxy-Einstellungen in der Clusterkonfigurationsdatei überschreiben. Wenn Sie die Proxyeinstellungen überschreiben möchten, legen Sie die folgenden Umgebungsvariablen auf der Bootstrap-Maschine fest:
export HTTPS_PROXY=http://USERNAME:PASSWORD@DOMAIN
Ersetzen Sie USERNAME:PASSWORD@DOMAIN durch Details, die für Ihre Konfiguration spezifisch sind.
export NO_PROXY=example1.com,example2.com
Ersetzen Sie example1.com,example2.com durch IP-Adressen, Hostnamen und Domainnamen, die nicht über den Proxyserver geleitet werden sollen.
Nebeneffekte
Bei Ausführung als Root aktualisiert bmctl die Docker-Proxy-Konfiguration auf dem Bootstrap-Computer. Wenn Sie bmctl nicht als Root ausführen, konfigurieren Sie den Docker-Proxy
manuell.
Firewallregeln
Richten Sie Ihre Firewall-Regeln wie in den folgenden Abschnitten beschrieben ein, um den beschriebenen Traffic zuzulassen, der für Google Distributed Cloud benötigt wird.
Die erforderlichen Portanforderungen für Google Distributed Cloud finden Sie unter Portnutzung.
Firewallregeln für IP-Adressen von Clusterknoten
In der folgenden Tabelle werden die Firewallregeln für die in Ihren Clustern verfügbaren IP-Adressen beschrieben.
Von |
Quellport |
Bis |
Port |
Protokoll |
Beschreibung |
|---|---|---|---|---|---|
| Clusterknoten | 1024 – 65535 | cloudresourcemanager.googleapis.comgkeconnect.googleapis.comgkehub.googleapis.com |
443 | TCP/HTTPS | Zugriff auf die Flottenregistrierung ist erforderlich . |
| Cloud Logging Collector, der auf Clusterknoten ausgeführt wird | 1024 – 65535 | oauth2.googleapis.comlogging.googleapis.comstackdriver.googleapis.comservicecontrol.googleapis.comstorage.googleapis.comwww.googleapis.com |
443 | TCP/HTTPS | |
| Cloud Metadata Collector, der auf Clusterknoten ausgeführt wird | 1024 – 65535 | opsconfigmonitoring.googleapis.com |
443 | TCP/HTTPS | |
| Cloud Monitoring Collector, der auf Clusterknoten ausgeführt wird | 1024 – 65535 | oauth2.googleapis.commonitoring.googleapis.comstackdriver.googleapis.comservicecontrol.googleapis.com |
443 | TCP/HTTPS | |
| Clusterknoten | 1024 – 65535 | Lokale Docker-Registry | Hängt von Ihrer Registry ab | TCP/HTTPS | Erforderlich, wenn Google Distributed Cloud für die Verwendung einer lokalen privaten
Docker-Registry anstelle von gcr.io konfiguriert ist. |
| Clusterknoten | 1024 – 65535 | gcr.iooauth2.googleapis.comstorage.googleapis.comJede Google API-URL der Form *.googleapis.com, die für die für den Administratorcluster aktivierten Dienste erforderlich ist. |
443 | TCP/HTTPS | Images aus öffentlichen Docker-Registrys herunterladen Nicht erforderlich, wenn eine private Docker-Registry verwendet wird |
| Connect-Agent, der auf einem Clusterknoten ausgeführt wird | 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 | Weitere Informationen zum vom Connect-Agent verwalteten Traffic finden Sie unter Übersicht: Connect-Agent. |
| Clusterknoten | 1024 – 65535 |
gkeonprem.googleapis.comgkeonprem.mtls.googleapis.com |
443 | TCP/HTTPS | Erstellen und verwalten Sie den Clusterlebenszyklus in der Bare-Metal- und VMware Infrastruktur. |
Firewallregeln für die verbleibenden Komponenten
Die in der folgenden Tabelle beschriebenen Regeln gelten für alle anderen Komponenten, die nicht im vorherigen Abschnitt aufgeführt sind.
Von |
Quellport |
Bis |
Port |
Protokoll |
Beschreibung |
|---|---|---|---|---|---|
| Clients und Endnutzer von Anwendungen | Alle | VIP des eingehenden Istio-Traffics | 80, 443 | TCP | Endnutzer-Traffic zum Dienst für eingehenden Traffic eines Nutzerclusters |
| Administratorworkstation | 32768 – 60999 | gcr.iocloudresourcemanager.googleapis.comoauth2.googleapis.comstorage.googleapis.comAlle *.googleapis.com-URLs, die für die für diesen Cluster aktivierten Dienste erforderlich sind |
443 | TCP/HTTPS | Docker-Images aus öffentlichen Docker-Registries herunterladen |
| Administratorworkstation | 32768 – 60999 | gcr.iocloudresourcemanager.googleapis.comiam.googleapis.comoauth2.googleapis.comserviceusage.googleapis.comstorage.googleapis.comJede *.googleapis.com-URL, die für die Dienste erforderlich ist, die für die Administrator- oder Nutzercluster aktiviert sind |
443 | TCP/HTTPS | Preflight-Prüfungen (Validierung) |