Merencanakan resource fleet

Seperti yang Anda pelajari di Ringkasan pengelolaan fleet, fleet adalah mekanisme pengelompokan untuk mengelola, mengonfigurasi, dan mengamankan cluster Kubernetes dalam skala besar. Fleet adalah alat canggih yang menghilangkan kebutuhan untuk melakukan operasi berulang di lingkungan multi-cluster dan memberikan konsistensi serta visibilitas yang komprehensif di seluruh grup cluster yang besar. Sejumlah fitur GKE Enterprise hanya tersedia melalui fleet.

Strategi pengelompokan yang Anda gunakan untuk membuat fleet dapat bervariasi bergantung pada kebutuhan teknis dan bisnis organisasi Anda. Misalnya, satu organisasi mungkin mengelompokkan cluster berdasarkan jenis aplikasi yang berjalan di dalamnya, sementara organisasi lain mungkin mengelompokkan cluster berdasarkan wilayah, lingkungan, atau faktor relevan lainnya. Jika semua hal lainnya sama, sebaiknya miliki armada seminimal mungkin dalam organisasi Anda.

Panduan ini ditujukan untuk arsitek Cloud yang ingin memulai penggunaan fleet di organisasi mereka. Panduan ini memberikan beberapa panduan praktis tentang cara mengatur cluster ke dalam fleet, termasuk:

  • Saat Anda ingin membuat cluster yang benar-benar baru.
  • Saat Anda ingin membuat fleet dengan cluster yang ada.

Pola yang dijelaskan di sini berfungsi untuk banyak organisasi, tetapi bukan satu-satunya cara untuk merencanakan armada. Fleet bersifat fleksibel dan Anda dapat memutuskan untuk menggunakan pola pengelompokan yang berbeda untuk cluster Anda.

Anda harus memahami konsep yang dibahas dalam Ringkasan pengelolaan armada sebelum membaca panduan ini. Panduan ini juga mengasumsikan bahwa Anda sudah memahami konsep dasar Kubernetes dan hierarki resource Google Cloud.

Batasan fleet dan resource

Batasan umum berikut berlaku saat membuat fleet:

  • Project Google Cloud tertentu hanya dapat memiliki satu fleet (atau tidak ada fleet) yang terkait dengannya, meskipun fleet tersebut dapat menyertakan cluster dari beberapa project. Project yang terkait dengan fleet dikenal sebagai project host fleet fleet.
  • Cluster hanya dapat menjadi anggota dari satu fleet pada waktu tertentu.
  • Batas default untuk jumlah cluster dalam satu fleet adalah 250, meskipun Anda dapat meminta batas yang lebih tinggi jika diperlukan.

Ada banyak alasan yang membuat menempatkan beberapa cluster dalam project yang sama menjadi lebih mudah. Namun, pertimbangkan batas berikut saat merencanakan cluster yang akan digabungkan dalam project:

Prinsip umum

Berikut adalah pertanyaan umum yang harus Anda ajukan saat memutuskan apakah akan mengelompokkan cluster dalam satu grup di fleet. Kita akan melihat penerapannya secara lebih mendetail di bagian berikut.

  • Apakah resource saling terkait?
    • Resource yang memiliki komunikasi lintas layanan dalam jumlah besar akan mendapatkan manfaat terbesar jika dikelola bersama dalam satu grup.
    • Resource di lingkungan deployment yang sama (misalnya, lingkungan produksi Anda) harus dikelola bersama dalam satu fleet.
  • Siapa yang mengelola resource?
    • Memiliki kontrol terpadu (atau setidaknya saling dipercaya) atas resource sangat penting untuk memastikan integritas inventaris.

Merencanakan fleet untuk cluster baru

Bagian ini menjelaskan cara merencanakan fleet saat Anda memiliki kumpulan aplikasi yang diketahui, tetapi fleksibel terkait tempat aplikasi tersebut di-deploy. Hal ini mungkin karena Anda belum mengembangkan aplikasi tersebut, atau memigrasikannya dari platform penampung yang berbeda. Atau, Anda mungkin sudah memiliki aplikasi yang berjalan di cluster yang ada, tetapi terbuka untuk memindahkan aplikasi ke cluster baru untuk mendapatkan arsitektur yang diinginkan.

Setelah fleet diidentifikasi, Anda dapat membuat project baru per fleet, membuat fleet di setiap project, serta membuat dan mendaftarkan cluster ke fleet yang diinginkan.

Mengaudit workload Anda

Mulai dengan daftar semua workload Kubernetes (misalnya Deployment) yang ingin Anda deploy. Daftar ini tidak harus berupa daftar literal; daftar ini dapat berupa gambaran tentang workload yang akan Anda perlukan. Kemudian, ikuti langkah-langkah di bagian lain dalam bagian ini untuk membagi kumpulan aplikasi tersebut secara bertahap menjadi subkumpulan hingga Anda memiliki kumpulan pengelompokan minimum yang diperlukan. Hal ini akan menentukan fleet dan cluster yang Anda perlukan.

Pertimbangkan unit bisnis

Organisasi Anda mungkin memiliki struktur IT gabungan, dengan satu tim IT pusat untuk organisasi, serta tim IT terpisah untuk setiap unit bisnis. Dalam hal ini, setiap tim IT gabungan mungkin ingin mengelola armadanya sendiri. Gunakan fleet terpisah jika workload dua unit bisnis (misalnya, audit dan perdagangan di bank) sama sekali tidak dapat berkomunikasi satu sama lain karena alasan peraturan.

Memisahkan workload menurut lingkungan

Pola umum yang berfungsi untuk banyak organisasi adalah mengelompokkan cluster berdasarkan lingkungan. Konfigurasi yang umum adalah memiliki tiga lingkungan utama: pengembangan, non-produksi (atau staging), dan produksi. Perubahan aplikasi biasanya di-deploy secara bertahap (atau dipromosikan) ke setiap lingkungan dalam daftar. Oleh karena itu, Anda memiliki deployment terpisah di setiap lingkungan untuk aplikasi dasar yang sama, seperti nama image container dasar yang sama. Lihat Blueprint fondasi perusahaan untuk mengetahui contoh cara membuat lingkungan di organisasi Anda.

Fleet hanya boleh berisi cluster dari satu lingkungan. Tiga lingkungan, dengan satu grup perangkat di setiap lingkungan, mungkin sudah cukup untuk banyak organisasi. Lihat Blueprint aplikasi perusahaan untuk mengetahui contoh setiap lingkungan yang memiliki satu fleet dan cara aplikasi dapat di-deploy secara bertahap.

Menggabungkan instance workload redundan

Jika aplikasi memerlukan ketersediaan tinggi, salah satu polanya adalah menjalankannya di dua region atau lebih. Ini melibatkan dua cluster atau lebih yang menjalankan deployment dengan konfigurasi yang sangat mirip yang dikelola sebagai satu unit. Sering kali, mereka akan memiliki load balancer yang mencakup instance aplikasi di semua cluster, atau menggunakan load balancing DNS.

Dalam skenario ini, tempatkan semua cluster tersebut ke dalam fleet yang sama. Cluster di region yang berbeda umumnya tidak perlu berada dalam fleet terpisah, kecuali jika diperlukan karena peraturan atau alasan lainnya.

Merencanakan fleet dengan cluster yang ada

Bagian ini menjelaskan cara merencanakan fleet saat Anda memiliki workload yang berjalan di cluster yang ada, dan Anda tidak berencana untuk memindahkannya. Cluster tersebut mungkin berada di dalam atau di luar Google Cloud. Dalam skenario ini, sasarannya adalah membuat sekumpulan fleet dalam organisasi Anda dan menetapkan cluster yang ada ke fleet tersebut.

Setelah fleet diidentifikasi, Anda dapat membuat project baru per fleet, membuat fleet di setiap project, dan mendaftarkan cluster ke fleet yang diinginkan.

Mengaudit cluster

Mulailah dengan daftar semua cluster Kubernetes di organisasi Anda. Inventaris Aset Cloud adalah salah satu cara untuk menelusuri resource cluster Kubernetes di organisasi Anda.

Kemudian, Anda dapat mengikuti langkah-langkah di bagian selanjutnya untuk membagi kumpulan aplikasi tersebut secara bertahap menjadi subset hingga Anda memiliki kumpulan pengelompokan minimum yang diperlukan. Hal ini akan menentukan jenis fleet yang Anda perlukan.

Pertimbangkan unit bisnis

Organisasi Anda mungkin memiliki struktur IT gabungan, dengan satu tim IT pusat untuk organisasi, serta tim IT terpisah untuk setiap unit bisnis. Tim IT per unit bisnis ini mungkin telah membuat cluster yang ada. Biasanya dalam hal ini, Anda mempartisi kumpulan cluster menurut unit bisnis. Contohnya adalah saat beban kerja unit bisnis tertentu (misalnya, audit dan perdagangan di bank) tidak dapat berkomunikasi satu sama lain sama sekali karena alasan peraturan.

Jika unit bisnis hanya ada untuk tujuan pencatatan biaya, tetapi menggunakan tim IT yang sama, sebaiknya gabungkan cluster mereka dalam satu fleet, terutama jika ada dependensi antarlayanan yang signifikan di seluruh unit bisnis.

Mengelompokkan cluster menurut lingkungan

Identifikasi lingkungan yang digunakan di organisasi Anda. Nama lingkungan yang umum adalah dev, non-produksi (atau staging), dan prod.

Jika setiap cluster jelas hanya berada di salah satu lingkungan Anda, pisahkan daftar cluster menurut lingkungan. Namun, jika beberapa cluster berisi workload yang secara logis termasuk dalam lingkungan yang berbeda, sebaiknya deploy ulang aplikasi ke cluster yang hanya berisi aplikasi yang termasuk dalam satu lingkungan logis.

Meminimalkan jumlah pemilik cluster

Saat menggabungkan project yang ada ke dalam fleet, mungkin ada kumpulan pengguna yang berbeda yang diberi otorisasi untuk bertindak sebagai administrator di cluster tersebut, dengan mempertimbangkan kebijakan IAM (container.admin) dan RBAC (ClusterRoleBinding admin). Jika Anda berencana menggunakan fitur yang memerlukan kesamaan, sasarannya adalah agar semua cluster memiliki kumpulan admin yang sama, dan agar ada sekumpulan kecil admin untuk fleet. Jika cluster harus memiliki admin yang berbeda, dan tujuannya adalah menggunakan fitur yang memerlukan kesamaan, cluster tersebut mungkin tidak termasuk dalam fleet yang sama.

Misalnya, jika cluster C1 dan C2 memiliki admin yang berbeda dan tidak saling percaya, serta tidak bersedia membagikan izin admin ke tim platform pusat yang mengelola fleet, cluster tersebut tidak boleh dikelompokkan dalam satu fleet.

Anda dapat mempelajari lebih lanjut kesamaan dan fitur yang memerlukannya di Cara kerja fleet.

Mempertimbangkan fitur fleet

Terlepas dari apakah Anda menggunakan cluster baru atau yang sudah ada, fitur fleet yang Anda pilih juga dapat memengaruhi pengaturan fleet yang optimal. Misalnya, jika Anda memilih untuk menggunakan Workload Identity Federation seluruh fleet, sebaiknya atur fleet Anda dengan cara yang meminimalkan risiko saat menyiapkan autentikasi workload seluruh fleet, atau jika Anda ingin menggunakan Cloud Service Mesh, Anda mungkin memerlukan cluster tertentu untuk berada di fleet yang sama. Jika Anda menggunakan Virtual Private Cloud (VPC), beberapa fitur memerlukan penggunaan satu VPC per fleet.

Anda dapat mengetahui lebih lanjut cara menggunakan fitur fleet serta persyaratan dan batasannya di panduan berikutnya dalam seri ini, Merencanakan fitur fleet.

Pertimbangkan perimeter VPC

Masalah lain yang perlu dipertimbangkan untuk cluster baru dan yang sudah ada adalah apakah Anda telah memilih atau ingin membuat jaringan pribadi Anda sendiri di Google Cloud dengan Virtual Private Cloud (VPC). Cluster dalam perimeter VPC (misalnya di VPC Bersama yang memiliki Kontrol Layanan VPC), dapat berada dalam satu fleet. Jika Anda memiliki VPC Bersama yang dibatasi dan tidak dibatasi, praktik terbaiknya adalah menempatkannya ke dalam fleet terpisah.

Jika Anda berencana menggunakan perimeter Kontrol Layanan VPC, biasanya beberapa beban kerja berada dalam perimeter dan beberapa berada di luarnya. Anda harus merencanakan untuk memiliki versi Kontrol Layanan VPC dan non-Kontrol Layanan VPC untuk setiap fleet di setiap lingkungan (atau setidaknya produksi dan lingkungan tepat sebelum produksi).

Perhatikan saat merencanakan fleet dengan VPC bahwa beberapa fitur fleet memiliki persyaratan VPC tertentu, seperti mewajibkan semua cluster yang menggunakannya berada dalam jaringan VPC yang sama.

Langkah selanjutnya