Jalur Pembelajaran: Menskalakan aplikasi - Pertimbangan produksi


Dalam rangkaian tutorial ini, beberapa pertimbangan perencanaan disederhanakan sehingga Anda dapat berfokus mempelajari fitur dan layanan Google Kubernetes Engine (GKE) utama. Sebelum Anda mulai membuat lingkungan Google Kubernetes Engine Anda sendiri yang mirip dengan yang dijelaskan dalam rangkaian tutorial ini, ada beberapa pertimbangan perencanaan tambahan yang perlu diingat. Pertimbangan ini mencakup tingkat pengelolaan cluster, jaringan, dan jenis ketersediaan.

Networking

Cluster GKE memerlukan perencanaan alamat IP yang cermat. Opsi jaringan yang Anda pilih memengaruhi arsitektur cluster GKE Anda. Beberapa opsi ini tidak dapat diubah setelah dikonfigurasi tanpa membuat ulang cluster.

Dalam rangkaian tutorial ini, Anda akan menggunakan cluster mode Autopilot yang selalu menggunakan jaringan mode native VPC. Cluster VPC native menggunakan rentang alamat IP alias di node GKE, dan diperlukan untuk membuat cluster di VPC Bersama. Cluster VPC native dapat diskalakan lebih mudah daripada cluster berbasis rute tanpa menggunakan rute Google Cloud sehingga tidak terlalu rentan terhadap batas perutean.

Sebelum membuat lingkungan GKE Anda sendiri dan men-deploy beban kerja, tinjau panduan jaringan berikut:

Mode cluster

Dalam rangkaian tutorial ini, Anda akan membuat cluster GKE regional yang menggunakan mode Autopilot. Cluster Autopilot dikonfigurasi sebelumnya dengan konfigurasi cluster yang dioptimalkan dan siap untuk workload produksi. Atau, Anda dapat menggunakan cluster mode Standar untuk fleksibilitas konfigurasi lanjutan atas infrastruktur dasar.

Untuk ringkasan yang lebih komprehensif, tinjau dokumen perencanaan yang dimulai dengan pilihan konfigurasi cluster.

Namespace

Namespace memungkinkan Anda mengatur aplikasi dan mengisolasi komponen dari satu sama lain. Setiap namespace memiliki kumpulan resource-nya sendiri, seperti Pod, Layanan, dan Deployment. Misalnya, Anda dapat membuat namespace untuk semua layanan frontend dan namespace untuk layanan backend. Pengelompokan ini memudahkan Anda mengelola layanan dan mengontrol akses ke layanan tersebut.

Dalam rangkaian tutorial ini, Anda akan men-deploy Pod dan Layanan untuk aplikasi contoh Cymbal Bank ke dalam satu namespace. Pendekatan ini mengurangi kompleksitas deployment, tetapi tidak memungkinkan Anda menggunakan namespace untuk menetapkan resource ke tim dan pengguna yang berbeda, seperti yang mungkin Anda lakukan di lingkungan produksi. Untuk contoh aplikasi contoh Cymbal Bank yang lebih aman dan siap produksi yang menggunakan beberapa namespace, lihat Arsitektur aplikasi Cymbal Bank.

Anggaran disrupsi pod

Kebijakan Anggaran Gangguan Pod (PDB) membantu memastikan performa aplikasi dengan mencegah Pod mengalami gangguan secara bersamaan saat Anda membuat perubahan pada sistem dan membatasi jumlah Pod yang tidak tersedia secara bersamaan dalam aplikasi yang direplikasi.

Dalam rangkaian tutorial ini, Anda tidak mengonfigurasi dan menggunakan PDB. Saat Anda menyelesaikan tutorial untuk menyimulasikan kegagalan, Layanan dan node Anda akan merespons seperti yang diharapkan. Saat Anda men-deploy workload Anda sendiri, PDB di node mungkin memblokir pengosongan node.

Jika Anda menggunakan PDB, tinjau konfigurasi sebelum mencoba mengisolasi dan menguras node. Jika node tidak berhasil dikosongkan, Anda mungkin mengalami masalah dengan peristiwa pemeliharaan terjadwal.

Langkah selanjutnya

Mulailah dengan menyelesaikan tutorial pertama untuk men-deploy satu cluster GKE yang menjalankan aplikasi berbasis microservice.