Jalur Pembelajaran: Menskalakan aplikasi - Pertimbangan produksi


Dalam kumpulan tutorial ini, beberapa pertimbangan perencanaan telah disederhanakan sehingga Anda dapat fokus pada pembelajaran fitur utama Google Kubernetes Engine (GKE) dan layanan IT perusahaan mereka. Sebelum Anda mulai membuat lingkungan Google Kubernetes Engine Anda sendiri yang serupa dengan yang dijelaskan dalam rangkaian tutorial ini, ada beberapa hal-hal yang perlu dipertimbangkan dalam perencanaan. Pertimbangan ini mencakup tingkat pengelolaan cluster, jaringan, dan jenis ketersediaan.

Jaringan

Cluster GKE memerlukan perencanaan alamat IP yang cermat. Jaringan opsi yang dipilih akan memengaruhi arsitektur GKE klaster. Beberapa opsi ini tidak dapat diubah setelah dikonfigurasikan tanpa harus membuat ulang cluster.

Dalam set tutorial ini, Anda menggunakan klaster mode {i>Autopilot<i} yang selalu menggunakan jaringan mode VPC native. Berbasis VPC menggunakan rentang alamat IP alias pada node GKE, dan yang diperlukan untuk membuat cluster di VPC Bersama. Berbasis VPC cluster diskalakan dengan lebih mudah daripada cluster berbasis rute tanpa menghabiskan Rute Google Cloud sehingga lebih tidak rentan terhadap perutean batasan data.

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

Mode cluster

Dalam rangkaian tutorial ini, Anda membuat cluster GKE regional yang menggunakan mode {i>Autopilot<i}. Cluster Autopilot sudah dikonfigurasi sebelumnya dengan konfigurasi cluster yang dioptimalkan dan siap untuk workload produksi. Atau, Anda dapat menggunakan cluster mode Standar untuk fleksibilitas konfigurasi atas infrastruktur yang mendasarinya.

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

Namespace

Namespace memungkinkan Anda mengatur aplikasi dan mengisolasi komponen dari masing-masing lainnya. Setiap namespace memiliki kumpulan resource tersendiri, seperti Pod, Service, dan Deployment. Misalnya, Anda dapat membuat namespace untuk semua frontend dan namespace untuk layanan backend Anda. Pengelompokan ini membuatnya lebih mudah untuk mengelola layanan Anda dan mengontrol akses ke layanan tersebut.

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

Anggaran disrupsi pod

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

Dalam kumpulan tutorial ini, Anda tidak mengonfigurasi dan menggunakan PDB. Setelah Anda menyelesaikan tutorial untuk menyimulasikan kegagalan, Layanan dan node Anda semuanya harus merespons sebagai yang diharapkan. Saat Anda men-deploy workload Anda sendiri, PDB pada node mungkin memblokir node yang cepat habis.

Jika Anda menggunakan PDB, tinjau konfigurasi Anda sebelum mencoba memblokir dan menguras node. Jika {i>node<i} tidak berhasil dikosongkan, Anda mungkin memiliki masalah dengan dan peristiwa pemeliharaan terjadwal.

Langkah selanjutnya

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