HTTP-Proxy für Ihre Satellite-Hosts konfigurieren

Sie können einen HTTP-Proxy so konfigurieren, dass der gesamte ausgehende Datenverkehr von Ihren Satellite-Hosts über den Proxy weitergeleitet wird.

Die Einrichtung eines HTTP-Proxys ist nur für Konten in der Zulassungsliste verfügbar.

Welchen Standorttyp benötige ich für die Verwendung des HTTP-Proxys?

Betrachten Sie die folgenden Standorttypen.

Vorhandene RHEL-basierte Standorte
Um einen Proxy einzurichten, muss Ihr Standort für Red Hat CoreOS (RHCOS) aktiviert sein. Wenn Ihre vorhandene Position nicht RHCOS-fähig ist, können Sie keinen HTTP-Proxy konfigurieren. Erstellen Sie einen RHCOS-fähigen Standort und konfigurieren Sie anschließend Ihren HTTP-Proxy.
Bestehende Red Hat- CoreOS-fähige Standorte mit zugehörigen Hosts
Um einen HTTP-Proxy einzurichten, müssen Sie Ihre Hosts zuerst aus Ihren Standort entfernen. Nachdem Sie Ihre Hosts entfernt haben, lesen Sie den Abschnitt HTTP-Proxy konfigurieren. Beachten Sie, dass Sie auch die Hosts aktualisieren müssen, die Ihre Standortsteuerebene bilden. Siehe Hosts der Steuerebene für Satellite-Standort aktualisieren.
Neue Red Hat CoreOS-aktivierte Positionen
Bevor Sie Ihre Hosts Ihrem Standort zuordnen, konfigurieren Sie Ihren HTTP-Proxy.

Welchen Hosttyp kann ich verwenden?

Sie können RHEL- oder Red Hat- CoreOS-Hosts verwenden, wenn Sie einen HTTP-Proxy einrichten. Sie müssen jeden Host bearbeiten, der an Ihren Standort angeschlossen ist, einschließlich der Hosts, die die Steuerebene bilden. Denken Sie daran, http oder https in Ihre Datei proxy.conf einzuschließen.

Was muss ich noch über HTTP-Proxy wissen?

Damit Ihr Satellite-Standort und Ihre Cluster mit einem Proxy arbeiten können, muss das Kubelet auf den Infrastrukturknoten der Steuerebene, die an einem Satellite-Ort bereitgestellt werden, mit dem API-Server des IBM Cloud-Steuerebenenknotens kommunizieren können. Um diese Kommunikation zu ermöglichen, müssen Sie eine der folgenden Voraussetzungen erfüllen.

  • Option 1: Verwenden Sie das reduzierte Script zum Anhängen der Firewall.

  • Option 2: Der aktuelle Proxy unterstützt langlebige TCP-Verbindungen (Tunneling über TCP ).

  • Option 3: Sie können einen sekundären Proxy auf einem VSI im selben Netzwerk wie Ihre Satellite-Hosts einrichten, der langlebige TCP-Verbindungen unterstützt.

  • Option 4: Sie können die Firewall für ausgehende Verbindungen öffnen, um die Verbindungen zu TCP zuzulassen. Weitere Informationen finden Sie unter Erforderliche abgehende Konnektivität für Hosts in allen Regionen. Suchen Sie dann die spezifischen Anforderungen für abgehende Netze für Ihre Region.

Sie können keinen HTTP-Proxy für die Kommunikation zwischen Worker und Master oder für die Verbindung zu den Paketspiegeln konfigurieren.

TCP-Tunneling einrichten

Ihr Proxy muss mit TCP-Tunnelung eingerichtet sein. Die folgenden Schritte beschreiben die allgemeine Einrichtung des TCP-Tunneling; anbieterspezifische Anweisungen finden Sie in der Dokumentation Ihres Anbieters.

  1. Konfigurieren Sie Ihren HTTP-Proxy so, dass der Datenverkehr für alle vier öffentlichen Service-Endpunkte an Ihren Standorten getunnelt wird. Um Ihre Endpunkte zu finden,

    ibmcloud sat location get --location LOCATION_NAME
    

    Suchen Sie in der Ausgabe das Feld URL des öffentlichen Serviceendpunkts. Aus diesem Feld können Sie die Endpunkte ableiten. Wenn der Feldwert beispielsweise https://c131-e.us-south.satellite.cloud.ibm.com:31726 lautet, sind die Endpunkte https://c131-1.us-south.satellite.cloud.ibm.com:31726, https://c131-2.us-south.satellite.cloud.ibm.com:31726 und https://c131-3.us-south.satellite.cloud.ibm.com:31726.

  2. Stellen Sie sicher, dass der Listener-Port des Proxys unter HTTP mit dem unter IBM Cloud übereinstimmt.

  3. Aktualisieren Sie die Datei /etc/hosts auf allen Ihren Satellite-Hosts, um die öffentlichen Serviceendpunkte des Standorts einzuschließen, die Datenverkehr nicht an die IBM Cloud-Endpunkte, sondern an den Proxy weiterleiten.

Die Konfigurationsdetails variieren je nach Anbieter. Richten Sie Ihren Proxy zunächst außerhalb der Satellite-Umgebung ein, um zu überprüfen, ob die Konfiguration für Ihre Infrastruktur funktioniert, und konfigurieren Sie Ihren Proxy anschließend in der Satellite-Umgebung. Weitere Informationen zum Einrichten und Konfigurieren Ihres HTTP-Proxys finden Sie im Blog Proxying In Cluster Kube-APIServer Traffic in IBM Cloud Satellite.

Zugriff auf Zulassungsliste anfordern

Um Zugriff auf die Whitelist für den Proxy HTTP zu erhalten, erstellen Sie bitte ein Ticket beim IBM-Support.

Verwenden Sie beispielsweise die folgende Anfrage als Vorlage.

Title: Request for addition of HTTP_PROXY config to
       location <LOCATION_ID>
Request Body:
We are requesting the following HTTP_PROXY info be added to
the location_ID listed in the title of this ticket.
Use the following HTTP_PROXY info
BE SURE to include the protocol (http:// or https://)
AND the port (`:PORT_NUMBER`) in the endpoint.
HTTP_PROXY: https://my-proxy-endpoint.com:PORT_NUMBER
HTTPS_PROXY: https://my-proxy-endpoint.com:PORT_NUMBER

Nachdem der Support das Ticket bearbeitet hat, erhalten Sie eine Benachrichtigung, dass Ihr Standort aktualisiert wurde. Falls eine Änderung erforderlich ist, eröffnen Sie bitte ein neues Ticket, in dem die neuen Parameter angegeben sind. Um Ihre zu finden LOCATIONID, führen Sie aus ibmcloud sat locations.

HTTP-Proxy konfigurieren

Um einen HTTP-Proxy zu konfigurieren, müssen Sie jeden Ihrer Hosts bearbeiten, einschließlich der Hosts in der Steuerebene. Wenn Ihre Hosts bereits an einen Standort angehängt sind, also auch an die Hosts, aus denen die Steuerebene besteht, müssen Sie sie aus dem Standort entfernen, bevor Sie sie bearbeiten können. Nachdem Sie den Proxy konfiguriert haben, hängen Sie Ihre Hosts erneut an den Standort an. Weitere Informationen zum Aktualisieren Ihrer Control-Plane-Hosts finden Sie unter Aktualisieren der Control-Plane-Hosts für den Standort Satellite.

  1. Wählen Sie einen Spiegelstandort aus, den Sie als Proxy verwenden möchten. Dieser Spiegelungsstandort wird beim Einrichten des Proxys verwendet.

  2. Suchen Sie den Wert für NO_PROXY.

    • Verwenden Sie als Host der Steuerebene 172.20.0.1 für RHCOS und NO_PROXY=172.20.0.1,$<REDHAT_PACKAGE_MIRROR_LOCATION> für RHEL.
    • Bei Red Hat OpenShift-Hosts müssen die NO_PROXY for Red Hat OpenShift-Hosts die erste IP des Serviceteilnetzes enthalten, das für den Red Hat OpenShift-Cluster verwendet wird. Führen Sie den Befehl cluster get aus, um diese IP zu finden.
        ibmcloud ks cluster get --cluster <ClusterID>
        ```
        Beispielausgabe
    
        ```sh {: screen}
        Name:                           hyp-20220306-1-d2   
        ID:                             <ClusterID>  
        ...
        Service Subnet:                 172.21.0.0/16
        ...
        ```
        Beachten Sie bei dieser Ausgabe, dass die erste IP-Adresse `172.21.0.1` ist. Dadurch wird die vollständige Ausgabe für Hosts erstellt, die diesem speziellen Cluster in diesem Beispiel `NO_PROXY=172.20.0.1,172.21.0.1,$REDHAT_PACKAGE_MIRROR_LOCATION` für RHEL-Hosts und `NO_PROXY=172.20.0.1,172.21.0.1,.REGION.satellite.appdomain.cloud` für RHCOS-Hosts zugeordnet sind. Beispiel: `NO_PROXY=172.20.0.1,172.21.0.1,.eu-gb.satellite.appdomain.cloud` ist für eine Spiegelposition in London für RHCOS-Hosts korrekt. Beachten Sie, dass der RHCOS-Wert `.` vor der Region enthält.
    
        Der gesamte Datenverkehr von dem Workerknoten zu Cluster-Services muss in `NO_PROXY` eingeschlossen werden. Um beispielsweise den Image-Registry-Service zum Speichern von Images zu verwenden, fügen Sie `image-registry.openshift-image-registry.svc` zu `NO_PROXY` für jeden Workerknoten hinzu. Dieser Wert muss nicht für die Steuerebene eingeschlossen werden.
    
    
    
    
  3. Navigieren Sie auf Ihrem Host zu /etc/systemd/system.conf.d. Falls diese Datei nicht vorhanden ist, erstellen Sie sie mit dem folgenden Befehl. Geben Sie <VALUE> für NO_PROXY aus Schritt 2 ein.

    mkdir -p /etc/systemd/system.conf.d
    cat >"/etc/systemd/system.conf.d/proxy.conf" <<EOF
    [Manager]
    DefaultEnvironment="HTTP_PROXY=https://my-proxy-endpoint.com:PORT_NUMBER" "HTTPS_PROXY=https://my-proxy-endpoint.com:PORT_NUMBER" "NO_PROXY=<VALUE>"
    EOF
    chmod 0644 /etc/systemd/system.conf.d/proxy.conf
    
  4. Erstellen Sie die Datei ibm-proxy.sh, indem Sie den folgenden Befehl ausführen. Geben Sie <VALUE> für NO_PROXY aus Schritt 2 ein.

    mkdir -p /etc/profile.d
    cat >"/etc/profile.d/ibm-proxy.sh" <<EOF
    #!/usr/bin/env bash
    HTTP_PROXY="https://my-proxy-endpoint.com:PORT_NUMBER"
    HTTPS_PROXY="https://my-proxy-endpoint.com:PORT_NUMBER"
    NO_PROXY="<VALUE>"
    export HTTP_PROXY
    export HTTPS_PROXY
    export NO_PROXY
    EOF
    chmod 0755 /etc/profile.d/ibm-proxy.sh
    
  5. Starten Sie Ihren Host neu, um diese Änderung zu übernehmen.

  6. Führen Sie für Ihren Host eine Zuordnung oder erneute Zuordnung zum Standort aus.

  7. Ordnen Sie den Host wieder der Steuerebene oder dem Service zu, wo er zuvor zugeordnet wurde.

  8. Wiederholen Sie diese Schritte für jeden Host.

Der Wert für REDHAT_PACKAGE_MIRROR_LOCATION hängt vom Standort der Red Hat-Paketspiegel ab. Bei REDHAT_PACKAGE_MIRROR_LOCATION kann es sich um ein Platzhalterzeichen handeln, wenn mehrere Spiegel verwendet werden. Weitere Informationen finden Sie unter Systemweiten Proxy anwenden.

Allgemeine Standorte für Spiegelungen

Die folgende Liste enthält einige allgemeine Spiegelungsstandorte.

Azure
separat definieren: rhui-1.microsoft.com, rhui-2.microsoft.com, rhui-3.microsoft.com
/etc/yum.repos.d/rh-cloud.repo unter baseurl
Google Cloud Provider
cds.rhel.updates.googlecloud.com
/etc/yum.repos.d/rh-cloud.repo unter mirrorlist
Amazon-Web-Service
Platzhalter: aws.ce.redhat.com
rhui3.REGION.aws.ce.redhat.com
/etc/yum.repos.d/redhat-rhui.repo unter mirrorlist
IBM Cloud
Platzhalter: service.networklayer.com
dal10: rhncapdal1001.service.networklayer.com
/etc/yum.repos.d/redhat.repo unter baseurl