Praktik terbaik untuk isolasi kluster di Azure Kubernetes Service (AKS)

Saat Anda mengelola kluster di Azure Kubernetes Service (AKS), Anda seringkali perlu mengisolasi tim dan beban kerja. AKS memungkinkan fleksibilitas dalam cara Anda menjalankan kluster multi-penyewa dan mengisolasi sumber daya. Untuk memaksimalkan investasi di Kubernetes, penting untuk memahami fitur multi-penyewaan dan isolasi AKS.

Artikel praktik terbaik ini berfokus pada isolasi untuk operator kluster. Dalam artikel ini, Anda akan mempelajari cara:

  • Rencanakan untuk kluster multi-penyewa dan pemisahan sumber daya.
  • Gunakan isolasi logis atau fisik di kluster AKS Anda.

Mendesain kluster untuk multi-penyewa

Kube memungkinkan Anda mengisolasi tim dan beban kerja secara logis dalam kluster yang sama. Tujuannya adalah untuk memberikan sedikitnya jumlah hak istimewa yang tercakup dalam sumber daya yang dibutuhkan setiap tim. Sebuah Namespace Layanan Kube membuat batas isolasi logis. Fitur dan pertimbangan Kubernetes lainnya untuk isolasi dan multi-penyewaan mencakup area berikut:

Penjadwalan

Penjadwalan menggunakan fitur dasar seperti kuota sumber daya dan anggaran gangguan pod. Untuk informasi selengkapnya tentang fitur-fitur ini, lihat Praktik terbaik untuk fitur penjadwal dasar di AKS.

Fitur penjadwal yang lebih canggih meliputi:

  • Taint dan toleransi.
  • Pemilih simpul.
  • Simpul dan afinitas atau anti-afinitas pod.

Untuk informasi selengkapnya tentang fitur-fitur ini, lihat Praktik terbaik untuk fitur penjadwal tingkat lanjut di AKS.

Jaringan

Jaringan menggunakan kebijakan jaringan untuk mengontrol arus lalu lintas masuk dan keluar dari pod.

Untuk informasi selengkapnya, lihat Mengamankan lalu lintas antar pod menggunakan kebijakan jaringan di AKS.

Autentikasi dan otorisasi

Autentikasi dan Otorisasi menggunakan:

  • Kontrol akses berbasis peran (RBAC).
  • Integrasi Microsoft Entra.
  • Identitas pod.
  • Rahasia di Azure Key Vault.

Untuk informasi selengkapnya tentang fitur-fitur ini, lihat Praktik terbaik untuk autentikasi dan otorisasi di AKS.

Kontainer

Kontainer meliputi:

  • Add-on Azure Policy untuk AKS untuk memberlakukan keamanan pod.
  • Penerimaan keamanan Pod.
  • Memindai gambar dan runtime untuk kerentanan.
  • Menggunakan App Armor atau Seccomp (Komputasi Aman) untuk membatasi akses kontainer ke simpul yang mendasarinya.

Kluster yang terisolasi secara logis

Panduan praktik terbaik

Pisahkan tim dan proyek menggunakan isolasi logis. Minimalkan jumlah kluster AKS fisik yang Anda sebarkan untuk mengisolasi tim atau aplikasi.

Dengan isolasi logis, Anda dapat menggunakan satu kluster AKS untuk beberapa beban kerja, tim, atau lingkungan. Namespace Layanan Kube membentuk batas isolasi logis untuk beban kerja dan sumber daya.

Isolasi logika kluster Kube di AKS

Pemisahan kluster yang logis biasanya memberikan kepadatan Pod yang lebih tinggi daripada kluster yang terisolasi secara fisik, dengan kapasitas komputasi yang lebih sedikit di dalam kluster. Ketika dikombinasikan dengan autoscaler kluster Kube, Anda dapat menskalakan jumlah simpul untuk naik atau turun agar memenuhi tuntutan. Pendekatan praktik terbaik ini meminimalkan biaya dengan hanya menjalankan jumlah simpul yang diperlukan.

Lingkungan Kubernetes tidak sepenuhnya aman untuk penggunaan multi-penyewa yang bermusuhan. Di lingkungan multi-penyewa, beberapa penyewa bekerja pada infrastruktur bersama. Jika semua penyewa tidak dapat dipercaya, Anda memerlukan perencanaan ekstra untuk mencegah penyewa memengaruhi keamanan dan layanan orang lain.

Fitur keamanan lainnya, seperti Kubernetes RBAC untuk simpul, secara efisien memblokir eksploitasi. Untuk memastikan keamanan saat menjalankan beban kerja multi-penyewa yang sulit dipercaya, jangan percayai siapa pun selain hypervisor. Domain keamanan untuk Kubernetes menjadi seluruh kluster dan bukan simpul individual.

Untuk jenis beban kerja multi-penyewa yang tidak bersahabat ini, Anda harus menggunakan kluster yang terisolasi secara fisik.

Kluster yang terisolasi secara fisik

Panduan praktik terbaik

Minimalkan penggunaan isolasi fisik untuk setiap tim atau penyebaran aplikasi terpisah dan gunakan isolasi logis sebagai gantinya.

Memisahkan kluster AKS secara fisik adalah pendekatan umum untuk mengelompokkan isolasi. Dalam model isolasi ini, tim atau beban kerja diberi kluster AKS sendiri. Meskipun isolasi fisik mungkin terlihat seperti cara termudah untuk mengisolasi beban kerja atau tim, itu menambahkan manajemen dan overhead keuangan. Dengan kluster yang terisolasi secara fisik, Anda harus mempertahankan beberapa kluster dan secara individual memberikan akses dan menetapkan izin. Anda juga ditagih untuk setiap simpul individu.

Isolasi fisik kluster Kube individu di AKS

Kluster yang terisolasi secara fisik biasanya memiliki kepadatan pod yang rendah. Karena setiap tim atau beban kerja memiliki kluster AKS mereka sendiri, kluster ini sering disediakan secara berlebihan dengan sumber daya komputasi. Seringkali, beberapa pod dijadwalkan pada simpul tersebut. Kapasitas simpul yang tidak diklaim tidak dapat digunakan untuk aplikasi atau layanan dalam pengembangan oleh tim lain. Kelebihan sumber daya ini berkontribusi pada biaya tambahan dalam kluster yang terisolasi secara fisik.

Langkah berikutnya

Artikel ini berfokus pada isolasi kluster. Untuk informasi selengkapnya tentang operasi kluster di AKS, lihat artikel praktik terbaik berikut ini: