Prasyarat umum

Seperti yang Anda pelajari dalam ringkasan pembuatan armada, GKE di VMware, GKE di Bare Metal, dan cluster multicloud (keduanya di AWS dan Azure) secara otomatis terdaftar ke fleet project Anda pada saat pembuatan cluster. Namun, cluster GKE di Google Cloud dan cluster Kubernetes pihak ketiga (cluster terlampir) harus didaftarkan secara manual agar dapat bergabung dengan fleet Anda. Anda dapat menemukan detail selengkapnya tentang berbagai opsi pendaftaran dalam ringkasan pembuatan fleet.

Halaman ini menjelaskan prasyarat dan persyaratan untuk mendaftarkan setiap cluster Kubernetes secara manual ke fleet Google Cloud. Ada juga persyaratan terpisah yang spesifik untuk cluster GKE di Google Cloud dan cluster yang terpasang. Setelah menyelesaikan panduan ini, ikuti petunjuk untuk jenis cluster yang ingin didaftarkan.

Instal alat command line

Pastikan Anda telah menginstal alat command line berikut. Jika Anda menggunakan Cloud Shell sebagai lingkungan shell untuk berinteraksi dengan Google Cloud, alat ini diinstal untuk Anda.

Menginstal Google Cloud CLI.

Google Cloud CLI adalah antarmuka command line (CLI) ke Google Cloud. Anda dapat mendaftarkan cluster dengan menggunakan Google Cloud CLI atau, bergantung pada jenis cluster Anda, dengan menggunakan alat lain seperti Terraform atau Konsol Google Cloud. Namun, meskipun tidak digunakan untuk pendaftaran cluster, gcloud diperlukan atau berguna untuk banyak langkah penyiapan lainnya dalam panduan ini.

  1. Jika Anda belum menginstalnya, instal Google Cloud CLI dengan mengikuti petunjuk penginstalan. Sebaiknya gunakan Google Cloud CLI versi terbaru. Anda memerlukan versi 361.0.0 atau yang lebih baru untuk mendaftarkan cluster, dan versi 423.0.0 atau yang lebih tinggi jika ingin menggunakan perintah pendaftaran non-lama untuk GKE, dengan komponen alfa atau beta terinstal.

  2. Jalankan perintah berikut untuk login ke Google Cloud:

    gcloud auth login
  3. (Opsional) Pastikan Anda telah menginstal komponen gcloud beta, jika berencana untuk mencoba fitur alfa atau beta:

     gcloud components install beta 

Instal kubectl

Meskipun kubectl tidak diperlukan untuk mendaftarkan cluster, Anda mungkin perlu memberikan izin kontrol akses berbasis peran (RBAC) yang diperlukan kepada pengguna yang mendaftarkan cluster (jika mereka bukan pemilik cluster), serta untuk penyiapan khusus platform lainnya. Anda memerlukan versi kubectl tidak lebih rendah dari versi Kubernetes minimum yang didukung dari Google Kubernetes Engine (GKE).

Sebaiknya instal kubectl dengan Google Cloud CLI.

Untuk memeriksa versi kubectl:

kubectl version

Versi klien ditunjukkan oleh gitVersion output.

Untuk menginstal kubectl:

gcloud components install kubectl

Mengaktifkan API

Anda harus mengaktifkan API berikut dalam project fleet host Anda:

  • container.googleapis.com
  • gkeconnect.googleapis.com
  • gkehub.googleapis.com, juga dikenal sebagai Fleet API. Ini adalah layanan Google Cloud yang menangani pendaftaran cluster dan keanggotaan fleet.
  • cloudresourcemanager.googleapis.com

Pod di cluster yang ingin Anda daftarkan harus dapat menjangkau alamat googleapis.com dan gkeconnect.googleapis.com, baik secara langsung atau menggunakan server proxy yang dikonfigurasi.

Jika ingin mengaktifkan Workload Identity fleet untuk pendaftaran, Anda juga harus mengaktifkan hal-hal berikut:

  • iam.googleapis.com

Pemilik non-project harus diberi izin serviceusage.services.enable sebelum dapat mengaktifkan API.

gcloud

Untuk mengaktifkan API ini, jalankan perintah berikut:

gcloud services enable \
   --project=FLEET_HOST_PROJECT_ID \
   container.googleapis.com \
   gkeconnect.googleapis.com \
   gkehub.googleapis.com \
   cloudresourcemanager.googleapis.com \
   iam.googleapis.com

dengan:

Jika tidak ingin mengaktifkan Workload Identity fleet, Anda dapat menghilangkan iam.googleapis.com.

Untuk mencantumkan API yang telah diaktifkan di project Anda, ikuti petunjuk dalam Listingan Layanan dalam dokumentasi Penggunaan Layanan.

Memberikan izin akses

Pastikan Anda memiliki izin akses yang sesuai untuk mendaftarkan cluster. Pendaftaran cluster memerlukan izin untuk mendaftarkan cluster ke fleet, dan izin admin pada cluster itu sendiri.

Memberikan izin pendaftaran cluster

Untuk mendaftarkan cluster, diperlukan izin IAM di project host fleet Anda. Jika memiliki roles/owner di project host fleet, Anda akan otomatis memilikinya dan memiliki semua izin akses yang diperlukan untuk menyelesaikan semua tugas pendaftaran.

Jika tidak memiliki roles/owner dalam project, Anda perlu diberi peran IAM tertentu sebelum dapat menghubungkan cluster ke Google, seperti berikut:

  • Untuk mendaftarkan cluster dengan fleet Workload Identity guna autentikasi ke Google, Anda hanya memerlukan peran IAM berikut:

    • roles/gkehub.admin
  • Beberapa opsi pendaftaran di luar Google Cloud mengharuskan Anda menyiapkan akun layanan untuk cluster yang akan digunakan untuk mengautentikasi ke Google, bukan Workload Identity. Untuk mendaftarkan cluster dan mengelola akun layanan ini, Anda memerlukan kumpulan peran berikut:

    • roles/gkehub.admin
    • roles/iam.serviceAccountAdmin
    • roles/iam.serviceAccountKeyAdmin
    • roles/resourcemanager.projectIamAdmin

Untuk mengetahui daftar izin mendetail yang disertakan dalam peran gkehub, lihat Menghubungkan peran IAM.

gcloud

Untuk memberikan peran IAM kepada pengguna, jalankan perintah berikut:

gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \
   --member user:GCP_EMAIL_ADDRESS \
   --role=ROLE

dengan:

  • FLEET_HOST_PROJECT_ID adalah ID project Google Cloud tempat Anda ingin mendaftarkan cluster. Pelajari cara menemukan nilai ini.
  • GCP_EMAIL_ADDRESS adalah akun yang digunakan pengguna untuk login ke Google Cloud.
  • ROLE adalah peran IAM yang ingin Anda berikan, seperti roles/gkehub.admin.

Untuk mempelajari lebih lanjut cara memberikan peran IAM, baca artikel Memberikan, Mengubah, dan Mencabut Akses ke Resource dalam dokumentasi IAM.

Memberikan izin admin cluster

Selain izin yang diperlukan untuk mendaftarkan cluster, Anda juga memerlukan izin admin di cluster itu sendiri. Bergantung pada lokasi cluster, Anda dapat menetapkan izin ini menggunakan peran IAM atau role-based access control (RBAC) Kubernetes.

Cluster GKE di Google Cloud

Khusus untuk cluster GKE di Google Cloud, tambahkan peran IAM berikut untuk mendapatkan izin admin di cluster, jika Anda belum memilikinya (akun pengguna Anda kemungkinan akan memilikinya jika sudah membuat cluster):

  • roles/container.admin

Peran IAM ini mencakup peran Kubernetes RBAC cluster-admin. Untuk lingkungan cluster lainnya, Anda perlu memberikan peran RBAC ini menggunakan kubectl, seperti yang dijelaskan di bagian berikutnya. Anda dapat mengetahui lebih lanjut hubungan antara peran IAM dan RBAC di GKE dalam dokumentasi GKE.

Cluster di luar Google Cloud

Untuk melampirkan cluster pihak ketiga di luar Google Cloud, pastikan pengguna yang mendaftarkan cluster tersebut memiliki peran Kubernetes RBAC cluster-admin.

kubectl

Jika Anda yang membuat cluster, Anda mungkin memiliki peran ini. Anda dapat memverifikasi dengan menjalankan perintah berikut:

kubectl auth can-i '*' '*' --all-namespaces

Jika Anda atau pengguna lain memerlukan peran tersebut, buat resource ClusterRoleBinding di cluster:

kubectl create clusterrolebinding BINDING_NAME --clusterrole cluster-admin --user USER

dengan:

  • BINDING_NAME adalah nama yang Anda pilih untuk resource ClusterRoleBinding.
  • USER adalah identitas yang digunakan untuk melakukan autentikasi terhadap cluster.

Apa langkah selanjutnya?

Ikuti panduan prasyarat untuk jenis cluster yang ingin Anda daftarkan: