Usar um proxy HTTP
Este documento mostra-lhe como encaminhar o tráfego do GKE no Azure através de um proxy HTTP/HTTPS. Especifica a configuração de proxy quando cria um cluster.
Vista geral
O GKE no Azure pode encaminhar o tráfego de Internet de saída através de um proxy pelos seguintes motivos:
- Para registar clusters com o Google Cloud através do Connect
- Para executar o agente de ligação
- Para transferir imagens do Container Registry
Limitações
- Os campos
httpProxy
ehttpsProxy
não suportam URLs que comecem porhttps://
. Tem de usar ohttp://
. Os pedidos para a porta 443 usam HTTPS. - Tem de definir valores para
httpProxy
,httpsProxy
enoProxy
. - A configuração do proxy de um cluster, ou seja, o ID do grupo de recursos e o ID do segredo, é imutável. Tem de criar um novo cluster e um novo conjunto de nós para atualizar estes valores.
- Pode ter de adicionar mais domínios, IPs ou CIDRs ao campo
noProxy
. Recomendamos que adicione os CIDRs da sub-rede dos planos de controlo do cluster (o CIDR do endereço do pod e o CIDR do endereço do serviço são adicionados por predefinição).
Pré-requisitos
Esta secção descreve os pré-requisitos que tem de 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, tem de ter autorizações para criar um segredo num Key Vault. O Key Vault tem de estar acessível a partir da VNet do cluster.
Lista de autorizações de proxies
Para que o GKE no Azure se ligue aos Google Cloud serviços, o servidor proxy tem de permitir o tráfego para domínios específicos da 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 em que o cluster se encontra. Google Cloud Especifique us-west1
ou outra
região suportada.
Requisito do grupo de segurança de rede da sub-rede
Se estiver a usar grupos de segurança de rede (NSGs) para gerir o tráfego para as suas sub-redes, as regras do NSG têm de permitir o tráfego TCP de saída para os seguintes destinos:
- AzureCloud: TCP, porta 80 e 443
Consulte as etiquetas de serviço do Azure para mais informações sobre a utilização de etiquetas de serviço com NSGs.
Crie um ficheiro de configuração do proxy
A configuração do proxy é armazenada num segredo do Azure Key Vault como uma string JSON.
Pode transmitir esta configuração à ferramenta de linha de comandos az
como um ficheiro. Esta secção descreve como criar esse ficheiro.
A tabela seguinte descreve o conteúdo deste ficheiro.
Campo | Descrição | Exemplos | Obrigatório |
---|---|---|---|
httpProxy |
Um URL do servidor proxy. O valor deve incluir um nome de anfitrião/endereço IP e, opcionalmente, uma porta, um nome de utilizador e uma palavra-passe. | "http://user:password@10.184.37.42:80" "10.184.37.42" |
Sim |
httpsProxy |
Um URL de proxy para tráfego HTTPS encriptado. O URL httpProxy é usado se httpsProxy tiver um valor vazio. | "http://10.101.16.31:80"
|
Sim |
noProxy |
Uma lista de URLs separados por vírgulas a excluir do proxy. Cada valor pode ser um endereço IP, um intervalo CIDR, um nome do domínio ou o caráter asterisco (*). Os domínios especificados com um ponto inicial (por exemplo, `.google.com`) indicam que é necessário um subdomínio. Um único asterisco * ignora toda a configuração do proxy. | "1.2.3.4,10.0.0.0/16,example.com,.site.com" |
Sim |
Para criar o ficheiro de configuração, crie um ficheiro JSON que contenha valores para as chaves
httpProxy
,noProxy
ehttpsProxy
opcionais.{ "httpProxy": "AUTHENTICATION_URL", "httpsProxy": "AUTHENTICATION_URL", "noProxy": "NO_PROXY_ADDRESSES" }
Substitua o seguinte:
AUTHENTICATION_URL
: URL codificado que contém o nome de utilizador e a palavra-passe do proxyNO_PROXY_ADDRESSES
: lista separada por vírgulas de blocos CIDR e URLs, por exemplo,10.0.0.0/16,http://example.com
Guarde o ficheiro para usar na secção seguinte.
Crie um segredo com estes dados JSON como um segredo no Azure Key Vault através da ferramenta de linha de comandos
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 segredoKEY_VAULT_NAME
: o nome do seu Key VaultPROXY_CONFIGURATION_FILE
: o caminho para o ficheiro de configuração do proxy.A saída inclui o nome e o conteúdo do segredo. Agora, pode fazer referência a este segredo quando criar um cluster.
Crie um cluster que use um proxy
Para configurar o GKE no Azure para usar um proxy HTTP para a conetividade de saída, siga estes passos:
Siga os passos em
Crie um cluster e um conjunto de nós
e transmita os flags --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
: o nome do clusterPROXY_RESOURCE_GROUP_ID
: o grupo de recursos que aloja o seu clusterPROXY_SECRET_ID
: o ID do segredo que contém a configuração do proxy, por exemplo,https://VAULT_NAME.vault.azure.net/secrets/SECRET_NAME/SECRET_VERSION
O que se segue?
- Leia informações adicionais sobre como criar um cluster.