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é 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 des proxys dans AKS à l’aide du module AksHci PowerShell. Les étapes sont différentes selon que le serveur proxy nécessite ou non une authentification.

Notes

Si vous souhaitez utiliser Kubernetes et Azure Services avec Azure Arc, veillez également à ajouter les URL indiqué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 Stack HCI et créer des clusters Kubernetes à l’aide de PowerShell.

Avant de commencer

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

Informations de configuration du serveur proxy

La configuration du serveur proxy pour votre déploiement AKS comprend 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’exclusions pour exclure les sous-réseaux privés de l’envoi 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 Raison de l'exclusion
localhost, 127.0.0.1 Trafic Localhost
.svc Trafic interne du service Kubernetes, où .svc représente un nom générique. Cela ressemble à dire *.svc, mais aucun n’est utilisé dans ce schéma.
10.0.0.0/8 Espace d’adressage du réseau privé.
172.16.0.0/12 Espace d’adressage de réseau privé - CIDR du service Kubernetes.
192.168.0.0/16 Espace d’adressage de 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', etc.

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 des exemptions. Par exemple, vous pouvez exempter votre espace de noms d’entreprise (.contoso.com) d’être dirigé par le biais du proxy. Il suffit pour cela de spécifier les valeurs dans la liste noProxy.

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

Si vous avez déjà des paramètres de proxy configurés pour l’ensemble de l’ordinateur sur votre cluster Azure Stack HCI/Windows Server, ces paramètres risquent de remplacer tous les paramètres de proxy propres à AKS et entraîner un échec au cours de 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 Liste d’exclusions 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")

Notes

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 (*), comme 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 de 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 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 Azure Stack HCI 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 l’inscription d’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 qu’un certificat soit approuvé par les nœuds Azure Stack HCI physiques, veillez à importer la chaîne de certificats dans le magasin de certificats approprié sur chaque nœud Azure Stack HCI avant de continuer. Suivez les procédures de votre déploiement pour inscrire les nœuds Azure Stack HCI avec les certificats requis pour l’authentification du 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

Notes

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 Stack HCI ou Windows Server, en exécutant Set-AksHciConfig suivi de Install-AksHci.