Installation hinter einem Proxy

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.
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, wenn Docker für die Containerlaufzeit verwendet wird.
gkeconnect.googleapis.com Kanal einrichten, über den Anfragen von Google Cloud und Antworten empfangen werden.
gkehub.googleapis.com Ressourcen für die Google Cloud-seitige Hub-Mitgliedschaft erstellen, die dem Cluster entsprechen, den Sie mit Google Cloud verbinden.
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.
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.

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.

proxy.noProxy

Eine Liste mit IP-Adressen, Hostnamen und Domainnamen, die nicht durch den Proxyserver geleitet werden sollen.

Beispiel

Das folgende Beispiel zeigt die Proxy-Einstellungen in einer Cluster-Konfigurationsdatei:

  proxy:
     url: http://[username:password@]domain
     noProxy:
     - example1.com
     - example2.com

Proxykonfiguration überschreiben

Sie können die Bootstrap-Maschine hinter einem anderen Proxy ausführen als dem, der von Ihren Knotenmaschinen verwendet wird, indem Sie die Proxyeinstellungen 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.