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 addressesexcludes 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.