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
-
Dalla console del clusterKubernetes. Fare clic su Kubernetes dashboard
-
Passare a schematics - runtime nella casella a discesa di selezione dello spazio nomi.
-
Nella sezione
Config and Storage, fare clic su Mappa di configurazione per visualizzare le mappe per lo spazio dei nomischematics-runtime.-
Fare clic sulla risorsa della mappa di configurazione
schematics-runtime-job-confige selezionare l'icona della matita per modificare il file YAML per aggiungere le istruzioni proxyHTTPS/HTTP. -
Aggiungere le voci proxy
HTTPS/HTTPnella proprietàdatanella 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.
-
-
Nella sezione
Clusterfare clic su Politiche di rete per visualizzare le politiche per lo spazio dei nomi schematics - runtime.- Modificare il file
whitelist-runtime-egress-gen-portsNetworkPolicy per aggiungere la porta utilizzata dal proxyHTTPS/HTTP. - Aggiungere la porta proxy
HTTPS/HTTPalla proprietà ports.- ports: - protocol: TCP port: 3128
- Modificare il file
-
Riavviare la distribuzione
schematics-runtimee verificare che tutti i pod siano in esecuzione.- Nella sezione
WorkloadsFare clic su Distribuzioni per visualizzare le distribuzioni correnti per il namespace schematics - runtime. - Seleziona la risorsa
runtime-jobe riavvia il pod. - Seleziona la risorsa
runtime-ansible-jobe riavvia il pod.
- Nella sezione
Verifica dell'accesso al server proxy
Verifica che i pod del cluster possano accedere a Internet tramite il server proxy.
-
Accedi al pod
schematics-runtimeed esegui questo comandocurlper verificare che le variabili di ambiente proxy siano correttamente impostate nel contenitore. -
In
Workloads > Podsselezionare il primojob-runtimeeExec.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.