Configuração dos agentes do Schematics para usar um servidor proxy
Muitos ambientes não permitem a conectividade direta com a Internet pública, mas requerem que as conexões sejam roteados por um gateway de proxy seguro Schematics As políticas de configuração do agente permitem o uso de um servidor proxy no qual o acesso direto à internet não é permitido Você pode usar um proxy HTTP ou HTTPS.
A configuração de proxy deve ser a mesma em cada host no cluster Portanto, ao configurar o proxy ou modificá-lo, você deve atualizar o arquivo de especificação YAML de implantação, ConfigMap, e NetworkPolicy. Em seguida, reinicie a implementação para aplicar a configuração do servidor proxy..
Antes de Iniciar
Confirme se os seguintes requisitos estão em vigor antes de configurar o acesso ao servidor proxy. O exemplo aqui usa um proxy squid na porta 3128..
- Um servidor proxy que pode acessar Google usando HTTP ou HTTPS e é acessível a partir do cluster.
- O endereço IP e porta do servidor proxy, por exemplo,
http://53.25.191.193:3128 - A ferramenta de linha de comandos curl está disponível nos pods do cluster..
Configurando um servidor proxy
-
No Kubernetes cluster console. Clique em Kubernetes dashboard
-
Alterne para schematics-runtime na caixa suspensa de seleção de namespace.
-
Na seção
Config and Storage, clique em Mapas de configuração para exibir os mapas para o namespace doschematics-runtime-
Clique no recurso configmap
schematics-runtime-job-confige selecione o ícone de lápis para editar o arquivo YAML para incluir as instruções de proxyHTTPS/HTTP. -
Inclua entradas de proxy
HTTPS/HTTPsob a propriedadedatana seção inferior do arquivo:data: HTTPS_PROXY: http://<ipaddress>:<port> HTTP_PROXY: http://<ipaddress>:<port> -
Clique em Atualizar para salvar o configmap e confirme se as novas entradas de proxy estão sendo mostradas na lista de arquivos
-
Repita para o recurso configmap
schematics-runtime-ansible-job-config.
-
-
Na seção
Cluster, clique em Políticas de rede para exibir as políticas para o namespace schematics-runtime- Edite o arquivo
whitelist-runtime-egress-gen-portsNetworkPolicy para incluir a porta usada pelo proxyHTTPS/HTTP. - Inclua a porta do proxy do
HTTPS/HTTPna propriedade de portas- ports: - protocol: TCP port: 3128
- Edite o arquivo
-
Reinicie a implementação
schematics-runtimee verifique se todos os pods estão em execução.- Na seção
Workloads, clique em Implementações para exibir as implementações atuais para o namespace schematics-runtime. - Selecione o recurso
runtime-jobe reinicie o pod. - Selecione o recurso
runtime-ansible-jobe reinicie o pod.
- Na seção
Verificando o acesso do servidor proxy
Verifique se os pods do cluster podem acessar a Internet por meio de um servidor proxy
-
Efetue login no pod do
schematics-runtimee execute o comandocurla seguir para verificar se as variáveis de ambiente de proxy estão sendo configuradas corretamente no contêiner -
Em
Workloads > Podsselecione o primeirojob-runtimeeExecnele.curl --head https://www.google.com
Se o proxy estiver funcionando para HTTPS, o comando curl retorna um 200 OK HTTP response.
Se o comando curl falhar ao se conectar, verifique se o proxy está acessível a partir do cluster e pode rotear o acesso para o website de destino Use o comando curl a seguir com a opção de proxy para validar que o proxy está acessível
```curl {: codeblock}
curl --proxy http://<ipaddress>:<port> --head https://www.google.com
```
Se o website não for acessível usando o parâmetro proxy, verifique se a regra de egresso de rede para o cluster está configurada corretamente e se há acesso à rede ao proxy.
Se o website estiver acessível usando o parâmetro proxy, verifique se o configmap foi atualizado corretamente e se as variáveis de ambiente de proxy do HTTPS/HTTP foram configuradas executando o comando env
As variáveis de ambiente HTTP_PROXY e HTTPS_PROXY devem estar listadas no resultado. Se não listado, verifique novamente as definições do configmap.