Configurazione di un proxy HTTP per i tuoi host Satellite

È possibile configurare un proxy HTTP in modo che tutto il traffico in uscita dagli host Satellite venga instradato attraverso il proxy.

La configurazione di un proxy HTTP è disponibile solo per gli account inseriti nella lista dei permessi.

Che tipo di connessione è necessaria per utilizzare un proxy d HTTP?

Considerare i seguenti tipi di ubicazioni.

Ubicazioni esistenti basate su RHEL
Per configurare un proxy, la propria ubicazione deve essere abilitata per Red Hat CoreOS (RHCOS). Se la tua sede attuale non supporta RHCOS, non potrai configurare un proxy HTTP. Crea una sede abilitata per RHCOS, quindi configura il tuo proxy HTTP.
Ubicazioni abilitate Red Hat CoreOS esistenti con host collegati
Per configurare un proxy HTTP, devi prima rimuovere i tuoi host dalla tua posizione. Dopo aver rimosso gli host, consulta la sezione “Configurazione del proxy HTTP ”. Tenere presente che è necessario aggiornare anche gli host che costituiscono il piano di controllo ubicazione. Vedere la sezione " Aggiornamento degli host del piano di controllo di localizzazion Satellite".
Nuove ubicazioni abilitate Red Hat CoreOS
Prima di associare i tuoi host alla tua sede, configura il tuo proxy HTTP.

Che tipo di host posso utilizzare?

È possibile utilizzare host RHEL o Red Hat CoreOS durante la configurazione di un proxy HTTP. È necessario modificare ogni host collegato alla posizione, inclusi gli host che costituiscono il piano di controllo. Ricordati di includere http o https nel tuo file proxy.conf.

Cos’altro devo sapere sui proxy " HTTP "?

Affinché l'ubicazione e i cluster Satellite funzionino con un proxy, il kubelet sui nodi dell'infrastruttura del piano di controllo distribuiti in un'ubicazione Satellite deve poter comunicare con il server API del nodo del piano di controllo IBM Cloud. Per abilitare questa comunicazione, è necessario soddisfare uno dei seguenti requisiti.

  • Opzione 1: utilizzare lo script di collegamento firewall ridotto.

  • Opzione 2: Il proxy attuale è in grado di supportare connessioni TCP di lunga durata (tunneling TCP ).

  • Opzione 3: È possibile creare un proxy secondario su un VSI nella stessa rete degli host Satellite che supporti connessioni TCP di lunga durata.

  • Opzione 4: È possibile aprire il firewall in uscita per consentire le connessioni TCP. Per ulteriori informazioni, vedi Connettività in uscita richiesta per gli host in tutte le regioni e trova quindi i requisiti di rete in uscita specifici per la tua regione.

Non è possibile configurare un proxy HTTP per le comunicazioni tra i worker e il master né per la connessione ai mirror dei pacchetti.

Configurazione del tunneling v TCP

Il proxy deve essere configurato con il tunneling v TCP. I passaggi seguenti illustrano la configurazione generale del tunneling v TCP; per istruzioni specifiche relative al proprio provider, consultare la documentazione fornita dal provider stesso.

  1. Configura il tuo proxy HTTP in modo da instradare il traffico verso tutti e quattro gli endpoint dei servizi pubblici delle tue sedi. Per trovare i tuoi endpoint,

    ibmcloud sat location get --location LOCATION_NAME
    

    Nell'output, individuare il campo " Public Service Endpoint" URL. Da tale campo, è possibile derivare gli endpoint. Ad esempio, se il valore del campo è https://c131-e.us-south.satellite.cloud.ibm.com:31726, gli endpoint sono https://c131-1.us-south.satellite.cloud.ibm.com:31726, https://c131-2.us-south.satellite.cloud.ibm.com:31726 e https://c131-3.us-south.satellite.cloud.ibm.com:31726.

  2. Assicurati che la porta di ascolto del proxy HTTP sia la stessa di quella su IBM Cloud.

  3. Aggiorna il /etc/hosts su tutti i tuoi host Satellite per includere il traffico di inoltro degli endpoint del servizio pubblico dell'ubicazione al proxy, piuttosto che agli endpoint IBM Cloud.

I dettagli relativi alla configurazione variano a seconda del provider. Configurare innanzitutto il proxy al di fuori dell'ambiente Satellite per verificare che la configurazione funzioni correttamente con la propria infrastruttura, quindi configurare il proxy nell'ambiente Satellite. Per ulteriori informazioni sull'installazione e la configurazione del proxy HTTP, consulta il blog Proxying In Cluster Kube-APIServer Traffic in IBM Cloud Satellite.

Richiesta di accesso alla lista dei permessi

Per ottenere l'accesso alla lista bianca del proxy HTTP, invia una richiesta di assistenza all' IBM.

Ad esempio, utilizzare la seguente richiesta come modello.

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

Una volta che l'assistenza avrà elaborato il ticket, riceverai una notifica che ti informerà che la tua posizione è stata aggiornata. Se è necessaria una modifica, apri un nuovo ticket indicando i nuovi parametri. Per trovare il tuo LOCATIONID, visita ibmcloud sat locations.

Configurazione del proxy di HTTP

Per configurare un proxy HTTP, è necessario modificare ciascuno dei propri host, compresi quelli del piano di controllo. Se gli host sono già collegati a un'ubicazione, inclusi gli host che costituiscono il piano di controllo, è necessario rimuoverli dall'ubicazione prima di poterli modificare. Dopo aver configurato il proxy, ricollega i tuoi host all'ubicazione. Per ulteriori informazioni sull'aggiornamento degli host del piano di controllo, consultare la sezione " Aggiornamento degli host del piano di controllo di una locazion Satellite".

  1. Scegliere un' ubicazione di mirroring che si desidera utilizzare per un proxy. Questa posizione di mirroring viene utilizzata quando si imposta il proxy.

  2. Trovare il valore per NO_PROXY.

    • Per gli host del piano di controllo, utilizzare 172.20.0.1 per RHCOS e NO_PROXY=172.20.0.1,$<REDHAT_PACKAGE_MIRROR_LOCATION> per RHEL.
    • Per gli host Red Hat OpenShift, NO_PROXY per Red Hat OpenShift deve includere il primo IP della sottorete del servizio utilizzato per il cluster Red Hat OpenShift. Per trovare questo IP, eseguire il comando cluster get.
        ibmcloud ks cluster get --cluster <ClusterID>
        ```
        Output di esempio
    
        ```sh {: screen}
        Name:                           hyp-20220306-1-d2   
        ID:                             <ClusterID>  
        ...
        Service Subnet:                 172.21.0.0/16
        ...
        ```
        Da questo output, tieni presente che il primo IP è `172.21.0.1`, che rende l'output completo per gli host associati a questo cluster specifico in questo esempio `NO_PROXY=172.20.0.1,172.21.0.1,$REDHAT_PACKAGE_MIRROR_LOCATION` per gli host RHEL e `NO_PROXY=172.20.0.1,172.21.0.1,.REGION.satellite.appdomain.cloud` per quelli RHCOS. Ad esempio, `NO_PROXY=172.20.0.1,172.21.0.1,.eu-gb.satellite.appdomain.cloud` è corretto per un'ubicazione mirror di Londra per gli host RHCOS. Notare che il valore RHCOS include `.` prima della regione.
    
        Qualsiasi traffico verso i servizi cluster dal nodo di lavoro deve essere incluso in `NO_PROXY`. Ad esempio, per utilizzare il servizio di registro delle immagini per memorizzare immagini, aggiungi `image-registry.openshift-image-registry.svc` a `NO_PROXY` per ciascun nodo di lavoro; questo valore non deve essere incluso per il piano di controllo.
    
    
    
    
  3. Passare a /etc/systemd/system.conf.d sull'host. Se il file non esiste, crearlo con il seguente comando. Immettere <VALUE> per NO_PROXY dal passo 2.

    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. Crea il file ibm-proxy.sh eseguendo il seguente comando. Immettere <VALUE> per NO_PROXY dal passo 2.

    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. Riavviare l'host per selezionare questa modifica.

  6. Collegare o ricollegare l'host all'ubicazione.

  7. Riassegna l'host al piano di controllo o al servizio a cui è stato precedentemente assegnato.

  8. Ripeti questi passaggi per ogni host.

Il valore di REDHAT_PACKAGE_MIRROR_LOCATION dipende dalla posizione dei mirror del pacchetto Red Hat. REDHAT_PACKAGE_MIRROR_LOCATION può essere un carattere jolly se vengono utilizzati più mirror. Per ulteriori informazioni, consultare Come applicare un proxy a livello di sistema.

Ubicazioni mirror comuni

Il seguente elenco fornisce alcune ubicazioni mirror comuni.

Azure
definendo separatamente: rhui-1.microsoft.com, rhui-2.microsoft.com, rhui-3.microsoft.com
/etc/yum.repos.d/rh-cloud.repo Sotto baseurl
Provider Google Cloud
cds.rhel.updates.googlecloud.com
/etc/yum.repos.d/rh-cloud.repo Sotto mirrorlist
Servizio Web Amazon
carattere jolly: aws.ce.redhat.com
rhui3.REGION.aws.ce.redhat.com
/etc/yum.repos.d/redhat-rhui.repo Sotto mirrorlist
IBM Cloud
carattere jolly: service.networklayer.com
dal10: rhncapdal1001.service.networklayer.com
/etc/yum.repos.d/redhat.repo Sotto baseurl