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.
NodePort: membuat pemetaan port pada simpul dasar yang memungkinkan aplikasi untuk langsung diakses dengan alamat IP node dan port.
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.
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:
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk