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 do 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, adicione 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 Stack HCI e criar clusters do Kubernetes usando o PowerShell.
Antes de começar
Verifique se você atendeu a todos os pré-requisitos nos 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 HTTP e porta, 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 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 de localhost |
.svc |
Tráfego de serviço interno do Kubernetes, em .svc que 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 o namespace da empresa (.contoso.com) de ser direcionado por meio do proxy. Você pode fazer isso especificando os valores na noProxy
lista.
Definir proxy para clusters do Azure Stack HCI 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 do Azure Stack HCI/Windows Server, as configurações poderão substituir 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í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 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ões 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")
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 diferentes nós físicos 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 em notação CIDR adequada (172.0.0.0/8).
Instalar os módulos do AksHci PowerShell
Defina as configurações de proxy do sistema em cada um dos nós físicos no cluster e verifique se todos os nós têm acesso às URLs e portas descritas nos 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 install-module para obter detalhes e siga a documentação do Azure Stack HCI para definir as configurações de proxy nos nós de cluster físico.
Quando você baixa o módulo do AksHci PowerShell, também baixamos os módulos do Az PowerShell necessários para registrar um host do AKS no Azure para cobrança.
Configurar um host do 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 do 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 do 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 quando você executar Set-AksHciConfig
. 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 pelos nós físicos do Azure Stack HCI, importe a cadeia de certificados para o repositório de certificados apropriado em cada nó do Azure Stack HCI antes de continuar. Siga os procedimentos para sua implantação registrar os nós do Azure Stack HCI 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 ou cadeia de caracteres de arquivo 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 do Azure Stack HCI ou do Windows Server, executando Set-AksHciConfig
seguido por Install-AksHci
.