Dokumen ini memberikan ringkasan untuk pengelolaan workload di Google Distributed Cloud (GDC) dengan air gap. Topik-topik berikut akan dibahas:
Meskipun beberapa desain deployment workload direkomendasikan, Anda tidak harus mengikutinya persis seperti yang ditentukan. Setiap semesta GDC memiliki persyaratan dan pertimbangan unik yang harus dipenuhi berdasarkan kasus per kasus.
Tempat men-deploy workload
Di platform GDC, operasi untuk men-deploy workload virtual machine (VM) dan workload container berbeda. Bagian ini memperkenalkan perbedaan dan tempat Anda men-deploy setiap resource.
Workload berbasis VM
Anda dapat membuat VM untuk menghosting workload berbasis VM. Anda memiliki banyak opsi konfigurasi untuk bentuk dan ukuran VM guna membantu memenuhi persyaratan workload berbasis VM Anda dengan sebaik-baiknya. Anda harus membuat VM dalam project, yang dapat memiliki banyak VM dan workload VM. Untuk mengetahui informasi selengkapnya, lihat Ringkasan VM.
Project yang hanya berisi workload berbasis VM tidak memerlukan cluster Kubernetes. Oleh karena itu, Anda tidak perlu menyediakan cluster Kubernetes untuk workload berbasis VM.
Workload berbasis container
Anda dapat men-deploy workload berbasis container ke pod di cluster Kubernetes. Cluster Kubernetes dapat dilampirkan ke satu atau banyak project, tetapi bukan merupakan resource turunan dari project. Sebaiknya hanya lampirkan cluster ke project di lingkungan deployment yang sesuai. Misalnya, cluster untuk beban kerja produksi dilampirkan ke project untuk beban kerja produksi.
Untuk penjadwalan pod dalam cluster Kubernetes, GDC mengadopsi konsep umum Kubernetes tentang penjadwalan, pendahuluan, dan penghapusan. Praktik terbaik dalam menjadwalkan pod dalam cluster bervariasi berdasarkan persyaratan workload Anda.
Untuk mengetahui informasi selengkapnya tentang cluster Kubernetes, lihat Ringkasan cluster Kubernetes. Lihat Ringkasan workload container untuk mengetahui detail tentang cara mengelola container di cluster Kubernetes.
Praktik terbaik untuk mendesain cluster Kubernetes
Bagian ini memperkenalkan praktik terbaik untuk mendesain cluster Kubernetes:
- Membuat cluster terpisah per lingkungan deployment
- Membuat lebih sedikit cluster yang lebih besar
- Membuat lebih sedikit node pool yang lebih besar dalam cluster
Membuat cluster terpisah per lingkungan deployment
Selain project terpisah per lingkungan deployment, sebaiknya desain cluster Kubernetes terpisah per lingkungan deployment. Dengan memisahkan cluster dan project Kubernetes per lingkungan, Anda dapat mengisolasi konsumsi resource, kebijakan akses, peristiwa pemeliharaan, dan perubahan konfigurasi tingkat cluster antara beban kerja produksi dan non-produksi.
Diagram berikut menunjukkan contoh desain cluster Kubernetes untuk beberapa workload yang mencakup project, cluster, lingkungan deployment, dan class mesin.
Arsitektur contoh ini mengasumsikan bahwa workload dalam lingkungan deployment diizinkan untuk berbagi cluster. Setiap lingkungan deployment memiliki kumpulan cluster Kubernetes yang terpisah. Kemudian, Anda menetapkan project ke cluster Kubernetes dari lingkungan deployment yang sesuai. Cluster Kubernetes dapat dibagi lagi menjadi beberapa kumpulan node untuk persyaratan class mesin yang berbeda.
Atau, mendesain beberapa cluster Kubernetes berguna untuk operasi penampung seperti skenario berikut:
- Anda memiliki beberapa workload yang disematkan ke versi Kubernetes tertentu, sehingga Anda mempertahankan cluster yang berbeda pada versi yang berbeda.
- Anda memiliki beberapa workload yang memerlukan kebutuhan konfigurasi cluster yang berbeda, seperti kebijakan pencadangan, sehingga Anda membuat beberapa cluster dengan konfigurasi yang berbeda.
- Anda menjalankan salinan cluster secara paralel untuk memfasilitasi upgrade versi yang mengganggu atau strategi deployment blue-green.
- Anda membangun workload eksperimental yang berisiko membatasi server API atau titik kegagalan tunggal lainnya dalam cluster, sehingga Anda mengisolasinya dari workload yang ada.
Diagram berikut menunjukkan contoh beberapa cluster yang dikonfigurasi per lingkungan deployment karena persyaratan seperti operasi penampung yang dijelaskan di bagian sebelumnya.
Membuat lebih sedikit cluster
Untuk pemanfaatan resource yang efisien, sebaiknya rancang jumlah cluster Kubernetes sesedikit mungkin yang memenuhi persyaratan Anda untuk memisahkan lingkungan deployment dan operasi penampung. Setiap cluster tambahan menimbulkan konsumsi resource overhead tambahan, seperti node bidang kontrol tambahan yang diperlukan. Oleh karena itu, cluster yang lebih besar dengan banyak workload menggunakan resource komputasi pokok secara lebih efisien daripada banyak cluster kecil.
Jika ada beberapa cluster dengan konfigurasi serupa, hal ini akan menimbulkan overhead pemeliharaan tambahan untuk memantau kapasitas cluster dan merencanakan dependensi antar-cluster.
Jika kapasitas cluster hampir penuh, sebaiknya tambahkan node tambahan ke cluster, bukan membuat cluster baru.
Membuat lebih sedikit node pool dalam cluster
Untuk penggunaan resource yang efisien, sebaiknya rancang lebih sedikit node pool yang lebih besar dalam cluster Kubernetes.
Mengonfigurasi beberapa node pool berguna saat Anda perlu menjadwalkan pod yang memerlukan class mesin yang berbeda dengan yang lain. Buat kumpulan node untuk setiap class mesin yang diperlukan workload Anda, dan tetapkan kapasitas node ke penskalaan otomatis untuk memungkinkan penggunaan resource komputasi yang efisien.