Use um proxy HTTP

Este documento mostra como rotear o tráfego do GKE no Azure por meio de um proxy HTTP/HTTPS. Você especifica a configuração do proxy ao criar um cluster.

Visão geral

O GKE no Azure pode rotear o tráfego de saída da Internet por meio de um proxy pelos seguintes motivos:

  • Para registrar clusters com Google Cloud através do Connect
  • Para executar o Connect Agent
  • Para baixar imagens do Container Registry

Limitações

  • Os campos httpProxy e httpsProxy não suportam URLs que começam com https:// . Você deve usar http:// . As solicitações para a porta 443 usam HTTPS.
  • Você deve definir valores para httpProxy , httpsProxy e noProxy .
  • A configuração de proxy de um cluster — o ID do grupo de recursos e o ID secreto — é imutável. Você precisa criar um novo cluster e um pool de nós para atualizar esses valores.
  • Pode ser necessário adicionar domínios, IPs ou CIDRs adicionais ao campo noProxy . Recomendamos adicionar os CIDRs de sub-rede dos planos de controle do seu cluster (o CIDR de endereço do pod e o CIDR de endereço do serviço são adicionados por padrão).

Pré-requisitos

Esta seção descreve os pré-requisitos que você deve aplicar antes de usar um proxy.

Configuração do Azure Key Vault

O GKE no Azure armazena informações de configuração de proxy no Azure Key Vault. Para configurar um proxy com o GKE no Azure, você precisa ter permissões para criar um segredo em um Key Vault. O Key Vault precisa ser acessível a partir da VNet do seu cluster.

Lista de permissões de proxy

Para o GKE no Azure se conectar a Google Cloud serviços, o servidor proxy deve permitir tráfego para domínios específicos do Google e da Microsoft.

.azure.com
.gcr.io
cloudresourcemanager.googleapis.com
container.googleapis.com
gkeconnect.googleapis.com
gkehub.googleapis.com
oauth2.googleapis.com
securetoken.googleapis.com
storage.googleapis.com
sts.googleapis.com
www.googleapis.com
servicecontrol.googleapis.com
logging.googleapis.com
monitoring.googleapis.com
opsconfigmonitoring.googleapis.com
GCP_LOCATION-gkemulticloud.googleapis.com

Substitua GCP_LOCATION por Google Cloud região na qual seu cluster do GKE Enterprise reside. Especifique us-west1 ou outra região compatível .

Requisito de grupo de segurança de rede de sub-rede

Se você estiver usando Grupos de Segurança de Rede (NSGs) para gerenciar o tráfego para suas sub-redes, suas regras de NSG devem permitir tráfego TCP de saída para os seguintes destinos:

  • AzureCloud: TCP, porta 80 e 443

Consulte Tags de serviço do Azure para obter mais informações sobre como usar tags de serviço com NSGs.

Crie um arquivo de configuração de proxy

A configuração do proxy é armazenada em um segredo do Azure Key Vault como uma string JSON. Você pode passar essa configuração para a ferramenta de linha de comando az como um arquivo. Esta seção descreve como criar esse arquivo.

A tabela a seguir descreve o conteúdo deste arquivo.

Campo Descrição Exemplos Obrigatório
httpProxy Uma URL de servidor proxy. O valor deve incluir um nome de host/endereço IP e, opcionalmente, uma porta, nome de usuário e senha. "http://user:[email protected]:80"
"10.184.37.42"
Sim
httpsProxy Uma URL de proxy para tráfego HTTPS criptografado. A URL httpProxy será usada se httpsProxy tiver um valor vazio. "http://10.101.16.31:80" Sim
noProxy Uma lista separada por vírgulas de URLs a serem excluídas do proxy. Cada valor pode ser um endereço IP, um intervalo CIDR, um nome de domínio ou o caractere asterisco (*). Domínios especificados com um ponto inicial (por exemplo, `.google.com`) indicam que um subdomínio é necessário. Um único asterisco * ignora todas as configurações de proxy. "1.2.3.4,10.0.0.0/16,example.com,.site.com" Sim
  1. Para criar o arquivo de configuração, crie um arquivo JSON que contenha valores para httpProxy , noProxy e chaves httpsProxy opcionais.

    {
      "httpProxy": "AUTHENTICATION_URL",
      "httpsProxy": "AUTHENTICATION_URL",
      "noProxy": "NO_PROXY_ADDRESSES"
    }
    

    Substitua o seguinte:

    • AUTHENTICATION_URL : URL codificada contendo o nome de usuário do proxy e a senha
    • NO_PROXY_ADDRESSES : lista separada por vírgulas de blocos CIDR e URLs — por exemplo 10.0.0.0/16,http://example.com

    Salve o arquivo para usar na seção seguinte.

  2. Crie um segredo com esses dados JSON como um segredo no Azure Key Vault usando a ferramenta de linha de comando az .

    az keyvault secret set --name SECRET_NAME \
    --vault-name KEY_VAULT_NAME \
    --file PROXY_CONFIGURATION_FILE
    

    Substitua o seguinte:

    • SECRET_NAME : o nome do novo segredo
    • KEY_VAULT_NAME : o nome do seu Key Vault
    • PROXY_CONFIGURATION_FILE : o caminho para o arquivo de configuração do proxy.

      A saída inclui o nome e o conteúdo do segredo. Agora você pode referenciar esse segredo ao criar um cluster.

Crie um cluster que use um proxy

Para configurar o GKE no Azure para usar um proxy HTTP para conectividade de saída, execute as seguintes etapas:

Siga as etapas em Criar um cluster e um pool de nós e passe os sinalizadores --proxy-resource-group-id e --proxy-secret-id .

gcloud container azure clusters create CLUSTER_NAME \
  --proxy-resource-group-id=PROXY_RESOURCE_GROUP_ID \
  --proxy-secret-id=PROXY_SECRET_ID
    ...

Substitua o seguinte:

  • CLUSTER_NAME : nome do seu cluster
  • PROXY_RESOURCE_GROUP_ID : o grupo de recursos que hospeda seu cluster
  • PROXY_SECRET_ID : o ID do segredo que contém sua configuração de proxy — por exemplo, https:// VAULT_NAME .vault.azure.net/secrets/ SECRET_NAME / SECRET_VERSION

O que vem a seguir