Pengaturan server proksi di AKS diaktifkan oleh Azure Arc

Berlaku untuk: AKS di Azure Stack HCI 22H2, AKS di Windows Server

Artikel ini menjelaskan cara mengonfigurasi pengaturan proksi untuk AKS yang diaktifkan oleh Azure Arc. Jika jaringan Anda memerlukan penggunaan server proksi untuk terhubung ke internet, artikel ini memanmbing Anda melalui langkah-langkah untuk menyiapkan dukungan proksi di AKS menggunakan modul AksHci PowerShell. Langkah-langkahnya berbeda tergantung pada apakah server proksi memerlukan autentikasi.

Catatan

Jika Anda ingin menggunakan Kubernetes dan Azure Services dengan Azure Arc, pastikan Anda juga menambahkan URL yang ditampilkan di Menyambungkan kluster Kubernetes yang ada ke Azure Arc ke daftar yang diizinkan.

Setelah mengonfigurasi penyebaran menggunakan opsi berikut, Anda dapat menginstal host AKS di Azure Stack HCI dan membuat kluster Kubernetes menggunakan PowerShell.

Sebelum Anda mulai

Pastikan Anda telah memenuhi semua prasyarat dalam persyaratan sistem.

Informasi konfigurasi server proksi

Konfigurasi server proksi untuk penyebaran AKS Anda mencakup pengaturan berikut:

  • URL dan port HTTP, seperti http://proxy.corp.contoso.com:8080.
  • URL dan port HTTPS, seperti https://proxy.corp.contoso.com:8443.
  • (Opsional) Info masuk yang valid untuk autentikasi ke server proksi.
  • (Opsional) Rantai sertifikat yang valid jika server proksi Anda dikonfigurasi untuk mencegat lalu lintas SSL. Rantai sertifikat ini akan diimpor ke semua bidang kontrol AKS dan node pekerja serta kluster manajemen untuk membangun koneksi tepercaya ke server proksi.

Daftar pengecualian untuk mengecualikan subnet privat agar tidak dikirim ke proksi

Tabel berikut berisi daftar alamat yang harus Anda kecualikan dengan menggunakan -noProxy parameter di New-AksHciProxySetting.

Alamat IP Alasan pengecualian
localhost, 127.0.0.1 Lalu lintas localhost
.svc Lalu lintas layanan Kubernetes internal, di mana .svc mewakili nama kartubebas. Ini mirip dengan mengatakan *.svc, tetapi tidak ada yang digunakan dalam skema ini.
10.0.0.0/8 Ruang alamat jaringan privat.
172.16.0.0/12 Ruang alamat jaringan privat - CIDR layanan Kubernetes.
192.168.0.0/16 Ruang alamat jaringan privat - CIDR 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', dan sebagainya.

Nilai defaultnya untuk noProxy adalah localhost,127.0.0.1,.svc,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16. Meskipun nilai default ini berfungsi untuk banyak jaringan, Anda mungkin perlu menambahkan lebih banyak rentang subnet dan/atau nama ke daftar pengecualian. Misalnya, Anda mungkin ingin mengecualikan namespace perusahaan Anda (.contoso.com) agar tidak diarahkan melalui proksi. Anda dapat memperolehnya dengan cara menetapkan nilai di daftar noProxy.

Mengatur proksi untuk kluster Azure Stack HCI dan Windows Server dengan pengaturan proksi di seluruh mesin

Jika Anda sudah memiliki pengaturan proksi di seluruh mesin pada kluster Azure Stack HCI/Windows Server, pengaturan mungkin akan mengesampingkan pengaturan proksi khusus AKS dan menyebabkan kegagalan selama penginstalan.

Untuk mendeteksi apakah Anda memiliki pengaturan proksi di seluruh mesin, jalankan skrip berikut ini pada setiap simpul kluster fisik Anda:

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

Mengonfigurasi pengecualian proksi di seluruh mesin pada setiap host kluster fisik di mana masalah terdeteksi.

Jalankan skrip PowerShell berikut ini dan ganti string parameter $no_proxy dengan string pengecualian NO_PROXY yang sesuai untuk lingkungan Anda. Untuk informasi tentang cara mengonfigurasi noProxy daftar untuk lingkungan Anda dengan benar, lihat Daftar pengecualian untuk mengecualikan subnet privat agar tidak dikirim ke proksi.

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

Catatan

Sebaiknya gunakan pengaturan proksi yang sama pada seluruh simpul di kluster failover. Memiliki pengaturan proksi yang berbeda pada simpul fisik yang berbeda di kluster failover dapat menyebabkan hasil yang tidak terduga ataupun masalah instalasi. Selain itu, alamat IP dengan kartubebas (*), seperti 172.*, tidak valid. Alamat IP harus dalam notasi CIDR yang tepat (172.0.0.0/8).

Menginstal modul AksHci PowerShell

Konfigurasikan pengaturan proksi sistem pada setiap simpul fisik dalam kluster dan pastikan bahwa semua simpul memiliki akses ke URL dan port yang diuraikan dalam Persyaratan sistem.

Jika Anda menggunakan PowerShell jarak jauh, Anda harus menggunakan CredSSP.

Tutup semua jendela PowerShell yang terbuka sebelum menjalankan perintah berikut:

Install-Module -Name AksHci -Repository PSGallery

Jika lingkungan Anda menggunakan server proksi untuk mengakses internet, Anda mungkin perlu menambahkan parameter proksi ke perintah Install-Module sebelum menginstal AKS. Lihat dokumentasi Install-Module untuk detailnya, dan ikuti dokumentasi Azure Stack HCI untuk mengonfigurasi pengaturan proksi pada node kluster fisik.

Saat Anda mengunduh modul AksHci PowerShell, kami juga mengunduh modul Az PowerShell yang diperlukan untuk mendaftarkan host AKS dengan Azure untuk penagihan.

Mengonfigurasi host AKS untuk server proksi dengan autentikasi dasar

Jika server proksi Anda memerlukan autentikasi, buka PowerShell sebagai administrator dan jalankan perintah berikut untuk mendapatkan info masuk serta mengatur detail konfigurasi:

$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

Mengonfigurasi host AKS untuk server proksi tanpa autentikasi

Jika server proksi Anda tidak memerlukan autentikasi, jalankan perintah berikut:

$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

Mengonfigurasi host AKS untuk server proksi dengan sertifikat tepercaya

Jika server proksi Anda mengharuskan klien proksi untuk mempercayai sertifikat, tentukan file sertifikat saat Anda menjalankan Set-AksHciConfig. Format file sertifikat adalah X .509 yang dikodekan Base-64. Ini memungkinkan Anda membuat dan mempercayai sertifikat di seluruh tumpukan.

Penting

Jika proksi Anda memerlukan sertifikat untuk dipercaya oleh simpul Azure Stack HCI fisik, pastikan Anda mengimpor rantai sertifikat ke penyimpanan sertifikat yang sesuai di setiap simpul Azure Stack HCI sebelum melanjutkan. Ikuti prosedur penyebaran Anda untuk mendaftarkan node Azure Stack HCI dengan sertifikat yang diperlukan guna autentikasi proksi.

$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

Catatan

Sertifikat proksi harus disediakan sebagai format atau string file pertukaran informasi pribadi (PFX), dan berisi rantai otoritas akar untuk menggunakan sertifikat guna autentikasi atau untuk menyiapkan tunnel SSL.

Langkah berikutnya

Anda sekarang dapat melanjutkan penginstalan AKS di kluster Azure Stack HCI atau Windows Server Anda, dengan menjalankan Set-AksHciConfig diikuti oleh Install-AksHci.