Partager via


Paramètres du serveur proxy dans AKS activés par Azure Arc

S’applique à : AKS sur Azure Stack HCI 22H2, AKS sur Windows Server

Cet article explique comment configurer les paramètres de proxy pour AKS activés par Azure Arc. Si votre réseau nécessite l’utilisation d’un serveur proxy pour se connecter à Internet, cet article vous guide tout au long des étapes de configuration de la prise en charge du proxy dans AKS à l’aide du module PowerShell AksHci . Les étapes sont différentes selon que le serveur proxy nécessite une authentification.

Remarque

Si vous souhaitez utiliser Kubernetes et Les services Azure avec Azure Arc, veillez à ajouter également les URL affichées dans Connecter un cluster Kubernetes existant à Azure Arc à votre liste verte.

Une fois que vous avez configuré votre déploiement à l’aide des options suivantes, vous pouvez installer un hôte AKS sur Azure Local et créer des clusters Kubernetes à l’aide de PowerShell.

Avant de commencer

Vérifiez que vous avez satisfait toutes les conditions préalables requises dans la configuration système requise.

Informations de configuration du serveur proxy

La configuration du serveur proxy pour votre déploiement AKS inclut les paramètres suivants :

  • URL HTTP et port tel que http://proxy.corp.contoso.com:8080.
  • URL HTTPS et port tel que https://proxy.corp.contoso.com:8443.
  • (Facultatif) Informations d’identification valides pour l’authentification auprès du serveur proxy.
  • (Facultatif) Chaîne de certificats valide si votre serveur proxy est configuré pour intercepter le trafic SSL. Cette chaîne de certificats est importée dans tous les nœuds worker et de plan de contrôle AKS, ainsi que dans le cluster de gestion pour établir une connexion approuvée au serveur proxy.

Liste d’exclusion pour exclure les sous-réseaux privés d’être envoyés au proxy

Le tableau suivant contient la liste des adresses que vous devez exclure à l’aide du -noProxy paramètre dans New-AksHciProxySetting.

Adresse IP Motif de l’exclusion
localhost, 127.0.0.1 Trafic Localhost
.svc Trafic du service Kubernetes interne, où .svc représente un nom générique. Cela est similaire à dire *.svc, mais aucun n’est utilisé dans ce schéma.
10.0.0.0/8 Espace d’adressage réseau privé.
172.16.0.0/12 Espace d’adressage réseau privé - CIDR du service Kubernetes.
192.168.0.0/16 Espace d’adressage réseau privé - CIDR du pod 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, ', et ainsi de suite.

La valeur par défaut pour noProxy est localhost,127.0.0.1,.svc,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16. Bien que ces valeurs par défaut fonctionnent pour de nombreux réseaux, vous devrez peut-être ajouter d’autres plages de sous-réseaux et/ou noms à la liste d’exemption. Par exemple, vous souhaiterez peut-être exempter votre espace de noms d’entreprise (.contoso.com) d’être dirigé via le proxy. Il suffit pour cela de spécifier les valeurs dans la liste noProxy.

Définir le proxy pour les clusters Azure Local et Windows Server avec les paramètres de proxy à l’échelle de l’ordinateur

Si vous avez déjà des paramètres de proxy à l’échelle de l’ordinateur sur votre cluster Azure Local/Windows Server, les paramètres peuvent remplacer les paramètres de proxy spécifiques à AKS et entraîner une défaillance pendant l’installation.

Pour savoir si des paramètres de proxy sont configurés à l’échelle de l’ordinateur, exécutez le script suivant sur chacun des nœuds de cluster physiques :

$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"
    }
}

Configurez des exclusions de proxy à l’échelle de l’ordinateur sur tous les hôtes de cluster physiques où le problème a été détecté.

Exécutez le script PowerShell suivant et remplacez la chaîne de paramètre $no_proxy par une chaîne d’exclusion NO_PROXY appropriée pour votre environnement. Pour plus d’informations sur la configuration correcte d’une noProxy liste pour votre environnement, consultez la liste d’exclusion pour exclure les sous-réseaux privés de l’envoi au 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")

Remarque

Nous vous recommandons d’utiliser les mêmes paramètres de proxy pour tous les nœuds du cluster de basculement. Le fait d’avoir des paramètres de proxy différents pour les différents nœuds physiques du cluster de basculement peut entraîner des résultats inattendus ou des problèmes d’installation. En outre, une adresse IP avec un caractère générique (*), par exemple 172.*, n’est pas valide. L’adresse IP doit être en notation CIDR appropriée (172.0.0.0/8).

Installer les modules PowerShell AksHci

Configurez les paramètres du proxy système sur chacun des nœuds physiques du cluster et assurez-vous que tous les nœuds ont accès aux URL et aux ports décrits dans la configuration système requise.

Si vous utilisez Remote PowerShell, vous devez utiliser CredSSP.

Fermez toutes les fenêtres PowerShell ouvertes avant d’exécuter la commande suivante :

Install-Module -Name AksHci -Repository PSGallery

Si votre environnement utilise un serveur proxy pour accéder à Internet, vous devrez peut-être ajouter des paramètres proxy à la commande Install-Module avant d’installer AKS. Pour plus d’informations, consultez la documentation Install-Module et suivez la documentation locale Azure pour configurer les paramètres de proxy sur les nœuds de cluster physiques.

Lorsque vous téléchargez le module PowerShell AksHci , nous téléchargeons également les modules Az PowerShell requis pour inscrire un hôte AKS auprès d’Azure pour la facturation.

Configurer un hôte AKS pour un serveur proxy avec l’authentification de base

Si votre serveur proxy exige une authentification, ouvrez PowerShell en tant qu’administrateur, puis exécutez les commandes suivantes pour récupérer les informations d’identification, puis définissez les détails de la configuration :

$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

Configurer un hôte AKS pour un serveur proxy sans authentification

Si votre serveur proxy n’exige pas d’authentification, exécutez la commande suivante :

$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

Configurer un hôte AKS pour un serveur proxy avec un certificat approuvé

Si votre serveur proxy exige que les clients proxy approuvent un certificat, spécifiez le fichier de certificat lorsque vous exécutez Set-AksHciConfig. Le format du fichier de certificat est X. 509 codé en base 64. Cela vous permet de créer et d’approuver le certificat dans toute la pile.

Important

Si votre proxy nécessite un certificat approuvé par les nœuds locaux Azure physiques, veillez à importer la chaîne de certificats dans le magasin de certificats approprié sur chaque nœud local Azure avant de continuer. Suivez les procédures de votre déploiement pour inscrire les nœuds locaux Azure avec les certificats requis pour l’authentification 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

Remarque

Les certificats de proxy doivent être fournis dans une chaîne ou au format de fichier d’échange d’informations personnelles (PFX), et contenir la chaîne d’autorité racine pour utiliser le certificat à des fins d’authentification ou de configuration du tunnel SSL.

Étapes suivantes

Vous pouvez maintenant procéder à l’installation d’AKS sur votre cluster Azure Local ou Windows Server, en cours d’exécution Set-AksHciConfig suivie de Install-AksHci.