Partilhar via


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