Configurações do servidor proxy no AKS habilitado pelo Azure Arc
Aplica-se a: AKS no Azure Stack HCI 22H2, AKS no Windows Server
Este artigo descreve como definir as configurações de proxy para o AKS habilitado pelo Azure Arc. Se sua rede exigir o uso de um servidor proxy para se conectar à Internet, este artigo orientará você pelas etapas para configurar o suporte a proxy no AKS usando o módulo AksHci PowerShell. As etapas são diferentes, dependendo se o servidor proxy requer autenticação.
Nota
Se você quiser usar o Kubernetes e os Serviços do Azure com o Azure Arc, certifique-se de adicionar também as URLs mostradas em Conectar um cluster Kubernetes existente ao Azure Arc à sua lista de permissões.
Depois de configurar sua implantação usando as seguintes opções, você pode instalar um host AKS no Azure Local e criar clusters Kubernetes usando o PowerShell.
Antes de começar
Certifique-se de que satisfez todos os pré-requisitos dos requisitos do sistema.
Informações de configuração do servidor proxy
A configuração do servidor proxy para sua implantação do AKS inclui as seguintes configurações:
- URL e porta HTTP, como
http://proxy.corp.contoso.com:8080
. - URL e porta HTTPS, como
https://proxy.corp.contoso.com:8443
. - (Opcional) Credenciais válidas para autenticação no servidor proxy.
- (Opcional) Cadeia de certificados válida se o servidor proxy estiver configurado para intercetar o tráfego SSL. Essa cadeia de certificados será importada para todos os nós de trabalho e plano de controle AKS, bem como para o cluster de gerenciamento para estabelecer uma conexão confiável com o servidor proxy.
Lista de exclusão para excluir sub-redes privadas de serem enviadas para o proxy
A tabela a seguir contém a lista de endereços que você deve excluir usando o -noProxy
parâmetro em New-AksHciProxySetting
.
Endereço IP | Motivo da exclusão |
---|---|
localhost , 127.0.0.1 |
Tráfego Localhost |
.svc |
Tráfego interno do serviço Kubernetes, onde .svc representa um nome curinga. Isso é semelhante a dizer *.svc , mas nenhum é usado neste esquema. |
10.0.0.0/8 |
Espaço de endereçamento de rede privada. |
172.16.0.0/12 |
Espaço de endereçamento de rede privada - serviço Kubernetes CIDR. |
192.168.0.0/16 |
Espaço de endereço de rede privada - Kubernetes pod CIDR. |
.contoso.com`` | You might want to exempt your enterprise namespace (.contoso.com) from being directed through the proxy. To exclude all addresses in a domain, you must add the domain to the noProxy.contoso.comlist. Use a leading period rather than a wildcard (\*) character. In the example, the addresses excludes addresses prefix1.contoso.com, prefix2.contoso.com', e assim por diante. |
O valor padrão para noProxy
é localhost,127.0.0.1,.svc,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
. Embora esses valores padrão funcionem para muitas redes, talvez seja necessário adicionar mais intervalos de sub-redes e/ou nomes à lista de isenções. Por exemplo, talvez você queira isentar seu namespace enterprise (.contoso.com) de ser direcionado por meio do proxy. Você pode conseguir isso especificando os valores na noProxy
lista.
Definir proxy para clusters do Azure Local e do Windows Server com configurações de proxy em toda a máquina
Se você já tiver configurações de proxy em toda a máquina em seu cluster do Azure Local/Windows Server, as configurações podem substituir quaisquer configurações de proxy específicas do AKS e levar a uma falha durante a instalação.
Para detetar se você tem configurações de proxy em toda a máquina, execute o seguinte script em cada um dos nós de cluster físico:
$http_proxy = [System.Environment]::GetEnvironmentVariable("HTTP_PROXY", "Machine")
$https_proxy = [System.Environment]::GetEnvironmentVariable("HTTPS_PROXY", "Machine")
$no_proxy = [System.Environment]::GetEnvironmentVariable("NO_PROXY", "Machine")
if ($http_proxy -or $https_proxy) {
if (-not $no_proxy) {
Write-Host "Problem Detected! A machine-wide proxy server is configured, but no proxy exclusions are configured"
}
}
Configure exclusões de proxy em toda a máquina em cada um dos hosts de cluster físico onde o problema foi detetado.
Execute o seguinte script do PowerShell e substitua a cadeia de caracteres de $no_proxy
parâmetro por uma cadeia de exclusão adequada NO_PROXY
para seu ambiente. Para obter informações sobre como configurar corretamente uma noProxy
lista para seu ambiente, consulte Lista de exclusão para excluir sub-redes privadas de serem enviadas para o proxy.
$no_proxy = "localhost,127.0.0.1,.svc,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.contoso.com"
[Environment]::SetEnvironmentVariable("NO_PROXY", $no_proxy, "Machine")
$env:NO_PROXY = [System.Environment]::GetEnvironmentVariable("NO_PROXY", "Machine")
Nota
Recomendamos que você use as mesmas configurações de proxy em todos os nós no cluster de failover. Ter configurações de proxy diferentes em nós físicos diferentes no cluster de failover pode levar a resultados inesperados ou problemas de instalação. Além disso, um endereço IP com um curinga (*), como 172.*, não é válido. O endereço IP deve estar na notação CIDR adequada (172.0.0.0/8).
Instalar os módulos do AksHci PowerShell
Configure as configurações de proxy do sistema em cada um dos nós físicos no cluster e certifique-se de que todos os nós tenham acesso às URLs e portas descritas em Requisitos do sistema.
Se você estiver usando o PowerShell remoto, deverá usar CredSSP.
Feche todas as janelas abertas do PowerShell antes de executar o seguinte comando:
Install-Module -Name AksHci -Repository PSGallery
Se o seu ambiente usa um servidor proxy para acessar a Internet, talvez seja necessário adicionar parâmetros de proxy ao comando Install-Module antes de instalar o AKS. Consulte a documentação do Install-Module para obter detalhes e siga a documentação do Azure Local para definir as configurações de proxy nos nós físicos do cluster.
Quando você baixa o módulo AksHci PowerShell, também baixamos os módulos do Az PowerShell que são necessários para registrar um host AKS no Azure para cobrança.
Configurar um host AKS para um servidor proxy com autenticação básica
Se o servidor proxy exigir autenticação, abra o PowerShell como administrador e execute o seguinte comando para obter credenciais e definir os detalhes de configuração:
$proxyCred = Get-Credential
$proxySetting=New-AksHciProxySetting -name "corpProxy" -http http://contosoproxy:8080 -https https://contosoproxy:8443 -noProxy localhost,127.0.0.1,.svc,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.contoso.com -credential $proxyCredential
Configurar um host AKS para um servidor proxy sem autenticação
Se o servidor proxy não exigir autenticação, execute o seguinte comando:
$proxySetting=New-AksHciProxySetting -name "corpProxy" -http http://contosoproxy:8080 -https https://contosoproxy:8443 -noProxy localhost,127.0.0.1,.svc,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.contoso.com
Configurar um host AKS para um servidor proxy com um certificado confiável
Se o servidor proxy exigir que os clientes proxy confiem em um certificado, especifique o arquivo de certificado ao executar Set-AksHciConfig
o . O formato do arquivo de certificado é Base-64 codificado X .509. Isso permite que você crie e confie no certificado em toda a pilha.
Importante
Se seu proxy exigir que um certificado seja confiável pelos nós locais do Azure físicos, certifique-se de importar a cadeia de certificados para o armazenamento de certificados apropriado em cada nó local do Azure antes de continuar. Siga os procedimentos para sua implantação para registrar os nós locais do Azure com os certificados necessários para autenticação de proxy.
$proxySetting=New-AksHciProxySetting -name "corpProxy" -http http://contosoproxy:8080 -https https://contosoproxy:8443 -noProxy localhost,127.0.0.1,.svc,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.contoso.com -credential $proxyCredential
Nota
Os certificados de proxy devem ser fornecidos como um formato de arquivo PFX (troca de informações pessoais) ou cadeia de caracteres e conter a cadeia de autoridade raiz para usar o certificado para autenticação ou para configuração de túnel SSL.
Próximos passos
Agora você pode continuar com a instalação do AKS em seu cluster do Azure Local ou do Windows Server, executando Set-AksHciConfig
seguido por Install-AksHci
.