Share via


Definições do servidor proxy no AKS ativada pelo Azure Arc

Aplica-se a: AKS no Azure Stack HCI 22H2, AKS no Windows Server

Este artigo descreve como configurar definições de proxy para o AKS ativado pelo Azure Arc. Se a sua rede exigir a utilização de um servidor proxy para ligar à Internet, este artigo explica-lhe os passos para configurar o suporte de proxy no AKS com o módulo AksHci PowerShell. Os passos são diferentes consoante o servidor proxy necessite de autenticação.

Nota

Se quiser utilizar o Kubernetes e os Serviços do Azure com o Azure Arc, certifique-se de que também adiciona os URLs apresentados em Ligar um cluster do Kubernetes existente ao Azure Arc à sua lista de permissões.

Depois de configurar a implementação com as seguintes opções, pode instalar um anfitrião do AKS no Azure Stack HCI e criar clusters do Kubernetes com o PowerShell.

Antes de começar

Certifique-se de que cumpriu todos os pré-requisitos nos requisitos do sistema.

Informações de configuração do servidor proxy

A configuração do servidor proxy para a implementação do AKS inclui as seguintes definições:

  • URL HTTP e porta, como http://proxy.corp.contoso.com:8080.
  • URL https e porta, 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. Esta cadeia de certificados será importada para todos os nós de trabalho e plano de controlo do AKS, bem como para o cluster de gestão para estabelecer uma ligação fidedigna ao servidor proxy.

Lista de exclusão para excluir sub-redes privadas de serem enviadas para o proxy

A tabela seguinte contém a lista de endereços que tem de excluir com 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 universal. Isto é semelhante a dizer *.svc, mas nenhum é utilizado neste esquema.
10.0.0.0/8 Espaço de endereços de rede privada.
172.16.0.0/12 Espaço de endereços de rede privada – CIDR do serviço Kubernetes.
192.168.0.0/16 Espaço de endereços 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 sucessivamente.

O valor predefinido para noProxy é localhost,127.0.0.1,.svc,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16. Embora estes valores predefinidos funcionem para muitas redes, poderá ter de adicionar mais intervalos de sub-redes e/ou nomes à lista de isenção. Por exemplo, poderá querer isentar o espaço de nomes empresarial (.contoso.com) de ser direcionado através do proxy. Pode fazê-lo ao especificar os valores na noProxy lista.

Definir o proxy para clusters do Azure Stack HCI e do Windows Server com definições de proxy em todo o computador

Se já tiver definições de proxy em todo o computador no cluster do Azure Stack HCI/Windows Server, as definições poderão substituir quaisquer definições de proxy específicas do AKS e provocar uma falha durante a instalação.

Para detetar se tem definições de proxy em todo o computador, execute o seguinte script em cada um dos nós do 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 anfitriões de cluster físico onde o problema foi detetado.

Execute o seguinte script do PowerShell e substitua a $no_proxy cadeia de parâmetros por uma cadeia de exclusão adequada NO_PROXY para o seu ambiente. Para obter informações sobre como configurar corretamente uma noProxy lista para o seu ambiente, veja 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 utilize as mesmas definições de proxy em todos os nós no cluster de ativação pós-falha. Ter diferentes definições de proxy em diferentes nós físicos no cluster de ativação pós-falha pode originar resultados inesperados ou problemas de instalação. Além disso, um endereço IP com um caráter universal (*), como 172.*, não é válido. O endereço IP tem de estar numa notação CIDR adequada (172.0.0.0/8).

Instalar os módulos do AksHci PowerShell

Configure as definições de proxy do sistema em cada um dos nós físicos no cluster e certifique-se de que todos os nós têm acesso aos URLs e portas descritos nos Requisitos do sistema.

Se estiver a utilizar o PowerShell remoto, tem de utilizar o CredSSP.

Feche todas as janelas abertas do PowerShell antes de executar o seguinte comando:

Install-Module -Name AksHci -Repository PSGallery

Se o seu ambiente utilizar um servidor proxy para aceder à Internet, poderá ter de adicionar parâmetros proxy ao comando Install-Module antes de instalar o AKS. Veja a documentação Install-Module para obter detalhes e siga a documentação do Azure Stack HCI para configurar as definições de proxy nos nós do cluster físico.

Quando transfere o módulo do AksHci PowerShell, também transferimos os módulos do Az PowerShell necessários para registar um anfitrião do AKS no Azure para faturação.

Configurar um anfitrião do AKS para um servidor proxy com autenticação básica

Se o servidor proxy necessitar de 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 anfitrião do AKS para um servidor proxy sem autenticação

Se o servidor proxy não necessitar de 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 anfitrião do AKS para um servidor proxy com um certificado fidedigno

Se o servidor proxy exigir que os clientes proxy confiem num certificado, especifique o ficheiro de certificado quando executar Set-AksHciConfig. O formato do ficheiro de certificado é X .509 codificado com base 64. Isto permite-lhe criar e confiar no certificado em toda a pilha.

Importante

Se o proxy exigir que um certificado seja considerado fidedigno pelos nós físicos do Azure Stack HCI, certifique-se de que importa a cadeia de certificados para o arquivo de certificados adequado em cada nó do Azure Stack HCI antes de continuar. Siga os procedimentos para a sua implementação para inscrever os nós do Azure Stack HCI com os certificados necessários para a autenticação 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 proxy têm de ser fornecidos como uma cadeia ou formato de ficheiro de troca de informações pessoais (PFX) e conter a cadeia de autoridade de raiz para utilizar o certificado para autenticação ou para a configuração do túnel SSL.

Passos seguintes

Agora, pode continuar com a instalação do AKS no cluster do Azure Stack HCI ou do Windows Server, ao executar Set-AksHciConfig seguido de Install-AksHci.