Configurações do servidor proxy no AKS habilitadas 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.
Observação
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 do Kubernetes existente ao Azure Arc à sua lista de permissões.
Depois de configurar sua implantação usando as opções a seguir, você pode instalar um host do AKS no Azure Local e criar clusters do Kubernetes usando o PowerShell.
Antes de começar
Certifique-se de ter atendido a todos os pré-requisitos nos requisitos do sistema.
Informações de configuração do servidor proxy
A configuração do servidor proxy para a 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 interceptar o tráfego SSL. Essa cadeia de certificados será importada para todos os nós de trabalho e plano de controle do 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 ao 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ço de rede privada. |
172.16.0.0/12 |
Espaço de endereço de rede privada - CIDR do serviço Kubernetes. |
192.168.0.0/16 |
Espaço de endereço de rede privada - CIDR do pod do Kubernetes. |
.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-rede e/ou nomes à lista de isenção. Por exemplo, talvez você queira isentar seu namespace corporativo (.contoso.com) de ser direcionado por meio do proxy. Você pode conseguir isso especificando os valores na lista do noProxy
.
Definir proxy para clusters locais do Azure e do Windows Server com configurações de proxy em todo o computador
Se você já tiver configurações de proxy em todo o computador no cluster Local do Azure/Windows Server, as configurações poderão substituir todas as configurações de proxy específicas do AKS e levar a uma falha durante a instalação.
Para detectar se você tem configurações de proxy em todo o computador, execute o seguinte script em cada um dos nós de cluster físicos:
$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 todo o computador em cada um dos hosts de cluster físico em que o problema foi detectado.
Execute o script do PowerShell a seguir e substitua a $no_proxy
cadeia de caracteres de parâmetro por uma cadeia de caracteres 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 ao 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")
Observação
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 PowerShell do AksHci
Defina 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 o CredSSP.
Feche todas as janelas abertas do PowerShell antes de executar o seguinte comando:
Install-Module -Name AksHci -Repository PSGallery
Se o ambiente usar 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 local do Azure para definir as configurações de proxy nos nós de cluster físico.
Quando você baixa o módulo AksHci PowerShell, também baixamos os módulos Az PowerShell 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 da 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 é X .509 codificado em Base-64. Isso permite que você crie e confie no certificado em toda a pilha.
Importante
Se o proxy exigir que um certificado seja confiável para os nós locais físicos do Azure, certifique-se de importar a cadeia de certificados para o repositório 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
Observação
Os certificados proxy devem ser fornecidos como um formato de arquivo ou cadeia de caracteres PFX (troca de informações pessoais) e conter a cadeia de autoridade raiz para usar o certificado para autenticação ou para configuração de túnel SSL.
Próximas etapas
Agora você pode prosseguir com a instalação do AKS no cluster local do Azure ou do Windows Server, executando Set-AksHciConfig
seguido por Install-AksHci
.