Usar um proxy HTTP
Neste documento, mostramos 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:
- Registrar clusters com o Google Cloud no Connect
- Executar o agente do Connect
- Para fazer o download de imagens do Container Registry
Limitações
- Os campos
httpProxy
ehttpsProxy
não são compatíveis com URLs que começam comhttps://
. Você precisa usarhttp://
. As solicitações para a porta 443 usam HTTPS. - Defina valores para
httpProxy
,httpsProxy
enoProxy
. - A configuração de proxy de um cluster (o ID do grupo de recursos e o ID do secret) é imutável. É necessário criar um novo cluster e pool de nós para atualizar esses valores.
- Talvez seja necessário adicionar outros domínios, IPs ou CIDRs ao
campo
noProxy
. Recomendamos adicionar os CIDRs de sub-rede dos planos de controle do cluster. O CIDR do endereço do pod e o CIDR do endereço do serviço são adicionados por padrão.
Pré-requisitos
Nesta seção, descrevemos os pré-requisitos que você precisa 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, é necessário ter permissões para criar um secret em um Key Vault. O armazenamento de chaves precisa ser acessível na VNet do cluster.
Lista de permissões de proxy
Para que o GKE no Azure se conecte aos serviços do Google Cloud, o servidor proxy precisa permitir o 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
pela região do Google Cloud em que o cluster do GKE Enterprise reside. Especifique us-west1
ou outra
região compatível.
Requisito do grupo de segurança de rede da sub-rede
Se você estiver usando grupos de segurança de rede (NSGs, na sigla em inglês) para gerenciar o tráfego para suas sub-redes, as regras NSG precisarão permitir o tráfego TCP de saída para os seguintes destinos:
- AzureCloud: TCP, porta 80 e 443
Consulte Tags de serviço do Azure para ver mais informações sobre o uso de tags de serviço com NSGs.
Criar um arquivo de configuração de proxy
A configuração do proxy é armazenada em um secret do Azure Key Vault como uma string JSON.
É possível 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 desse arquivo.
Field | Descrição | Exemplos | Valor |
---|---|---|---|
httpProxy |
Um URL do servidor proxy. O valor precisa incluir um nome do host/endereço IP e, opcionalmente, uma porta, nome de usuário e senha. | "http://user:password@10.184.37.42:80" "10.184.37.42" |
Sim |
httpsProxy |
Um URL de proxy para tráfego HTTPS criptografado. O URL httpProxy será usado se httpsProxy tiver um valor vazio. | "http://10.101.16.31:80"
|
Yes |
noProxy |
Uma lista de URLs separados por vírgulas a serem excluídos do proxy. Cada valor pode ser um endereço IP, um intervalo CIDR, um nome de domínio ou o caractere asterisco (*). Os domínios especificados com um ponto inicial (por exemplo, ".google.com") indicam que é necessário um subdomínio. Um asterisco * ignora todas as configurações de proxy. | "1.2.3.4,10.0.0.0/16,example.com,.site.com" |
Sim |
Para criar o arquivo de configuração, crie um arquivo JSON que contenha valores para chaves
httpProxy
,noProxy
ehttpsProxy
opcionais.{ "httpProxy": "AUTHENTICATION_URL", "httpsProxy": "AUTHENTICATION_URL", "noProxy": "NO_PROXY_ADDRESSES" }
Substitua:
AUTHENTICATION_URL
: URL codificado que contém o nome de usuário do proxy e a senhaNO_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 próxima seção.
Crie um secret com esses dados JSON como um secret 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:
SECRET_NAME
: o nome do novo secretKEY_VAULT_NAME
: o nome do seu Key VaultPROXY_CONFIGURATION_FILE
: o caminho para o arquivo de configuração de proxy.A saída inclui o nome e o conteúdo do secret. Agora você pode referir-se a esse secret ao criar um cluster.
Criar 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 transmita as sinalizações --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:
CLUSTER_NAME
: o nome do cluster.PROXY_RESOURCE_GROUP_ID
: o grupo de recursos que hospeda o cluster.PROXY_SECRET_ID
: o ID do secret que contém a configuração do proxy, por exemplo,https://VAULT_NAME.vault.azure.net/secrets/SECRET_NAME/SECRET_VERSION
A seguir
- Leia mais informações sobre como criar um cluster.