Pengaturan server proksi di AKS diaktifkan oleh Azure Arc
Berlaku untuk: AKS di Azure Local 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 memancang 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 Local 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 addresses excludes 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 Local dan Windows Server dengan pengaturan proksi di seluruh komputer
Jika Anda sudah memiliki pengaturan proksi di seluruh komputer pada kluster Azure Local/Windows Server Anda, pengaturan mungkin mengambil alih 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 Local 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 mengharuskan sertifikat dipercaya oleh simpul Azure Local fisik, pastikan Anda mengimpor rantai sertifikat ke penyimpanan sertifikat yang sesuai pada setiap simpul Lokal Azure sebelum melanjutkan. Ikuti prosedur penyebaran Anda untuk mendaftarkan simpul Azure Local dengan sertifikat yang diperlukan untuk 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 dengan menginstal AKS di kluster Azure Local atau Windows Server Anda, dengan menjalankan Set-AksHciConfig
diikuti oleh Install-AksHci
.