Configurazione degli agent Schematics per utilizzare un server proxy

Molti ambienti non consentono la connettività diretta a Internet pubblico, ma richiedono che le connessioni siano instradate da un gateway proxy sicuro. Schematics Le politiche di configurazione dell'agent consentono l'utilizzo di un server proxy in cui non è consentito l'accesso diretto a Internet. È possibile utilizzare un proxy HTTP o HTTPS.

La configurazione proxy deve essere la stessa su ogni host nel cluster. Pertanto, quando si imposta il proxy o lo si modifica, è necessario aggiornare il file di distribuzione, ConfigMap, e NetworkPolicy YAML. Quindi riavviare la distribuzione per applicare la configurazione del server proxy.

Prima di iniziare

Confermare che i seguenti requisiti siano in vigore prima di configurare l'accesso al server proxy. L'esempio qui utilizza un proxy squid sulla porta 3128.

  • Un server proxy che può raggiungere Google utilizzando HTTP o HTTPS ed è accessibile dal cluster.
  • La porta e l'indirizzo IP del server proxy, ad esempio, http://53.25.191.193:3128
  • Lo strumento della riga di comando curl è disponibile sui pod cluster.

Configurazione di un server proxy

  1. Dalla console del clusterKubernetes. Fare clic su Kubernetes dashboard

  2. Passare a schematics - runtime nella casella a discesa di selezione dello spazio nomi.

  3. Nella sezione Config and Storage, fare clic su Mappa di configurazione per visualizzare le mappe per lo spazio dei nomi schematics-runtime.

    • Fare clic sulla risorsa della mappa di configurazione schematics-runtime-job-config e selezionare l'icona della matita per modificare il file YAML per aggiungere le istruzioni proxy HTTPS/HTTP.

    • Aggiungere le voci proxy HTTPS/HTTP nella proprietà data nella sezione inferiore del file:

      data:
        HTTPS_PROXY: http://<ipaddress>:<port>
        HTTP_PROXY: http://<ipaddress>:<port>
      
    • Fare clic su Aggiorna per salvare la configmap e verificare che le nuove voci proxy siano visualizzate nell'elenco di file.

    • Ripetere per la risorsa configmap schematics-runtime-ansible-job-config.

  4. Nella sezione Cluster fare clic su Politiche di rete per visualizzare le politiche per lo spazio dei nomi schematics - runtime.

    • Modificare il file whitelist-runtime-egress-gen-ports NetworkPolicy per aggiungere la porta utilizzata dal proxy HTTPS/HTTP.
    • Aggiungere la porta proxy HTTPS/HTTP alla proprietà ports.
      - ports:
        - protocol: TCP
          port: 3128
      
  5. Riavviare la distribuzione schematics-runtime e verificare che tutti i pod siano in esecuzione.

    • Nella sezione Workloads Fare clic su Distribuzioni per visualizzare le distribuzioni correnti per il namespace schematics - runtime.
    • Seleziona la risorsa runtime-job e riavvia il pod.
    • Seleziona la risorsa runtime-ansible-job e riavvia il pod.

Verifica dell'accesso al server proxy

Verifica che i pod del cluster possano accedere a Internet tramite il server proxy.

  • Accedi al pod schematics-runtime ed esegui questo comando curl per verificare che le variabili di ambiente proxy siano correttamente impostate nel contenitore.

  • In Workloads > Pods selezionare il primo job-runtime e Exec.

    curl --head https://www.google.com
    

Se il proxy sta funzionando per HTTPS, il comando curl restituisce un 200 OK HTTP response.

Se il comando curl non riesce a connettersi, verifica che il proxy sia accessibile dal cluster e possa instradare l'accesso al sito web di destinazione. Utilizzare il seguente comando curl con l'opzione proxy per verificare che il proxy sia accessibile.

```curl {: codeblock}
curl --proxy http://<ipaddress>:<port> --head https://www.google.com
```

Se il sito Web non è accessibile utilizzando il parametro proxy, verificare che la regola di uscita di rete per il cluster sia impostata correttamente e che vi sia accesso di rete al proxy.

Se il sito Web è accessibile utilizzando il parametro proxy, verificare che la mappa di configurazione sia stata aggiornata correttamente e che le variabili di ambiente del proxy HTTPS/HTTP siano impostate eseguendo il comando env.

Le variabili di ambiente HTTP_PROXY e HTTPS_PROXY devono essere elencate nell'output. Se non è elencato, ricontrollare le definizioni della configmap.