Panduan ini ditujukan bagi arsitek Cloud yang ingin mulai menggunakan armada di organisasi mereka. Sebelum membaca panduan ini, pastikan Anda memahami Ringkasan pengelolaan fleet dan Merencanakan resource fleet, yang membahas cara mengatur cluster baru atau yang sudah ada ke dalam fleet.
Praktik terbaik untuk penggunaan fitur
Semua fitur fleet (kecuali kemampuan observasi fleet dasar) bersifat keikutsertaan, yang berarti Anda harus menentukan bahwa Anda ingin menggunakannya. Menambahkan cluster yang ada ke fleet saja tidak akan mengubah konfigurasinya. Saat Anda memutuskan untuk menggunakan fitur fleet, beberapa fitur dapat diaktifkan segera dengan risiko minimal, tetapi Anda mungkin perlu lebih berhati-hati saat menggunakan beberapa fitur lainnya. Bagian ini memberikan beberapa panduan untuk adopsi fitur.
Terutama dengan cluster dan workload yang sudah ada, Anda harus sangat berhati-hati saat fitur menggunakan kesamaan. Ini adalah konsep fleet di mana namespace, layanan, atau identitas dengan nama yang sama di berbagai cluster diasumsikan oleh fitur sebagai hal yang sama. Anda dapat membaca selengkapnya tentang prinsip kesamaan dan fitur mana yang menggunakannya di Cara kerja fleet.
Mengaktifkan fitur berisiko rendah
Fitur "sekitar" berikut tidak mengasumsikan kesamaan jenis apa pun dan tidak memengaruhi cluster dengan cara apa pun. Semua fitur ini dapat digunakan dengan aman meskipun dengan workload dan cluster yang ada, sehingga Anda dapat langsung memperoleh manfaat dari peningkatan kemampuan observasi dan insight keamanan di seluruh fleet, serta kemampuan untuk mengelola urutan upgrade cluster berdasarkan keanggotaan fleet.
Fitur berikut diinstal di setiap cluster. Fitur dapat mengasumsikan kesamaan, tetapi hanya saat mengonfigurasi atau menentukan resource di beberapa cluster. Artinya, Anda dapat mengaktifkan fitur ini dengan aman di cluster dengan beban kerja yang ada, dan hanya perlu mempertimbangkan kesamaan saat membuat atau menggunakan konfigurasi untuk fitur tersebut yang menggunakan pemilih opsional ini.
- Config Sync. Anda mungkin perlu mempertimbangkan kesamaan jika ingin menggunakan pemilih namespace dan cakupan tim opsional.
- Otorisasi Biner. Anda mungkin perlu mempertimbangkan kesamaan namespace, identitas, atau layanan jika ingin menggunakan aturan yang dicakup opsional.
- Pengontrol Kebijakan. Anda mungkin perlu mempertimbangkan kesamaan namespace jika ingin mengecualikan namespace dari penerapan.
Mengaktifkan fitur multi-cluster lanjutan
Fitur canggih berikut mengurangi biaya operasional pengelolaan beberapa cluster. Namun, fitur ini harus digunakan dengan lebih hati-hati karena semuanya memerlukan asumsi tentang satu atau beberapa jenis kesamaan agar dapat berfungsi, dan mengaktifkan atau menonaktifkannya dapat memengaruhi beberapa cluster dan workload-nya.
- Fleet Workload Identity Federation
- Cloud Service Mesh
- Gateway Multi-cluster
- Multi Cluster Ingress
- Pengelolaan tim armada
Misalnya, jika Anda memiliki namespace Kubernetes yang sudah ada dengan nama yang sama di berbagai cluster dan aplikasi (termasuk namespace default), Anda harus memeriksa apakah Anda ingin namespace tersebut diperlakukan sebagai namespace yang sama sebelum mengaktifkan fitur apa pun yang membuat asumsi ini. Demikian pula, jika Anda ingin menggunakan Cloud Service Mesh, Anda harus memahami endpoint layanan mana yang akan digabungkan di seluruh cluster, dan mengonfirmasi bahwa ini adalah perilaku yang diinginkan.
Mengaudit kesamaan namespace
Jika Anda memahami aplikasi Anda dengan baik, Anda dapat mengaudit namespace hanya dengan memverifikasi bahwa tidak ada dua aplikasi "berbeda" yang menggunakan namespace yang sama. Khususnya, perhatikan penggunaan namespace default secara ad hoc. Misalnya, jika Anda memiliki namespace bernama default
di satu cluster, dan namespace bernama default
di cluster lain, tetapi keduanya digunakan untuk tujuan yang berbeda, Anda harus mengganti nama salah satunya.
Untuk pendekatan yang lebih ketat, coba langkah-langkah berikut. Untuk setiap set namespace dengan nama yang sama di berbagai cluster dalam fleet, periksa apakah:
- Di setiap cluster, aturan RBAC yang sama ada di cluster dan namespace principal diizinkan mengakses namespace.
- kumpulan gambar yang digunakan oleh Pod (tanpa hash/tag) sama.
- kumpulan Secret yang digunakan oleh Pod identik.
Jika semuanya benar, namespace tersebut cukup serupa untuk dianggap "sama".
Jika namespace Anda tidak cukup mirip, Anda dapat memigrasikan aplikasi ke namespace baru. Setelah Anda yakin bahwa namespace sama, Anda dapat mengaktifkan fitur yang menggunakannya.
Kesamaan layanan audit
Jika Anda ingin menggunakan Cloud Service Mesh untuk mengelola aplikasi berbasis microservice, masalah lain yang perlu dipertimbangkan adalah kesamaan layanan. Artinya, untuk kombinasi namespace dan nama layanan apa pun, Cloud Service Mesh akan memperlakukannya sebagai layanan logis yang sama dalam hal:
- Identitas (khusus untuk keamanan Cloud Service Mesh): jika
namespace1/service1
diberi otorisasi untuk melakukan sesuatu, workload dengan identitas tersebut dari cluster mana pun akan diberi otorisasi. - Pengelolaan traffic: secara default, traffic di-load balance di
namespace1/service1
layanan dalam cluster mana pun. - Kemampuan observasi: metrik untuk
namespace1/service1
di semua cluster digabungkan.
Jika Anda mengaktifkan Cloud Service Mesh dengan cluster dan aplikasi baru, sebaiknya cadangkan kombinasi nama layanan/namespace yang unik di seluruh mesh Anda. Untuk aplikasi yang sudah ada, audit layanan Anda untuk memastikan bahwa layanan dengan namespace dan nama yang sama di seluruh cluster Anda adalah layanan yang ingin Anda perlakukan sebagai layanan yang sama dalam hal identitas, pengelolaan traffic, dan kemampuan observasi.
Khususnya, pastikan layanan yang berbeda secara logis (misalnya, API akuntansi pembayaran dan API transaksi pembayaran) tidak menggunakan pasangan [namespace, nama] yang sama (misalnya payments/api
) karena akan diperlakukan sebagai layanan yang sama setelah berada di service mesh. Penggabungan konseptual ini terjadi bahkan di seluruh batas regional. Selain itu, fungsi layanan mungkin terpengaruh.
Kesamaan nama/namespace layanan juga diasumsikan oleh Multi Cluster Ingress dan Gateway multi-cluster saat mengarahkan traffic ke layanan di beberapa cluster, meskipun hanya untuk layanan yang diekspos di luar cluster.
Mempertimbangkan workload identity
Fitur armada yang canggih adalah Workload Identity Federation di seluruh armada. Hal ini memperluas kemampuan yang disediakan di Workload Identity Federation untuk GKE, yang memungkinkan workload di cluster Anda mengautentikasi ke Google tanpa mengharuskan Anda mendownload, memutar secara manual, dan umumnya mengelola kunci akun layanan Google Cloud . Sebagai gantinya, workload melakukan autentikasi menggunakan token berumur pendek yang dihasilkan oleh cluster, dengan setiap cluster ditambahkan sebagai penyedia identitas ke workload identity pool khusus. Workload yang berjalan di namespace tertentu dapat berbagi identitas Identity and Access Management yang sama di seluruh cluster.
Meskipun Workload Identity Federation reguler untuk GKE menggunakan kumpulan identitas di seluruh project, Workload Identity Federation di seluruh fleet menggunakan kumpulan identitas workload untuk seluruh fleet, meskipun cluster berada di project yang berbeda, dengan kesamaan implisit untuk identitas di seluruh fleet serta kesamaan namespace dan layanan. Hal ini menyederhanakan penyiapan autentikasi untuk aplikasi Anda di seluruh project, tetapi dapat menimbulkan pertimbangan kontrol akses di atas dan di luar pertimbangan untuk Federasi Identitas Beban Kerja reguler untuk GKE jika Anda memilih untuk menggunakannya di fleet multi-project, terutama jika project host fleet memiliki campuran cluster fleet dan non-fleet.
Untuk mengetahui lebih lanjut tentang Workload Identity Federation fleet dan cara menggunakannya untuk mengakses Google Cloud layanan, lihat Menggunakan Workload Identity fleet. Untuk mendapatkan panduan tentang cara meminimalkan risiko dengan Workload Identity Federation fleet beserta beberapa contohnya, lihat Praktik terbaik untuk menggunakan Workload Identity fleet.
Default tingkat armada
GKE memberikan kemampuan untuk menetapkan default tingkat fleet untuk fitur perusahaan tertentu, termasuk Cloud Service Mesh, Config Sync, dan Pengontrol Kebijakan. Hal ini membantu Anda menyiapkan cluster untuk menggunakan fitur ini tanpa harus mengonfigurasi setiap cluster satu per satu. Misalnya, admin dapat mengaktifkan Pengontrol Kebijakan untuk fleet mereka dan menetapkan kebijakan default di tingkat fleet. Tindakan ini akan menginstal agen yang diperlukan di cluster anggota armada baru dan menerapkan kebijakan default padanya.
Namun, nilai default ini hanya diterapkan secara otomatis ke cluster baru yang Anda tambahkan ke fleet pada saat pembuatan cluster. Cluster yang ada dan beban kerjanya tidak terpengaruh, meskipun Anda telah menambahkannya ke fleet, atau jika Anda menambahkan cluster setelah menyiapkan default fitur. Artinya, Anda dapat menyiapkan default tingkat fleet dengan aman tanpa berisiko mengaktifkan atau mengonfigurasi fitur di cluster yang belum siap Anda lakukan. Anda dapat memilih untuk menerapkan setelan default ke cluster yang ada nanti.
Persyaratan fitur
Ada beberapa batasan yang perlu dipertimbangkan saat menerapkan armada berdasarkan fitur armada yang ingin digunakan organisasi Anda. Misalnya, beberapa fitur tidak mendukung penggunaan cluster yang tidak ada di project host fleet, sementara fitur lainnya tidak didukung di cluster di luar Google Cloud.
Tabel berikut menunjukkan persyaratan dan batasan saat ini untuk setiap komponen, dengan beberapa panduan khusus di bagian berikut.
Fitur |
Jenis cluster |
Persyaratan project |
Persyaratan VPC |
---|---|---|---|
Config Sync | Semua cluster yang didukung GKE | Tidak ada | Tidak ada |
Pengontrol Kebijakan | Semua cluster yang didukung GKE | Tidak ada | Tidak ada |
Cloud Service Mesh | Lihat batasan. | Semua cluster yang digunakan dengan Cloud Service Mesh yang berada dalam project yang sama harus didaftarkan ke armada yang sama. Untuk mengetahui informasi selengkapnya, lihat Persyaratan armada Cloud Service Mesh. | Cluster GKE harus berada di jaringan VPC yang sama. |
Layanan Multi-cluster (MCS) | GKE di Google Cloud | Tidak ada | Lihat MCS di VPC Bersama |
Multi Cluster Ingress dan Gateway multi-cluster | GKE di Google Cloud | Resource Ingress/Gateway, cluster GKE, dan fleet harus berada dalam project yang sama. | Resource Ingress/Gateway dan cluster GKE harus berada di jaringan VPC yang sama. |
Workload Identity pools | Dioptimalkan untuk GKE di Google Cloud dan Google Distributed Cloud di VMware. Cluster Kubernetes lain didukung, tetapi memerlukan upaya penyiapan tambahan. | Tidak ada | Tidak ada |
Otorisasi Biner | GKE di Google Cloud, Google Distributed Cloud di VMware, Google Distributed Cloud di bare metal | Tidak ada | Tidak ada |
Advanced Vulnerability Insights | GKE di Google Cloud | Tidak ada | Tidak ada |
Postur Keamanan | GKE di Google Cloud | Tidak ada | Tidak ada |
Postur Kepatuhan | GKE di Google Cloud | Tidak ada | Tidak ada |
Metrik pemanfaatan resource fleet | GKE di Google Cloud | Tidak ada | Tidak ada |
Logging fleet | Semua | Tidak ada | Tidak ada |
Menghubungkan gateway | Semua | Tidak ada | Tidak ada |
Pengelolaan tim fleet | Semua | Tidak ada | Tidak ada |
Kebijakan Jaringan FQDN Pod | GKE di Google Cloud | Tidak ada | Tidak ada |
Enkripsi transparan antar-node | GKE di Google Cloud | Tidak ada | Tidak ada |
Pengontrol Konfigurasi | Tidak berlaku | Tidak ada | Tidak ada |
Pengurutan Peluncuran | GKE di Google Cloud | Tidak ada | Tidak ada |
Mempertimbangkan persyaratan Virtual Private Cloud
Jika Anda berencana menggunakan fitur seperti Cloud Service Mesh yang mengharuskan cluster berada dalam satu jaringan Virtual Private Cloud (VPC), seperti yang ditunjukkan dalam tabel sebelumnya, Anda harus membuat armada untuk setiap VPC. Jika tidak berencana menggunakan fitur tersebut, beberapa VPC dapat dimasukkan ke dalam satu armada.
Misalnya, salah satu pola umum adalah organisasi memiliki beberapa project, yang masing-masing memiliki VPC defaultnya sendiri. Keduanya mungkin sudah memiliki koneksi peering satu sama lain. Jika Anda tidak menggunakan fitur dengan persyaratan VPC tunggal, semuanya dapat dimasukkan ke dalam satu armada. Pola umum lainnya mengikuti topologi "hub and spoke", yang menggunakan beberapa VPC. Jika Anda tidak menggunakan fitur dengan persyaratan VPC tunggal, Anda dapat menempatkan cluster dari semua VPC tersebut ke dalam satu fleet. Perhatikan bahwa dalam beberapa kasus, mengikuti panduan ini dapat menyebabkan Anda memiliki armada yang hanya memiliki satu cluster. Dalam hal ini, Anda mungkin perlu mengurungkan penggunaan fitur dengan batasan VPC dan membuat fleet multi-project, atau mempertimbangkan kembali arsitektur dan memindahkan workload, sebagaimana mestinya.
Persyaratan untuk jaringan multi-cluster
Jika Anda ingin menggunakan Multi Cluster Ingress atau Gateway multi-cluster untuk pengelolaan traffic, perlu diketahui bahwa dalam kedua kasus tersebut, pengontrol gateway tidak dapat mencakup beberapa project. Artinya, semua cluster yang ingin Anda gunakan dengan fitur ini harus berada dalam project yang sama dan fleet yang sama. Jika Anda perlu membuat fleet yang menyertakan cluster dari beberapa project, Anda dapat menggunakan Gateway cluster tunggal sebagai gantinya, dan mengarahkan traffic ke Gateway yang tepat dengan cara lain (misalnya, dengan menggunakan DNS). Cluster yang menggunakan fitur ini juga harus berada di jaringan VPC yang sama.
Langkah berikutnya
- Pelajari lebih lanjut cara mengelola fitur fleet di Mengelola fitur tingkat fleet.
- Pelajari lebih lanjut cara kerja fleet di Cara kerja fleet.