Configuración de los agentes de Schematics para utilizar un servidor proxy
Muchos entornos no permiten la conectividad directa a la Internet pública, pero requieren que las conexiones sean direccionadas por una pasarela de proxy seguro. Schematics Las políticas de configuración del agente permiten el uso de un servidor proxy donde no se permite el acceso directo a Internet. Puede utilizar un proxy HTTP o HTTPS.
La configuración de proxy debe ser la misma en cada host del clúster. Por lo tanto, al configurar el proxy o modificarlo, debe actualizar el archivo de especificación YAML de despliegue, ConfigMap, y NetworkPolicy. A continuación, reinicie el despliegue para aplicar la configuración del servidor proxy.
Antes de empezar
Confirme que se cumplen los requisitos siguientes antes de configurar el acceso al servidor proxy. El ejemplo aquí utiliza un proxy squid en el puerto 3128.
- Un servidor proxy que puede llegar a Google mediante HTTP o HTTPS y es accesible desde el clúster.
- La dirección IP y el puerto del servidor proxy, por ejemplo,
http://53.25.191.193:3128 - La herramienta de línea de mandatos curl está disponible en los pods de clúster.
Configuración de un servidor proxy
-
Desde la consola del clúster deKubernetes. Haga clic en Kubernetes dashboard
-
Cambie a schematics-runtime en el recuadro desplegable de selección de espacio de nombres.
-
En la sección
Config and Storage, pulse Correlaciones de configuración para visualizar las correlaciones para el espacio de nombresschematics-runtime.-
Pulse el recurso de mapa de configuración
schematics-runtime-job-configy seleccione el icono de lápiz para editar el archivo YAML para añadir las sentencias de proxyHTTPS/HTTP. -
Añada entradas de proxy
HTTPS/HTTPbajo la propiedaddataen la sección inferior del archivo:data: HTTPS_PROXY: http://<ipaddress>:<port> HTTP_PROXY: http://<ipaddress>:<port> -
Pulse Actualizar para guardar el mapa de configuración y confirmar que las nuevas entradas de proxy se muestran en la lista de archivos.
-
Repita el procedimiento para el recurso configmap
schematics-runtime-ansible-job-config.
-
-
En la sección
Cluster, pulse Políticas de red para visualizar las políticas para el espacio de nombres schematics-runtime.- Edite el archivo
whitelist-runtime-egress-gen-portsNetworkPolicy para añadir el puerto utilizado por el proxy deHTTPS/HTTP. - Añada el puerto de proxy
HTTPS/HTTPa la propiedad ports.- ports: - protocol: TCP port: 3128
- Edite el archivo
-
Reinicie el despliegue de
schematics-runtimey verifique que todos los pods se están ejecutando.- En la sección
Workloads, pulse Despliegues para visualizar los despliegues actuales para el espacio de nombres schematics-runtime. - Seleccione el recurso
runtime-joby reinicie el pod. - Seleccione el recurso
runtime-ansible-joby reinicie el pod.
- En la sección
Verificación del acceso al servidor proxy
Verifique que los pods de clúster pueden acceder a Internet a través del servidor proxy.
-
Inicie sesión en el pod
schematics-runtimey ejecute el siguiente mandatocurlpara verificar que las variables de entorno de proxy se han establecido correctamente en el contenedor. -
En
Workloads > Pods, seleccione el primerjob-runtimeyExecen él.curl --head https://www.google.com
Si el proxy está funcionando para HTTPS, el mandato curl devuelve un 200 OK HTTP response.
Si el mandato curl no se puede conectar, verifique que el proxy sea accesible desde el clúster y pueda direccionar el acceso al sitio web de destino. Utilice el siguiente mandato curl con la opción de proxy para validar que el proxy
es accesible.
```curl {: codeblock}
curl --proxy http://<ipaddress>:<port> --head https://www.google.com
```
Si no se puede acceder al sitio web utilizando el parámetro proxy, verifique que la regla de salida de red para el clúster se ha establecido correctamente y que hay acceso de red al proxy.
Si se puede acceder al sitio web utilizando el parámetro de proxy, verifique que el configmap se ha actualizado correctamente y que las variables de entorno de proxy de HTTPS/HTTP se han establecido ejecutando el mandato env.
Las variables de entorno HTTP_PROXY y HTTPS_PROXY se deben listar en la salida. Si no aparece en la lista, vuelva a comprobar las definiciones de configmap.