Konsep jaringan penampung

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

Komponen aplikasi harus bekerja sama untuk memproses tugas mereka dalam pendekatan layanan mikro berbasis kontainer. Kubernetes menyediakan berbagai sumber daya yang memungkinkan komunikasi aplikasi dan memungkinkan Anda tersambung serta mengekspos aplikasi secara internal atau eksternal. Untuk membangun aplikasi yang sangat tersedia, Anda dapat menyeimbangkan beban aplikasi Anda.

Aplikasi yang lebih kompleks mungkin memerlukan konfigurasi lalu lintas ingress untuk penghentian SSL/TLS atau perutean beberapa komponen. Untuk alasan keamanan, Anda mungkin juga perlu membatasi arus lalu lintas jaringan ke dalam atau di antara pod dan node.

Artikel ini memperkenalkan konsep inti yang menyediakan jaringan ke aplikasi Anda di AKS yang diaktifkan oleh Arc:

  • Layanan Kubernetes
  • Kontreler ingress
  • Kebijakan Jaringan

Layanan Kubernetes

Untuk menyederhanakan konfigurasi jaringan untuk beban kerja aplikasi, Kubernetes menggunakan layanan untuk mengelompokkan satu set pod secara logis dan untuk menyediakan konektivitas jaringan. Tipe Layanan berikut ini tersedia:

IP Kluster: membuat alamat IP internal untuk digunakan dalam kluster Kubernetes. Gunakan IP Kluster untuk aplikasi internal saja yang mendukung beban kerja lain dalam kluster.

Diagram memperlihatkan arus lalu lintas IP kluster dalam kluster AKS.

NodePort: membuat pemetaan port pada simpul dasar yang memungkinkan aplikasi untuk langsung diakses dengan alamat IP node dan port.

Diagram memperlihatkan arus lalu lintas NodePort dalam kluster AKS.

LoadBalancer: membuat sumber daya load balancer Azure, mengonfigurasi alamat IP eksternal, dan menghubungkan pod yang diminta ke kumpulan backend load balancer. Untuk memungkinkan traffic pelanggan mencapai aplikasi, aturan penyeimbangan beban dibuat pada port yang diinginkan.

Diagram memperlihatkan arus lalu lintas load balancer dalam kluster AKS.

Untuk kontrol dan perutean lalu lintas masuk lainnya, Anda dapat menggunakan pengontrol ingress.

Catatan

Saat Anda menyebarkan kluster target yang berbagi jaringan dengan kluster target lain, ada kemungkinan konflik alamat IP load balancer. Ini dapat terjadi jika Anda menyebarkan dua beban kerja yang menggunakan port yang berbeda dalam kluster target yang berbagi objek AksHciClusterNetwork yang sama. Karena cara alamat IP dan pemetaan port dialokasikan di dalam Proksi HA, ini dapat menyebabkan penetapan alamat IP duplikat. Jika ini terjadi, satu atau kedua beban kerja dapat mengalami masalah konektivitas jaringan acak hingga Anda menyebarkan kembali beban kerja Anda. Saat menyebarkan ulang beban kerja, Anda dapat menggunakan port yang sama yang menyebabkan setiap beban kerja menerima alamat IP layanan terpisah, atau Anda dapat menyebarkan kembali beban kerja Anda pada kluster target yang menggunakan objek yang berbeda AksHciClusterNetwork .

ExternalName: membuat entri DNS tertentu untuk akses aplikasi yang lebih mudah. Alamat IP untuk penyeimbang beban dan layanan dapat menjadi alamat internal atau eksternal tergantung pada pengaturan jaringan Anda secara keseluruhan dan dapat ditetapkan secara dinamis. Atau, Anda dapat menentukan alamat IP statis yang ada untuk digunakan. Alamat IP statis yang ada sering dikaitkan dengan entri DNS. load balancer internal hanya diberi alamat IP pribadi, sehingga tidak dapat diakses dari Internet.

Dasar-dasar jaringan Kubernetes di Azure Stack HCI

Untuk mengizinkan akses ke aplikasi atau agar komponen aplikasi dapat saling berkomunikasi, Kube menyediakan lapisan abstraksi ke jaringan virtual. Simpul Kubernetes terhubung ke jaringan virtual dan dapat menyediakan konektivitas masuk dan keluar untuk pod. Komponen kube-proxy berjalan pada setiap simpul untuk menyediakan fitur jaringan ini.

Di Kubernetes, Layanan secara logis mengelompokkan pod untuk memungkinkan:

  • Akses langsung melalui satu alamat IP atau nama DNS dan port tertentu.
  • Distribusikan lalu lintas menggunakan penyeimbang beban antara beberapa pod yang menghosting layanan atau aplikasi yang sama.

Platform Azure Stack HCI juga membantu menyederhanakan jaringan virtual untuk kluster AKS di Azure Stack HCI dengan menyediakan jaringan yang "mendasari" dengan cara yang sangat tersedia. Saat Anda membuat kluster AKS, kami juga membuat dan mengonfigurasi sumber daya penyeimbang beban HAProxy yang mendasarinya. Saat Anda menyebarkan aplikasi dalam kluster Kubernetes, alamat IP dikonfigurasi untuk pod dan layanan Kubernetes Anda sebagai titik akhir dalam penyeimbang beban ini.

Sumber alamat IP

Untuk menyederhanakan konfigurasi jaringan untuk beban kerja aplikasi, AKS Arc menetapkan alamat IP ke objek berikut dalam penyebaran:

  • Server API kluster Kubernetes: server API adalah komponen dari sarana kontrol Kubernetes yang mengekspos API Kubernetes. Server API adalah ujung depan untuk bidang kontrol Kubernetes. Alamat IP statis selalu dialokasikan ke server API terlepas dari model jaringan yang mendasarinya.
  • Simpul Kubernetes (komputer virtual): kluster Kubernetes terdiri dari sekumpulan komputer pekerja, yang disebut node, dan node menghosting aplikasi kontainer. Selain simpul bidang kontrol, setiap kluster memiliki setidaknya satu simpul pekerja. Untuk kluster AKS, node Kubernetes dikonfigurasi sebagai komputer virtual. Mesin virtual ini dibuat sebagai mesin virtual yang sangat tersedia di Azure Stack HCI, untuk informasi selengkapnya, lihat Konsep jaringan simpul.
  • Layanan Kubernetes: di Kubernetes, Layanan secara logis mengelompokkan alamat IP pod untuk memungkinkan akses langsung melalui satu alamat IP atau nama DNS pada port tertentu. Layanan juga dapat mendistribusikan lalu lintas menggunakan penyeimbang beban. Alamat IP statis selalu dialokasikan untuk layanan Kubernetes terlepas dari model jaringan yang mendasarinya.
  • Penyeimbang beban HAProxy: HAProxy adalah load balancer TCP/HTTP dan server proksi yang menyebarkan permintaan masuk di beberapa titik akhir. Setiap kluster beban kerja dalam penyebaran AKS pada Azure Stack HCI memiliki penyeimbang beban HAProxy yang disebarkan dan dikonfigurasi sebagai komputer virtual khusus.
  • Layanan Cloud Lokal Microsoft: Ini adalah penyedia cloud Azure Stack HCI yang memungkinkan pembuatan dan pengelolaan lingkungan virtual yang menghosting Kubernetes pada kluster Azure Stack HCI lokal atau kluster Windows Server. Model jaringan diikuti oleh kluster Azure Stack HCI atau Windows Server Anda menentukan metode alokasi alamat IP yang digunakan oleh Microsoft On-Premises Cloud Service. Untuk mempelajari lebih lanjut tentang konsep jaringan yang diterapkan oleh Layanan Cloud Lokal Microsoft, lihat Konsep jaringan node.

Jaringan Kubernetes

Di AKS di Azure Stack HCI, Anda dapat menyebarkan kluster yang menggunakan salah satu model jaringan berikut:

  • Jaringan Flanel Overlay - Sumber daya jaringan biasanya dibuat dan dikonfigurasi saat kluster disebarkan.
  • Project Jaringan Calico - Model ini menawarkan fitur jaringan tambahan, seperti kebijakan jaringan dan kontrol alur.

Kedua implementasi jaringan menggunakan model konfigurasi jaringan overlay, yang menyediakan tugas alamat IP yang terputus dari sisa jaringan pusat data.

Untuk mempelajari selengkapnya tentang jaringan overlay, lihat Memperkenalkan: Jaringan Overlay Kubernetes untuk Windows.

Untuk informasi selengkapnya tentang plug-in dan kebijakan Jaringan Calico, lihat memulai dengan kebijakan jaringan Calico.

Membandingkan model jaringan

Flanel

Flanel adalah lapisan jaringan virtual yang dirancang khusus untuk kontainer. Flannel menciptakan jaringan datar yang melapisi jaringan host. Semua kontainer/pod diberi satu alamat IP dalam jaringan overlay ini, dan berkomunikasi secara langsung dengan menghubungkan ke alamat IP masing-masing.

Calico

Calico adalah jaringan sumber terbuka dan solusi keamanan jaringan untuk kontainer, mesin virtual, dan beban kerja berbasis host asli. Calico mendukung beberapa bidang data termasuk: data plane eBPF Linux, data plane jaringan Linux, dan data plane HNS Windows.

Kemampuan

Kemampuan Flanel Calico
Kebijakan Jaringan Tidak Ya
IPv6 Tidak Ya
Lapisan yang digunakan L2 (VxLAN) L2 (VxLAN)
Sebarkan klaster di jaringan virtual yang ada atau baru Ya Ya
Dukungan Windows Ya Ya
koneksi Pod-Pod Ya Ya
Koneksi Pod-VM, mesin virtual dalam jaringan yang sama Tidak Ya
Koneksi Pod-VM, mesin virtual dalam jaringan yang berbeda Ya Ya
Layanan Kubernetes Ya Ya
Mengekspos melalui Penyeimbang beban Ya Ya
Jaringan Banyak jaringan pada kluster yang sama dengan multi daemon Banyak jaringan pada kluster yang sama
Penyebaran Linux: DaemonSet Linux: DaemonSet
Windows: Layanan Windows: Layanan
Baris perintah tidak ada calicoctl

Penting

Saat ini, pilihan default adalah menggunakan Calico dalam mode jaringan overlay. Untuk mengaktifkan Flannel, gunakan -primaryNetworkPlugin parameter New-AksHciCluster perintah PowerShell dan tentukan flannel sebagai nilai. Nilai ini tidak dapat diubah setelah Anda menyebarkan kluster, dan berlaku untuk simpul kluster Windows dan Linux.

Berikut contohnya:

New-AksHciCluster -name MyCluster -primaryNetworkPlugin 'flannel'

Langkah berikutnya

Artikel ini membahas konsep jaringan untuk kontainer di simpul AKS di Azure Stack HCI. Untuk informasi selengkapnya tentang konsep AKS di Azure Stack HCI, lihat artikel berikut: