Konsep jaringan untuk aplikasi di Azure Kubernetes Service (AKS)
Dalam pendekatan layanan mikro berbasis kontainer untuk pengembangan aplikasi, komponen aplikasi bekerja sama untuk memproses tugas mereka. Kubernetes menyediakan berbagai sumber daya yang memungkinkan kerja sama ini:
- Anda dapat menyambungkan dan mengekspos aplikasi secara internal atau eksternal.
- Anda dapat membuat aplikasi yang sangat tersedia dengan menyeimbangkan beban aplikasi Anda.
- Anda dapat membatasi arus lalu lintas jaringan ke atau antara pod dan simpul untuk meningkatkan keamanan.
- Anda dapat mengonfigurasi lalu lintas Ingress untuk penghentian SSL/TLS atau perutean beberapa komponen untuk aplikasi Anda yang lebih kompleks.
Artikel ini memperkenalkan konsep inti yang menyediakan penyimpanan untuk aplikasi Anda di AKS:
Dasar-dasar jaringan Kubernetes
Kubernetes menggunakan lapisan jaringan virtual untuk mengelola akses di dalam dan antara aplikasi Anda atau komponennya:
Simpul Kubernetes dan jaringan virtual: Simpul Kubernetes terhubung ke jaringan virtual. Penyiapan ini memungkinkan pod (unit dasar penyebaran di Kubernetes) memiliki konektivitas masuk dan keluar.
Komponen kube-proxy: kube-proxy berjalan pada setiap node dan bertanggung jawab untuk menyediakan fitur jaringan yang diperlukan.
Mengenai fungsionalitas Kubernetes tertentu:
- Load balancer: Anda dapat menggunakan load balancer untuk mendistribusikan lalu lintas jaringan secara merata di berbagai sumber daya.
- Pengontrol Ingress: Ini memfasilitasi perutean Lapisan 7, yang penting untuk mengarahkan lalu lintas aplikasi.
- Kontrol lalu lintas keluar: Kubernetes memungkinkan Anda mengelola dan mengontrol lalu lintas keluar dari node kluster.
- Kebijakan jaringan: Kebijakan ini memungkinkan langkah-langkah keamanan dan pemfilteran untuk lalu lintas jaringan dalam pod.
Dalam konteks platform Azure:
- Azure menyederhanakan jaringan virtual untuk kluster AKS (Azure Kubernetes Service).
- Membuat load balancer Kubernetes di Azure secara bersamaan menyiapkan sumber daya penyeimbang beban Azure yang sesuai.
- Saat Anda membuka port jaringan ke pod, Azure secara otomatis mengonfigurasi aturan grup keamanan jaringan yang diperlukan.
- Azure juga dapat mengelola konfigurasi DNS eksternal untuk perutean aplikasi HTTP saat rute Ingress baru dibuat.
Jaringan virtual Azure
Di AKS, Anda dapat menyebarkan kluster yang menggunakan salah satu model jaringan berikut:
- Model jaringan overlay: Jaringan overlay adalah model jaringan yang paling umum digunakan di Kubernetes. Pod diberi alamat IP dari CIDR privat dan terpisah secara logis dari subnet jaringan virtual Azure tempat simpul AKS disebarkan. Model ini memungkinkan skalabilitas yang lebih sederhana dan ditingkatkan jika dibandingkan dengan model jaringan datar.
- Model jaringan datar: Model jaringan datar di AKS menetapkan alamat IP ke pod dari subnet dari jaringan virtual Azure yang sama dengan simpul AKS. Lalu lintas apa pun yang meninggalkan kluster Anda bukan SNAT, dan alamat IP pod langsung terekspos ke tujuan. Model ini dapat berguna untuk skenario seperti mengekspos alamat IP pod ke layanan eksternal.
Untuk informasi selengkapnya tentang model jaringan di AKS, lihat Jaringan CNI di AKS.
Mengontrol lalu lintas keluar (keluar)
Kluster AKS disebarkan pada jaringan virtual dan memiliki dependensi keluar pada layanan di luar jaringan virtual tersebut. Dependensi keluar ini hampir sepenuhnya ditentukan dengan nama domain yang sepenuhnya memenuhi syarat (FQDN). Secara default, kluster AKS memiliki akses Internet keluar (keluar) yang tidak dibatasi, yang memungkinkan simpul dan layanan yang Anda jalankan untuk mengakses sumber daya eksternal sesuai kebutuhan. Jika diinginkan, Anda dapat membatasi lalu lintas keluar.
Untuk informasi selengkapnya, lihat Mengontrol lalu lintas keluar untuk node kluster di AKS.
Grup keamanan jaringan
Grup keamanan jaringan memfilter traffic untuk VM seperti node AKS. Saat Anda membuat Layanan, seperti LoadBalancer, platform Azure secara otomatis mengonfigurasi aturan grup keamanan jaringan yang diperlukan.
Anda tidak perlu mengonfigurasi aturan grup keamanan jaringan secara manual untuk memfilter traffic untuk Pod dalam klaster AKS. Anda dapat menentukan port dan penerusan yang diperlukan sebagai bagian dari manifes Kubernetes Service Anda dan memungkinkan platform Azure membuat atau memperbarui aturan yang sesuai.
Anda juga dapat menggunakan kebijakan jaringan untuk menerapkan aturan filter traffic secara otomatis ke Pod.
Untuk informasi selengkapnya, lihat Cara grup keamanan jaringan memfilter lalu lintas jaringan.
Kebijakan Jaringan
Secara default, semua Pod dalam klaster AKS dapat mengirim dan menerima traffic tanpa batasan. Untuk meningkatkan keamanan, Anda dapat menentukan aturan untuk mengontrol arus atau traffic, seperti:
- Aplikasi back-end hanya diekspos ke layanan frontend yang diperlukan.
- Atau, komponen database hanya dapat diakses oleh tingkat aplikasi yang terhubung ke mereka.
Kebijakan jaringan adalah fitur Kubernetes yang tersedia di AKS yang memungkinkan Anda mengontrol arus traffic antar Pod. Anda dapat mengizinkan atau menolak lalu lintas ke pod berdasarkan pengaturan seperti label yang ditetapkan, namespace, atau port lalu lintas. Meskipun grup keamanan jaringan lebih baik untuk node AKS, kebijakan jaringan adalah cara yang lebih cocok dan cloud-native untuk mengontrol arus traffic untuk Pod. Kebijakan jaringan yang diperlukan dapat diterapkan secara otomatis karena pod dibuat secara dinamis dalam klaster AKS.
Pelajari selengkapnya mengenai ini di Mengamankan traffic antara pod menggunakan kebijakan jaringan di Azure Kubernetes Service (AKS).
Langkah berikutnya
Untuk mulai menggunakan jaringan AKS, buat dan konfigurasikan kluster AKS dengan rentang alamat IP Anda sendiri menggunakan Azure CNI Overlay atau Azure CNI.
Untuk praktik terbaik terkait, lihat Praktik terbaik untuk konektivitas dan keamanan jaringan di AKS.
Untuk informasi lebih lanjut mengenai konsep pokok Kube dan AKS, lihat artikel berikut:
Azure Kubernetes Service