Auf dieser Seite wird gezeigt, wie Sie Proxy- und Firewallregeln für Anthos-Cluster auf Bare Metal 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 Container Registry abrufen. |
accounts.google.com |
Autorisierungsanfragen für OpenID verarbeiten und öffentliche Schlüssel zum Verifizieren von Tokens ermitteln. |
cloudresourcemanager.googleapis.com |
Metadaten in Bezug auf das Google Cloud-Projekt auflösen, mit dem der Cluster verbunden ist. |
compute.googleapis.com |
Cloud Logging- und Cloud Monitoring-Ressourcenregion prüfen. |
connectgateway.googleapis.com |
Aktivieren Sie die Möglichkeit, Cloud Customer Care Lesezugriff auf Ihren Cluster zu gewähren, um Probleme zu diagnostizieren. |
dl.fedoraproject.org |
Zusätzliche Pakete für Enterprise Linux (EPEL) installieren, wenn Sie Red Hat Enterprise Linux (RHEL)-Distributionen verwenden. |
download.docker.com |
Docker-Repository hinzufügen. Dies ist erforderlich, wenn Sie die Administratorworkstation hinter einem Proxy ausführen. |
gkeconnect.googleapis.com |
Kanal einrichten, über den Anfragen von Google Cloud und Antworten empfangen werden. |
gkehub.googleapis.com |
Erstellen Sie Google Cloud-seitige Ressourcen für die Flottenmitgliedschaft, die dem Cluster entsprechen, den Sie mit Google Cloud verbinden. |
gkeonprem.googleapis.com |
Clusterlebenszyklus in der Bare-Metal- und VMware-Infrastruktur erstellen und verwalten. |
gkeonprem.mtls.googleapis.com |
Clusterlebenszyklus in der Bare-Metal- und VMware-Infrastruktur erstellen und verwalten. Diese Version der API wird automatisch mit mTLS verwendet. |
iam.googleapis.com |
Dienstkonten erstellen, mit denen Sie sich bei Google Cloud authentifizieren und API-Aufrufe ausführen können. |
iamcredentials.googleapis.com |
Zugriffskontrolle und Telemetrieberichte für Audit-Logging. |
logging.googleapis.com |
Logeinträge schreiben und Cloud Logging-Konfiguration verwalten. |
monitoring.googleapis.com |
Cloud Monitoring-Daten und -Konfigurationen verwalten. |
packages.cloud.google.com |
Pakete aus dem Google Cloud-Paketspiegel herunterladen. |
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. |
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 |
Metadaten der Operations-Suite von Google Cloud verwalten, z. B. Stackdriver-Konten. |
storage.googleapis.com |
Objektspeicher und Buckets wie Container 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-Dienstanfragen 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
Anthos-Cluster auf Bare Metal verwenden den APT-Paketmanager unter Ubuntu und den DNF-Paketmanager unter CentOS und Red Hat 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.
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.
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 seinem Schema beginnen, z. B. „http://“ oder „https://“.
proxy.noProxy
Eine Liste mit IP-Adressen, Hostnamen und Domainnamen, die nicht durch den Proxyserver geleitet werden 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
Verwendung des Proxys im Cluster
Als Faustregel gilt, dass bmctl
-Befehle und die von ihnen generierten Prozesse die Proxykonfiguration verwenden, die durch die Umgebungsvariablen HTTPS_PROXY
und NO_PROXY
definiert wird, sofern sie 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 Package Manager auf jedem Knoten verwendet seine eigenen Konfigurationsdateien für Proxy-Einstellungen.
Proxykonfiguration auf dem Bootstrap-Computer überschreiben
Sie können Ihre Administratorworkstation hinter einem anderen Proxy als dem ausführen, der von Ihren Knotenmaschinen verwendet wird. Überschreiben Sie dazu die Proxyeinstellungen in der Clusterkonfigurationsdatei. 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 Firewallregeln wie in den folgenden Abschnitten beschrieben ein, um den beschriebenen Traffic für Anthos-Cluster auf Bare Metal zuzulassen.
Die erforderlichen Portanforderungen für Anthos-Cluster auf Bare Metal 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 |
To |
Port |
Protokoll |
Beschreibung |
---|---|---|---|---|---|
Clusterknoten | 1024 – 65535 | cloudresourcemanager.googleapis.com gkeconnect.googleapis.com gkehub.googleapis.com |
443 | TCP/HTTPS | Für die Flottenregistrierung ist Zugriff erforderlich. |
Cloud Logging Collector, der auf Clusterknoten ausgeführt wird | 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, 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.com monitoring.googleapis.com stackdriver.googleapis.com servicecontrol.googleapis.com |
443 | TCP/HTTPS | |
Clusterknoten | 1024 – 65535 | Lokale Docker-Registry | Hängt von Ihrer Registry ab | TCP/HTTPS | Erforderlich, wenn Anthos-Cluster on Bare Metal konfiguriert sind, um eine lokale private Docker-Registry anstelle von gcr.io zu verwenden. |
Clusterknoten | 1024 – 65535 | gcr.io oauth2.googleapis.com storage.googleapis.com Jede 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.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 | Weitere Informationen zum vom Connect-Agent verwalteten Traffic finden Sie unter Übersicht: Connect-Agent. |
Clusterknoten | 1024 – 65535 |
gkeonprem.googleapis.com gkeonprem.mtls.googleapis.com |
443 | TCP/HTTPS | Clusterlebenszyklus in der Bare-Metal- und VMware-Infrastruktur erstellen und verwalten. |
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 |
To |
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.io cloudresourcemanager.googleapis.com oauth2.googleapis.com storage.googleapis.com Alle *.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.io cloudresourcemanager.googleapis.com iam.googleapis.com oauth2.googleapis.com serviceusage.googleapis.com storage.googleapis.com Jede *.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) |