Azure Arc tarafından etkinleştirilen AKS'de ara sunucu ayarları

Şunlar için geçerlidir: Azure Stack HCI 22H2 üzerinde AKS, Windows Server'da AKS

Bu makalede Azure Arc tarafından etkinleştirilen AKS için ara sunucu ayarlarının nasıl yapılandırıldığı açıklanır. Ağınız İnternet'e bağlanmak için bir ara sunucu kullanılmasını gerektiriyorsa, bu makalede AksHci PowerShell modülünü kullanarak AKS'de ara sunucu desteğini ayarlama adımları gösterilmektedir. Ara sunucunun kimlik doğrulaması gerektirip gerektirmediğine bağlı olarak adımlar farklıdır.

Not

Azure Arc ile Kubernetes ve Azure Hizmetleri'ni kullanmak istiyorsanız Mevcut bir Kubernetes kümesini Azure Arc'a bağlama bölümünde gösterilen URL'leri de izin verme listenize eklediğinizden emin olun.

Dağıtımınızı aşağıdaki seçenekleri kullanarak yapılandırdıktan sonra Azure Stack HCI'ye bir AKS konağı yükleyebilir ve PowerShell kullanarak Kubernetes kümeleri oluşturabilirsiniz.

Başlamadan önce

Sistem gereksinimlerindeki tüm önkoşulları karşıladığınızdan emin olun.

Ara sunucu yapılandırma bilgileri

AKS dağıtımınız için ara sunucu yapılandırması aşağıdaki ayarları içerir:

  • HTTP URL'si ve bağlantı noktası, örneğin http://proxy.corp.contoso.com:8080.
  • HTTPS URL'si ve bağlantı noktası, örneğin https://proxy.corp.contoso.com:8443.
  • (İsteğe bağlı) Proxy sunucusunda kimlik doğrulaması için geçerli kimlik bilgileri.
  • (İsteğe bağlı) Proxy sunucunuz SSL trafiğini kesecek şekilde yapılandırılmışsa geçerli sertifika zinciri. Bu sertifika zinciri, tüm AKS denetim düzlemi ve çalışan düğümlerinin yanı sıra proxy sunucusuna güvenilir bir bağlantı kurmak için yönetim kümesine aktarılır.

Özel alt ağların ara sunucuya gönderilmesini dışlamak için dışlama listesi

Aşağıdaki tablo, içinde New-AksHciProxySettingparametresini kullanarak dışlamanız gereken adreslerin -noProxy listesini içerir.

IP Adresi Dışlama nedeni
localhost, 127.0.0.1 Localhost trafiği
.svc İç Kubernetes hizmet trafiği, burada .svc joker karakter adını temsil eder. Bu, deyişine *.svcbenzer, ancak bu şemada hiçbiri kullanılmaz.
10.0.0.0/8 Özel ağ adres alanı.
172.16.0.0/12 Özel ağ adres alanı - Kubernetes hizmeti CIDR.
192.168.0.0/16 Özel ağ adres alanı - 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' vb.

için noProxy varsayılan değer şeklindedir localhost,127.0.0.1,.svc,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16. Bu varsayılan değerler birçok ağda çalışsa da, muafiyet listesine daha fazla alt ağ aralığı ve/veya ad eklemeniz gerekebilir. Örneğin, kurumsal ad alanınızın (.contoso.com) proxy üzerinden yönlendirilmesinden muaf tutulmasını isteyebilirsiniz. Listedeki değerleri noProxy belirterek bunu başarabilirsiniz.

Makine genelinde ara sunucu ayarlarıyla Azure Stack HCI ve Windows Server kümeleri için ara sunucu ayarlama

Azure Stack HCI/Windows Server kümenizde makine genelinde ara sunucu ayarlarınız zaten varsa, ayarlar AKS'ye özgü ara sunucu ayarlarını geçersiz kılıp yükleme sırasında hataya neden olabilir.

Makine genelinde ara sunucu ayarlarınız olup olmadığını algılamak için fiziksel küme düğümlerinizin her birinde aşağıdaki betiği çalıştırın:

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

Sorunun algılandığı fiziksel küme konaklarının her birinde makine genelinde ara sunucu dışlamalarını yapılandırın.

Aşağıdaki PowerShell betiğini çalıştırın ve parametre dizesini $no_proxy ortamınız için uygun NO_PROXY bir dışlama dizesiyle değiştirin. Ortamınız için bir noProxy listeyi doğru yapılandırma hakkında bilgi için bkz. Özel alt ağların ara sunucuya gönderilmesini dışlamak için dışlama listesi.

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

Not

Yük devretme kümesindeki tüm düğümlerde aynı proxy ayarlarını kullanmanızı öneririz. Yük devretme kümesindeki farklı fiziksel düğümlerde farklı ara sunucu ayarları olması beklenmeyen sonuçlara veya yükleme sorunlarına yol açabilir. Ayrıca 172 gibi joker karakter (*) içeren bir IP adresi.*, geçerli değil. IP adresi doğru CIDR gösteriminde olmalıdır (172.0.0.0/8).

AksHci PowerShell modüllerini yükleme

Kümedeki fiziksel düğümlerin her birinde sistem proxy ayarlarını yapılandırın ve tüm düğümlerin Sistem gereksinimleri'nde özetlenen URL'lere ve bağlantı noktalarına erişimi olduğundan emin olun.

Uzak PowerShell kullanıyorsanız CredSSP kullanmanız gerekir.

Aşağıdaki komutu çalıştırmadan önce tüm açık PowerShell pencerelerini kapatın:

Install-Module -Name AksHci -Repository PSGallery

Ortamınız İnternet'e erişmek için bir ara sunucu kullanıyorsa AKS'yi yüklemeden önce Install-Module komutuna proxy parametreleri eklemeniz gerekebilir. Ayrıntılar için Install-Module belgelerine bakın ve fiziksel küme düğümlerinde ara sunucu ayarlarını yapılandırmak için Azure Stack HCI belgelerini izleyin.

AksHci PowerShell modülünü indirdiğinizde, aks ana bilgisayarını faturalama için Azure'a kaydetmek için gereken Az PowerShell modüllerini de indiririz.

Temel kimlik doğrulaması ile ara sunucu için AKS konağı yapılandırma

Proxy sunucunuz kimlik doğrulaması gerektiriyorsa PowerShell'i yönetici olarak açın ve kimlik bilgilerini almak ve yapılandırma ayrıntılarını ayarlamak için aşağıdaki komutu çalıştırın:

$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

Kimlik doğrulaması olmadan ara sunucu için AKS konağı yapılandırma

Proxy sunucunuz kimlik doğrulaması gerekmiyorsa aşağıdaki komutu çalıştırın:

$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

Güvenilen sertifikaya sahip bir ara sunucu için AKS konağı yapılandırma

Ara sunucunuz bir sertifikaya güvenmek için proxy istemcileri gerektiriyorsa, çalıştırdığınızda Set-AksHciConfigsertifika dosyasını belirtin. Sertifika dosyasının biçimi Base-64 kodlu X .509'dur. Bu, yığının her yanındaki sertifikayı oluşturmanıza ve güvenmenize olanak tanır.

Önemli

Ara sunucunuz fiziksel Azure Stack HCI düğümleri tarafından güvenilen bir sertifika gerektiriyorsa, devam etmeden önce sertifika zincirini her Azure Stack HCI düğümünde uygun sertifika deposuna içeri aktardığınızdan emin olun. Azure Stack HCI düğümlerini ara sunucu kimlik doğrulaması için gerekli sertifikalarla kaydetmek için dağıtımınıza yönelik yordamları izleyin.

$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

Not

Proxy sertifikaları kişisel bilgi değişimi (PFX) dosya biçimi veya dizesi olarak sağlanmalıdır ve sertifikayı kimlik doğrulaması veya SSL tüneli kurulumu için kullanmak üzere kök yetkili zincirini içermelidir.

Sonraki adımlar

Bundan sonra komutunu çalıştırarak Set-AksHciConfigInstall-AksHciAzure Stack HCI veya Windows Server kümenize AKS'yi yüklemeye devam edebilirsiniz.