Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: ✔️ AKS Automatic ✔️ AKS Standard
Kluster Azure Kubernetes Service (AKS) yang dikonfigurasi dengan Integrasi VNet API Server memproyeksikan titik akhir server API langsung ke subnet yang didelegasikan di VNet tempat AKS disebarkan. Integrasi VNet API Server memungkinkan komunikasi jaringan antara server API dan node kluster tanpa memerlukan tautan atau terowongan privat. Server API tersedia di belakang VIP load balancer internal dalam subnet yang didelegasikan, yang telah dikonfigurasi agar dapat digunakan oleh node. Dengan menggunakan Integrasi VNet API Server, Anda dapat memastikan lalu lintas jaringan antara server API dan kumpulan simpul Anda tetap berada di jaringan privat saja.
Untuk sebagian besar beban kerja produksi, AKS Otomatis adalah pengalaman AKS default yang direkomendasikan. AKS Otomatis siap produksi secara default dan menyertakan Integrasi VNet API Server sebagai kemampuan keamanan kluster yang telah dikonfigurasi sebelumnya. Di AKS Standard, Integrasi VNet API Server bersifat opsional dan Anda mengaktifkannya selama pembuatan kluster atau dengan memperbarui kluster yang ada.
Untuk mempelajari selengkapnya tentang AKS Otomatis, lihat Apa itu Azure Kubernetes Service (AKS) Otomatis?
Integrasi VNet API Server pada AKS Automatic dan AKS Standard
Integrasi VNet API Server tersedia dalam kedua mode kluster AKS, tetapi penyiapannya berbeda:
- AKS Otomatis: Integrasi VNet API Server telah dikonfigurasi sebelumnya.
- Standar AKS: Integrasi VNet API Server bersifat opsional dan harus diaktifkan secara eksplisit.
Untuk sebagian besar skenario produksi, mulailah dengan AKS Automatic untuk menggunakan pengaturan default yang siap untuk produksi dan mengurangi overhead operasional.
Konektivitas server API
Sarana kontrol atau server API berada dalam langganan Azure yang dikelola AKS. Kluster atau kumpulan simpul Anda ada di langganan Azure Anda. Server dan komputer virtual yang membentuk node kluster dapat berkomunikasi satu sama lain melalui API server VIP dan IP pod yang diproyeksikan ke dalam subnet yang didelegasikan.
Integrasi VNet API Server didukung untuk kluster publik atau privat. Anda dapat menambahkan atau menghapus akses publik setelah provisi kluster. Tidak seperti kluster terintegrasi non-VNet, simpul agen selalu berkomunikasi langsung dengan alamat IP privat IP penyeimbang muatan internal (ILB) server API tanpa menggunakan DNS. Semua lalu lintas dari node ke server API disimpan di jaringan privat, dan tidak ada terowongan yang diperlukan untuk konektivitas server API ke node. Klien di luar kluster yang perlu berkomunikasi dengan server API dapat melakukannya secara normal jika akses jaringan publik diaktifkan. Jika akses jaringan publik dinonaktifkan, Anda harus mengikuti metodologi penyiapan DNS privat yang sama dengan kluster privat standar.
Prasyarat
- Anda harus menginstal Azure CLI versi 2.73.0 atau yang lebih baru. Anda dapat memeriksa versi Anda menggunakan
az --versionperintah . - Jika Anda membawa jaringan virtual Anda sendiri, tinjau prasyarat jaringan virtual.
Keterbatasan
Batasan berikut berlaku untuk Integrasi VNet API Server, baik yang telah dikonfigurasi sebelumnya pada AKS Otomatis atau diaktifkan secara eksplisit pada Standar AKS:
- Integrasi VNet API Server tidak mendukung Enkripsi Virtual Network. Kluster yang disebarkan pada SKU simpul AKS v3 atau sebelumnya (yang tidak mendukung Enkripsi VNet) diizinkan, tetapi lalu lintas tidak dienkripsi. Kluster yang disebarkan pada SKU simpul AKS v4 atau lebih baru (yang mendukung Enkripsi VNet) akan diblokir karena VNet yang terenkripsi tidak kompatibel dengan API Server VNet Integration. Untuk informasi selengkapnya, lihat SKU VM yang didukung AKS.
- Untuk menggunakan jaringan dual-stack, kluster Anda memerlukan Kubernetes versi 1.26.3 atau yang lebih baru, plugin jaringan
azuredan mode plugin jaringanoverlay. Untuk informasi selengkapnya, lihat kluster CNI Azure dengan jaringan berdouble stack.
Availability
- Integrasi VNet API Server tersedia di semua wilayah cloud publik GA kecuali qatarcentral.
Membuat kluster dengan Integrasi VNet API Server
AKS Otomatis (default yang disarankan untuk produksi)
Di AKS Otomatis, Integrasi VNet API Server telah dikonfigurasi sebelumnya. Tidak diperlukan bendera eksplisit --enable-apiserver-vnet-integration .
Buat kluster otomatis AKS dengan mengikuti panduan mulai cepat:
Standar AKS: VNet terkelola
Anda dapat mengonfigurasi kluster AKS Standard dengan Integrasi VNet API Server dalam mode VNet terkelola sebagai kluster publik atau privat.
Nota
Integrasi VNet API Server tidak tersedia di qatarcentral.
Membuat grup sumber daya
Buat grup sumber daya menggunakan perintah az group create.
az group create --location <location> --name <resource-group>
Menyebarkan kluster publik
Sebarkan kluster AKS Standar publik dengan integrasi VNet Server API untuk VNet terkelola menggunakan perintah az aks create dengan bendera --enable-apiserver-vnet-integration.
az aks create --name <cluster-name> \
--resource-group <resource-group> \
--location <location> \
--network-plugin azure \
--enable-apiserver-vnet-integration \
--generate-ssh-keys
Menyebarkan kluster privat
Terapkan kluster AKS Standard pribadi dengan integrasi VNet server API untuk VNet terkelola menggunakan perintah az aks create dengan flag --enable-apiserver-vnet-integration dan --enable-private-cluster.
az aks create --name <cluster-name> \
--resource-group <resource-group> \
--location <location> \
--network-plugin azure \
--enable-private-cluster \
--enable-apiserver-vnet-integration \
--generate-ssh-keys
Standar AKS: bawa VNet Anda sendiri
Saat Anda menggunakan VNet bawa sendiri, Anda harus membuat dan mendelegasikan subnet server API ke Microsoft.ContainerService/managedClusters. Delegasi ini memberikan izin layanan AKS untuk menyuntikkan pod server API dan load balancer internal ke subnet tersebut. Anda tidak dapat menggunakan subnet untuk beban kerja lain, tetapi Anda dapat menggunakannya untuk beberapa kluster AKS yang terletak di jaringan virtual yang sama. Ukuran subnet server API minimum yang didukung adalah /28.
Identitas kluster memerlukan izin ke subnet server API dan subnet simpul. Kurangnya izin di subnet server API dapat menyebabkan kegagalan provisi.
Peringatan
Kluster AKS mencadangkan setidaknya sembilan IP di ruang alamat subnet. Kehabisan alamat IP dapat mencegah penskalaan server API dan menyebabkan pemadaman server API.
Nota
Integrasi VNet API Server tidak tersedia di qatarcentral.
Membuat grup sumber daya
Buat grup sumber daya menggunakan perintah az group create.
az group create --location <location> --name <resource-group>
Buat jaringan virtual
Buat jaringan virtual menggunakan
az network vnet createperintah .az network vnet create --name <vnet-name> \ --resource-group <resource-group> \ --location <location> \ --address-prefixes 172.19.0.0/16Buat subnet server API menggunakan
az network vnet subnet createperintah .az network vnet subnet create --resource-group <resource-group> \ --vnet-name <vnet-name> \ --name <apiserver-subnet-name> \ --delegations Microsoft.ContainerService/managedClusters \ --address-prefixes 172.19.0.0/28Buat subnet kluster menggunakan
az network vnet subnet createperintah .az network vnet subnet create --resource-group <resource-group> \ --vnet-name <vnet-name> \ --name <cluster-subnet-name> \ --address-prefixes 172.19.1.0/24
Membuat identitas terkelola dan memberinya izin di jaringan virtual
Buat identitas terkelola menggunakan
az identity createperintah .az identity create --resource-group <resource-group> --name <managed-identity-name> --location <location>Tetapkan peran Kontributor Jaringan ke subnet server API menggunakan
az role assignment createperintah .az role assignment create --scope <apiserver-subnet-resource-id> \ --role "Network Contributor" \ --assignee <managed-identity-client-id>Tetapkan peran Kontributor Jaringan ke subnet kluster menggunakan
az role assignment createperintah .az role assignment create --scope <cluster-subnet-resource-id> \ --role "Network Contributor" \ --assignee <managed-identity-client-id>
Menyebarkan kluster publik
Sebarkan kluster AKS publik dengan integrasi Server API VNet menggunakan perintah az aks create dengan opsi --enable-apiserver-vnet-integration.
az aks create --name <cluster-name> \
--resource-group <resource-group> \
--location <location> \
--network-plugin azure \
--enable-apiserver-vnet-integration \
--vnet-subnet-id <cluster-subnet-resource-id> \
--apiserver-subnet-id <apiserver-subnet-resource-id> \
--assign-identity <managed-identity-resource-id> \
--generate-ssh-keys
Menyebarkan kluster privat
Terapkan kluster AKS privat dengan integrasi API Server VNet menggunakan perintah az aks create dengan opsi --enable-apiserver-vnet-integration dan --enable-private-cluster.
az aks create --name <cluster-name> \
--resource-group <resource-group> \
--location <location> \
--network-plugin azure \
--enable-private-cluster \
--enable-apiserver-vnet-integration \
--vnet-subnet-id <cluster-subnet-resource-id> \
--apiserver-subnet-id <apiserver-subnet-resource-id> \
--assign-identity <managed-identity-resource-id> \
--generate-ssh-keys
Mengonversi kluster Standar AKS yang ada ke Integrasi VNet API Server
Peringatan
Integrasi VNet API Server adalah fitur sensitif kapasitas satu arah. Saat Anda mengaktifkan Integrasi VNet API Server pada kluster Standar AKS yang ada, batasan berikut berlaku:
-
Mulai ulang manual diperlukan: Setelah mengaktifkan Integrasi VNet Server API menggunakan
az aks update --enable-apiserver-vnet-integration, karena transisi sumber daya control plane, Anda harus segera memulai ulang kluster agar perubahan berlaku. Mulai ulang ini tidak otomatis. Menunda memulai ulang meningkatkan risiko kapasitas menjadi tidak tersedia, yang dapat mencegah server API beroperasi. Mulai ulang kluster juga memastikan bahwa semua node terhubung kembali dengan andal ke titik akhir server API baru. - Kapasitas divalidasi, tetapi tidak dicadangkan: AKS memvalidasi kapasitas regional saat Anda mengaktifkan fitur pada kluster yang ada, tetapi validasi ini tidak mencadangkan kapasitas. Jika Anda menunda mulai ulang dan kapasitas menjadi tidak tersedia sementara itu, kluster mungkin gagal dimulai setelah berhenti atau memulai ulang. Kluster yang mengaktifkan fitur ini sebelum ketersediaan umum (GA), atau yang belum dimulai ulang sejak pengaktifan, tidak menjalani validasi kapasitas.
- Fitur tidak dapat dinonaktifkan: Setelah diaktifkan, fitur ini permanen. Anda tidak dapat menonaktifkan Integrasi VNet API Server.
Peningkatan ini melakukan peningkatan versi citra simpul pada semua kumpulan simpul dan semua beban kerja akan dimulai ulang saat mereka menjalani peningkatan citra bertahap.
Peringatan
Mengonversi kluster ke Integrasi VNet API Server menghasilkan perubahan alamat IP API Server, meskipun nama host tetap sama. Jika Anda mengonfigurasi alamat IP server API di firewall atau aturan grup keamanan jaringan apa pun, Anda mungkin perlu memperbarui aturan tersebut.
Perbarui kluster Anda ke Integrasi VNet API Server menggunakan perintah
az aks updatedengan opsi--enable-apiserver-vnet-integration.az aks update --name <cluster-name> \ --resource-group <resource-group> \ --enable-apiserver-vnet-integration \ --apiserver-subnet-id <apiserver-subnet-resource-id>Mulai ulang kluster Anda menggunakan perintah [
az aks stop][az-aks-stop] dan [az aks start][az-aks-start].az aks stop --name <cluster-name> --resource-group <resource-group> az aks start --name <cluster-name> --resource-group <resource-group>
Mengaktifkan atau menonaktifkan mode kluster privat pada kluster yang ada dengan Integrasi VNet API Server
Kluster AKS yang dikonfigurasi dengan Integrasi VNet API Server dapat mengaktifkan akses jaringan publik/mode kluster privat atau dinonaktifkan tanpa menyebarkan ulang kluster. Nama host server API tidak berubah, tetapi entri DNS publik dimodifikasi atau dihapus jika perlu.
Nota
--disable-private-cluster saat ini dalam pratinjau. Untuk informasi selengkapnya, lihat Tingkat referensi dan dukungan.
Mengaktifkan mode kluster privat
Aktifkan mode kluster pribadi menggunakan perintah az aks update dengan pengaturan --enable-private-cluster.
az aks update --name <cluster-name> \
--resource-group <resource-group> \
--enable-private-cluster \
--enable-apiserver-vnet-integration \
--apiserver-subnet-id <apiserver-subnet-resource-id>
Menonaktifkan mode kluster privat
Nonaktifkan mode kluster privat dengan menggunakan perintah az aks update dengan flag --disable-private-cluster.
az aks update --name <cluster-name> \
--resource-group <resource-group> \
--disable-private-cluster
Sambungkan ke kluster menggunakan kubectl
Konfigurasikan kubectl untuk menyambungkan ke kluster Anda menggunakan perintah az aks get-credentials.
az aks get-credentials --resource-group <resource-group> --name <cluster-name>
Mengekspos server API melalui Private Link
Anda dapat mengekspos titik akhir server API kluster privat dengan Integrasi VNet API Server menggunakan Azure Private Link. Langkah-langkah berikut menunjukkan cara membuat layanan Private Link (PLS) di VNet kluster dan menyambungkannya dari VNet atau langganan lain menggunakan Titik Akhir Privat.
Nota
Integrasi VNet API Server tidak tersedia di qatarcentral.
Membuat kluster privat untuk integrasi VNet Server API
Buat kluster AKS privat dengan Integrasi VNet API Server menggunakan perintah az aks create dengan flag --enable-apiserver-vnet-integration dan --enable-private-cluster.
az aks create --name <cluster-name> \
--resource-group <resource-group> \
--location <location> \
--enable-private-cluster \
--enable-apiserver-vnet-integration
Untuk panduan selengkapnya tentang cara menyiapkan Private Link dengan Integrasi VNet API Server, lihat Private Link dengan Integrasi VNet API Server.
Aturan keamanan grup keamanan jaringan (NSG)
Semua lalu lintas dalam VNet diizinkan secara default. Tetapi jika Anda telah menambahkan aturan NSG untuk membatasi lalu lintas antara subnet yang berbeda, pastikan bahwa aturan keamanan NSG mengizinkan jenis komunikasi berikut:
| Tujuan | Sumber | Protokol | Pelabuhan | Gunakan |
|---|---|---|---|---|
| APIServer Subnet CIDR | Subnet Kluster | PKT | 443 dan 4443 | Diperlukan untuk mengaktifkan komunikasi antara Node dan server API. |
| APIServer Subnet CIDR | Azure Load Balancer | PKT | 9988 | Diperlukan untuk mengaktifkan komunikasi antara Azure Load Balancer dan server API. Anda juga dapat mengaktifkan semua komunikasi antara Azure Load Balancer dan CIDR Subnet API Server. |
Konten terkait
- Membuat kluster Otomatis AKS
- Untuk praktik terbaik terkait, lihat Praktik terbaik untuk konektivitas dan keamanan jaringan di AKS.
- Untuk panduan tentang cara menyiapkan private link dengan Integrasi VNet API Server, lihat Private Link dengan Integrasi VNet API Server.