Bagikan melalui


Jaringan Overlay Azure Container Networking Interface (CNI)

Dengan Azure CNI Overlay, node kluster disebarkan ke subnet Azure Virtual Network (VNet). Pod diberi alamat IP dari CIDR privat yang secara logis berbeda dari VNet yang menghosting simpul. Lalu lintas pod dan node dalam kluster menggunakan jaringan Overlay. Network Address Translation (NAT) menggunakan alamat IP simpul untuk menjangkau sumber daya di luar kluster. Solusi ini menghemat sejumlah besar alamat IP VNet dan memungkinkan Anda untuk menskalakan kluster Anda ke ukuran besar. Keuntungan tambahan adalah Anda dapat menggunakan kembali CIDR privat di kluster AKS yang berbeda, yang memperluas ruang IP yang tersedia untuk aplikasi kontainer di Azure Kubernetes Service (AKS).

Gambaran umum jaringan Overlay

Dalam jaringan Overlay, hanya node kluster Kubernetes yang diberi IP dari subnet. Pod menerima IP dari CIDR privat yang disediakan pada saat pembuatan kluster. Setiap node diberi ruang alamat /24 yang dihasilkan dari CIDR yang sama. Simpul tambahan yang dibuat saat Anda menskalakan kluster secara otomatis menerima /24 ruang alamat dari CIDR yang sama. Azure CNI menetapkan IP ke pod dari ruang /24 ini.

Domain perutean terpisah dibuat di tumpukan Azure Networking untuk ruang CIDR privat pod, yang membuat jaringan Overlay untuk komunikasi langsung antar pod. Tidak perlu menyediakan rute kustom pada subnet kluster atau menggunakan metode enkapsulasi untuk tunnel lalu lintas antar pod, yang memberikan performa konektivitas antara pod setara dengan VM di VNet. Beban kerja yang berjalan dalam pod bahkan tidak menyadari bahwa manipulasi alamat jaringan sedang terjadi.

Diagram yang menunjukkan dua simpul dengan tiga pod yang masing-masing berjalan dalam jaringan Overlay. Lalu lintas pod ke titik akhir di luar kluster dirutekan melalui NAT.

Komunikasi dengan titik akhir di luar kluster, seperti VNet lokal dan peering, terjadi menggunakan IP simpul melalui NAT. Azure CNI menerjemahkan IP sumber (IP Overlay pod) lalu lintas ke alamat IP utama VM, yang memungkinkan tumpukan Jaringan Azure untuk merutekan lalu lintas ke tujuan. Titik akhir di luar kluster tidak dapat terhubung ke pod secara langsung. Anda harus menerbitkan aplikasi pod sebagai layanan Kubernetes Load Balancer agar dapat dijangkau di VNet.

Anda dapat menyediakan konektivitas keluar (keluar) ke internet untuk Pod Overlay menggunakan Load Balancer SKU Standar atau Nat Gateway Terkelola. Anda juga dapat mengontrol lalu lintas keluar dengan mengarahkannya ke firewall menggunakan Rute yang Ditentukan Pengguna pada subnet kluster.

Anda dapat mengonfigurasi konektivitas ingress ke kluster menggunakan pengontrol ingress, seperti perutean aplikasi Nginx atau HTTP. Anda tidak dapat mengonfigurasi konektivitas ingress menggunakan Azure App Gateway. Untuk detailnya, lihat Batasan dengan Azure CNI Overlay.

Perbedaan antara kubenet dan Azure CNI Overlay

Tabel berikut ini menyediakan perbandingan terperinci antara kubenet dan Azure CNI Overlay:

Luas Overlay Azure CNI kubenet
Skala kluster 5000 simpul dan 250 pod/node 400 node dan 250 pod/node
Konfigurasi jaringan Sederhana - tidak ada konfigurasi tambahan yang diperlukan untuk jaringan pod Kompleks - memerlukan tabel rute dan UDR pada subnet kluster untuk jaringan pod
Performa konektivitas pod Performa setara dengan VM di VNet Lompatan ekstra menambahkan latensi kecil
Kebijakan Jaringan Kubernetes Kebijakan Jaringan Azure, Calico, Cilium Calico
Platform OS yang didukung Linux dan Windows Server 2022, 2019 Hanya Linux

Perencanaan alamat IP

Simpul kluster

Saat menyiapkan kluster AKS Anda, pastikan subnet VNet Anda memiliki ruang yang cukup untuk tumbuh untuk penskalaan di masa mendatang. Anda dapat menetapkan setiap kumpulan simpul ke subnet khusus.

/24 Subnet dapat memuat hingga 251 simpul karena tiga alamat IP pertama dicadangkan untuk tugas manajemen.

Pod

Solusi Overlay menetapkan /24 ruang alamat untuk pod pada setiap simpul dari CIDR privat yang Anda tentukan selama pembuatan kluster. Ukuran /24 tetap dan tidak dapat ditingkatkan atau dikurangi. Anda dapat menjalankan hingga 250 pod pada sebuah node.

Saat merencanakan ruang alamat IP untuk pod, pertimbangkan faktor-faktor berikut:

  • Pastikan CIDR privat cukup besar untuk menyediakan /24 ruang alamat bagi simpul baru untuk mendukung ekspansi kluster di masa mendatang.
  • Ruang CIDR pod yang sama dapat digunakan pada beberapa kluster AKS independen di VNet yang sama.
  • Ruang CIDR pod tidak boleh tumpang tindih dengan rentang subnet kluster.
  • Ruang CIDR Pod tidak boleh tumpang tindih dengan jaringan yang terhubung langsung (seperti peering VNet, ExpressRoute, atau VPN). Jika lalu lintas eksternal memiliki IP sumber dalam rentang podCIDR, lalu lintas tersebut memerlukan terjemahan ke IP yang tidak tumpang tindih melalui SNAT untuk berkomunikasi dengan kluster.

Rentang alamat Layanan Kubernetes

Ukuran alamat layanan CIDR tergantung pada jumlah layanan kluster yang Anda rencanakan untuk dibuat. Ukurannya harus lebih kecil dari /12. Rentang ini tidak boleh tumpang tindih dengan rentang POD CIDR, rentang subnet kluster, dan rentang IP yang digunakan dalam VNet yang di-peering dan jaringan lokal.

Alamat IP Layanan DNS (Sistem Nama Domain) Kubernetes

Alamat IP ini berada dalam rentang alamat layanan Kubernetes yang digunakan oleh penemuan layanan kluster. Jangan gunakan alamat IP pertama dalam rentang alamat Anda, karena alamat ini digunakan untuk alamat tersebut kubernetes.default.svc.cluster.local .

Grup keamanan jaringan

Lalu lintas Pod ke pod dengan Azure CNI Overlay tidak dienkapsulasi, dan aturan grup keamanan jaringan subnet diterapkan. Jika NSG subnet berisi aturan tolak yang akan memengaruhi lalu lintas CIDR pod, pastikan aturan berikut berlaku untuk memastikan fungsionalitas kluster yang tepat (selain semua persyaratan keluar AKS):

  • Lalu lintas dari CIDR simpul ke CIDR simpul pada semua port dan protokol
  • Lalu lintas dari CIDR simpul ke CIDR pod pada semua port dan protokol (diperlukan untuk perutean lalu lintas layanan)
  • Lalu lintas dari CIDR pod ke CIDR pod pada semua port dan protokol (diperlukan untuk pod ke pod dan pod ke lalu lintas layanan, termasuk DNS)

Lalu lintas dari pod ke tujuan mana pun di luar blok CIDR pod menggunakan SNAT untuk mengatur IP sumber ke IP simpul tempat pod berjalan.

Jika Anda ingin membatasi lalu lintas antar beban kerja di kluster, sebaiknya gunakan kebijakan jaringan.

Pod maksimum per simpul

Anda dapat mengonfigurasi jumlah maksimum pod per node pada saat pembuatan kluster atau saat Anda menambahkan kumpulan node baru. Nilai default dan maksimum untuk Azure CNI Overlay adalah 250,, dan nilai minimumnya adalah 10. Pod maksimum per nilai node yang dikonfigurasi selama pembuatan kumpulan node berlaku untuk node dalam kumpulan node tersebut saja.

Memilih model jaringan yang akan digunakan

Azure CNI menawarkan dua opsi alamat IP untuk pod: Konfigurasi tradisional yang menetapkan IP VNet ke pod dan jaringan Overlay. Pilihan opsi yang akan digunakan untuk kluster AKS Anda adalah fleksibilitas dan kebutuhan konfigurasi lanjutan. Pertimbangan berikut membantu menguraikan kapan setiap model jaringan mungkin yang paling tepat.

Gunakan jaringan Overlay saat:

  • Anda ingin menskalakan ke sejumlah besar pod, tetapi memiliki ruang alamat IP terbatas di VNet Anda.
  • Sebagian besar komunikasi pod ada di dalam kluster.
  • Anda tidak memerlukan fitur AKS lanjutan seperti node virtual.

Gunakan opsi VNet tradisional saat:

  • Anda memiliki ruang alamat IP yang tersedia.
  • Sebagian besar komunikasi pod adalah ke sumber daya di luar kluster.
  • Sumber daya di luar kluster perlu menjangkau pod secara langsung.
  • Anda memerlukan fitur lanjutan AKS seperti node virtual.

Batasan dengan Overlay Azure CNI

Azure CNI Overlay memiliki batasan berikut:

  • Anda tidak dapat menggunakan Application Gateway sebagai Pengontrol Ingress (AGIC).
  • Virtual Machine Availability Sets (VMAS) tidak didukung.
  • Anda tidak dapat menggunakan komputer virtual seri DCsv2 di kumpulan simpul. Untuk memenuhi persyaratan Komputasi Rahasia, pertimbangkan untuk menggunakan VM rahasia seri DCasv5 atau DCadsv5 sebagai gantinya.
  • Jika Anda menggunakan subnet Anda sendiri untuk menyebarkan kluster, nama subnet, VNet, dan grup sumber daya yang berisi VNet, harus 63 karakter atau kurang. Nama-nama ini akan digunakan sebagai label dalam simpul pekerja AKS dan tunduk pada aturan sintaks label Kubernetes.