Seperti yang telah Anda pelajari pada ringkasan pembuatan perangkat, cluster GKE lokal di VMware dan on bare metal, serta cluster multicloud (baik di AWS dan Azure) secara otomatis terdaftar ke fleet project Anda pada waktu pembuatan cluster. Namun, cluster GKE di Google Cloud dan cluster Kubernetes pihak ketiga (cluster terpasang) harus terdaftar secara manual untuk bergabung dengan fleet Anda. Anda dapat menemukan detail selengkapnya tentang berbagai opsi pendaftaran di ringkasan pembuatan fleet.
Halaman ini menjelaskan prasyarat dan persyaratan untuk mendaftarkan cluster Kubernetes apa pun secara manual ke fleet Google Cloud. Ada juga persyaratan terpisah khusus untuk cluster GKE di Google Cloud dan cluster yang terpasang. Setelah menyelesaikan panduan ini, ikuti petunjuk untuk jenis cluster yang ingin didaftarkan.
Menginstal 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 akan diinstal untuk Anda.
Menginstal Google Cloud CLI.
Google Cloud CLI adalah antarmuka command line (CLI) untuk Google Cloud. Anda dapat mendaftarkan cluster menggunakan Google Cloud CLI atau, bergantung pada jenis cluster Anda, dengan menggunakan alat lain seperti Terraform atau Konsol Google Cloud. Namun, meskipun Anda tidak menggunakannya untuk pendaftaran cluster, gcloud
diperlukan atau berguna untuk berbagai langkah penyiapan lain dalam panduan ini.
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 tinggi untuk mendaftarkan cluster, dan versi 423.0.0 atau yang lebih tinggi jika Anda ingin menggunakan perintah pendaftaran non-lama untuk GKE, dengan komponen alfa atau beta terinstal.
Jalankan perintah berikut untuk login ke Google Cloud:
gcloud auth login
(Opsional) Pastikan Anda telah menginstal komponen
gcloud beta
, jika Anda berencana untuk mencoba fitur alfa atau beta:gcloud components install beta
Instal kubectl
Meskipun kubectl
tidak diwajibkan untuk mendaftarkan cluster, Anda mungkin memerlukannya untuk memberikan izin role-based access control (RBAC) yang diperlukan kepada pengguna yang mendaftarkan cluster (jika mereka bukan pemilik cluster), serta untuk penyiapan khusus platform lainnya. Anda memerlukan versi kubectl
yang tidak lebih rendah dari versi Kubernetes minimum yang didukung 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 di project host fleet:
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 dalam cluster yang ingin Anda daftarkan harus dapat menjangkau googleapis.com
dan
gkeconnect.googleapis.com
, baik secara langsung maupun dengan menggunakan
server proxy.
Jika ingin mengaktifkan Workload Identity fleet untuk pendaftaran Anda, Anda juga harus mengaktifkan hal-hal berikut:
iam.googleapis.com
Pemilik non-project harus diberi izin serviceusage.services.enable
sebelum mereka 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:
- FLEET_HOST_PROJECT_ID adalah project ID Google Cloud tempat Anda ingin mendaftarkan cluster. Pelajari cara menemukan nilai ini.
Jika tidak ingin mengaktifkan Workload Identity fleet, Anda dapat menghapus iam.googleapis.com
.
Untuk menampilkan daftar API yang telah Anda aktifkan di project, ikuti petunjuk di 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 di cluster itu sendiri.
Memberikan izin pendaftaran cluster
Pendaftaran cluster memerlukan izin IAM pada project host fleet Anda untuk mendaftarkan cluster. Jika memiliki roles/owner
dalam project host fleet, Anda memiliki akses tersebut secara otomatis dan memiliki semua izin akses yang diperlukan untuk menyelesaikan semua tugas pendaftaran.
Jika tidak memiliki roles/owner
dalam project, Anda harus
peran IAM tertentu sebelum Anda dapat terhubung
ke Google, sebagai berikut:
Untuk mendaftarkan cluster dengan Workload Identity fleet untuk autentikasi ke Google, Anda hanya memerlukan peran IAM berikut:
roles/gkehub.admin
Beberapa opsi pendaftaran di luar Google Cloud mengharuskan Anda menyiapkan akun layanan yang akan digunakan cluster untuk melakukan autentikasi 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 project ID Google Cloud tempat Anda ingin mendaftarkan cluster. Pelajari cara menemukan nilai ini.
- GCP_EMAIL_ADDRESS adalah akun yang digunakan pengguna untuk login infrastruktur Anda ke Google Cloud.
- ROLE adalah peran IAM yang ingin Anda berikan, seperti
roles/gkehub.admin
.
Untuk mempelajari lebih lanjut cara memberikan peran IAM, lihat Memberikan, Mengubah, dan Mencabut Akses ke Resource di dokumentasi IAM.
Memberikan izin admin cluster
Selain izin yang diperlukan untuk mendaftarkan cluster, Anda juga memerlukan izin admin di cluster tersebut. Bergantung pada lokasi cluster, Anda dapat menetapkan izin ini menggunakan peran IAM atau kontrol akses berbasis peran (RBAC) Kubernetes.
Cluster GKE di Google Cloud
Khusus untuk cluster GKE di Google Cloud, tambahkan peran IAM berikut untuk mendapatkan izin admin di cluster tersebut, jika Anda belum memilikinya (akun pengguna Anda mungkin memilikinya jika Anda membuat cluster):
roles/container.admin
Peran IAM ini mencakup
Peran cluster-admin
RBAC Kubernetes. Untuk lainnya
lingkungan cluster, Anda perlu memberikan peran RBAC ini menggunakan kubectl
, seperti yang dijelaskan di bagian berikutnya.
Anda dapat mengetahui lebih lanjut hubungan antara 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 telah
Peran cluster-admin
RBAC Kubernetes.
kubectl
Jika Anda membuat cluster, kemungkinan Anda memiliki peran ini. Anda dapat memverifikasinya 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 ClusterRoleBinding resource Anda
- USER adalah identitas yang digunakan untuk melakukan autentikasi terhadap cluster.
Apa langkah selanjutnya?
Ikuti panduan prasyarat untuk jenis cluster yang ingin Anda daftarkan:
- Prasyarat untuk cluster GKE di Google Cloud
- Prasyarat untuk cluster EKS
- Prasyarat untuk cluster AKS
- Prasyarat untuk jenis cluster terlampir lainnya