Konfiguration der Schematics Agenten für die Verwendung eines Proxyservers
Viele Umgebungen lassen keine direkte Konnektivität zum öffentlichen Internet zu, erfordern jedoch, dass Verbindungen von einem sicheren Proxy-Gateway weitergeleitet werden. Schematics Agentenkonfigurationsrichtlinien ermöglichen die Verwendung eines Proxy-Servers, wenn der direkte Zugriff auf das Internet nicht zulässig ist. Sie können einen HTTP oder HTTPS Proxy verwenden.
Die Proxy-Konfiguration muss auf jedem Host im Cluster identisch sein. Daher müssen Sie beim Einrichten oder Ändern des Proxys die YAML-Spezifikationsdatei für das Deployment, die ConfigMap, und die NetworkPolicy aktualisieren. Starten Sie anschließend die Implementierung erneut, um die Proxy-Server-Konfiguration anzuwenden.
Vorbereitende Schritte
Stellen Sie sicher, dass die folgenden Voraussetzungen erfüllt sind, bevor Sie den Proxy-Serverzugriff konfigurieren. Das Beispiel hier verwendet einen Squid-Proxy an Port 3128.
- Ein Proxy-Server, der Google über HTTP oder HTTPS erreichen kann und vom Cluster aus zugänglich ist.
- IP-Adresse und Port des Proxy-Servers, z. B.
http://53.25.191.193:3128 - Das Befehlszeilentool 'curl' ist auf den Cluster-Pods verfügbar.
Proxy-Server konfigurieren
-
Über die Kubernetes-Clusterkonsole. Klicken Sie auf Kubernetes dashboard
-
Wechseln Sie im Dropdown-Feld für die Namensbereichsauswahl zu schematics-runtime.
-
Klicken Sie im Abschnitt
Config and Storageauf Konfigurationszuordnungen, damit die Zuordnungen für den Namensbereichschematics-runtimeangezeigt werden.-
Klicken Sie auf die Konfigurationszuordnungsressource
schematics-runtime-job-configund wählen Sie das Stiftsymbol aus, um die YAML-Datei zu bearbeiten und dieHTTPS/HTTP-Proxy-Anweisungen hinzuzufügen. -
Fügen Sie
HTTPS/HTTP-Proxyeinträge unter der Eigenschaftdataim unteren Abschnitt der Datei hinzu:data: HTTPS_PROXY: http://<ipaddress>:<port> HTTP_PROXY: http://<ipaddress>:<port> -
Klicken Sie auf Aktualisieren, um die Konfigurationszuordnung zu speichern und zu bestätigen, dass die neuen Proxy-Einträge in der Dateiliste angezeigt werden.
-
Wiederholen Sie diese Schritte für die Konfigurationszuordnungsressource
schematics-runtime-ansible-job-config.
-
-
Klicken Sie im Abschnitt
Clusterauf Netzrichtlinien, um die Richtlinien für den Namensbereich 'schematics-runtime' anzuzeigen.- Bearbeiten Sie die
whitelist-runtime-egress-gen-ports-Datei NetworkPolicy, um den von IhremHTTPS/HTTP-Proxy verwendeten Port hinzuzufügen. - Fügen Sie den
HTTPS/HTTP-Proxy-Port zur Eigenschaft "ports" hinzu.- ports: - protocol: TCP port: 3128
- Bearbeiten Sie die
-
Starten Sie die
schematics-runtime-Bereitstellung erneut und überprüfen Sie, ob alle Pods aktiv sind.- Klicken Sie im Abschnitt
Workloadsauf Implementierungen, um die aktuellen Implementierungen für den Namensbereich 'schematics-runtime' anzuzeigen. - Wählen Sie die Ressource
runtime-jobaus und starten Sie den Pod erneut. - Wählen Sie die Ressource
runtime-ansible-jobaus und starten Sie den Pod erneut.
- Klicken Sie im Abschnitt
Zugriff auf Proxy-Server überprüfen
Überprüfen Sie, ob die Cluster-Pods über den Proxy-Server auf das Internet zugreifen können.
-
Melden Sie sich am Pod
schematics-runtimean und führen Sie den Befehlcurlaus, um zu überprüfen, ob die Proxy-Umgebungsvariablen im Container ordnungsgemäß festgelegt werden. -
Wählen Sie unter
Workloads > Podsdie erstenjob-runtimeundExecdarin aus.curl --head https://www.google.com
Wenn der Proxy für HTTPS arbeitet, gibt der Befehl curl eine 200 OK HTTP response zurück.
Wenn der curl-Befehl keine Verbindung herstellen kann, stellen Sie sicher, dass der Proxy über den Cluster zugänglich ist und den Zugriff auf die Zielwebsite weiterleiten kann. Verwenden Sie den folgenden curl-Befehl mit der Option
"proxy", um zu prüfen, ob auf den Proxy zugegriffen werden kann.
```curl {: codeblock}
curl --proxy http://<ipaddress>:<port> --head https://www.google.com
```
Wenn über den Proxy-Parameter nicht auf die Website zugegriffen werden kann, überprüfen Sie, ob die Netzegress-Regel für den Cluster ordnungsgemäß festgelegt ist und ob Netzzugriff auf den Proxy besteht.
Wenn auf die Website über den Proxy-Parameter zugegriffen werden kann, überprüfen Sie, ob die Konfigurationszuordnung ordnungsgemäß aktualisiert wurde und die Umgebungsvariablen des HTTPS/HTTP-Proxys mit dem Befehl env festgelegt wurden.
Die Umgebungsvariablen HTTP_PROXY und HTTPS_PROXY sollten in der Ausgabe aufgelistet werden. Falls nicht aufgelistet, überprüfen Sie die Konfigurationszuordnungsdefinitionen erneut.