Dokumen ini menjelaskan tiga metode untuk menghubungkan ke cluster terlampir yang sesuai dengan CNCF:
- Metode #1 terhubung ke cluster Anda sebagai pengguna Google.
- Metode #2 terhubung ke cluster Anda sebagai anggota grup Google.
- Metode #3 terhubung ke cluster Anda sebagai pengguna atau grup non-Google.
Ketiga metode untuk terhubung ke cluster terdaftar ini diaktifkan oleh layanan Google yang disebut gateway koneksi. Untuk mengetahui detail tentang gateway koneksi, lihat Menghubungkan ke cluster terdaftar dengan gateway Connect.
Sebelum memulai
Sebelum melakukan metode apa pun, pastikan Anda telah melampirkan cluster. Untuk mengetahui detailnya, lihat Melampirkan cluster yang sesuai CNCF.
Sebelum melanjutkan dengan metode #2 atau metode #3, Anda harus memenuhi prasyarat tambahan. Untuk mengetahui detailnya, lihat bagian berikut.
Sebelum memulai metode #2
Untuk menggunakan metode #2 untuk menghubungkan ke cluster yang terpasang, pastikan Anda memiliki prasyarat berikut:
- Google Cloud CLI versi terbaru. Untuk mengetahui informasi tentang cara mengupdate gcloud CLI, lihat
gcloud components update
. - Versi cluster terlampir 1.26.0-gke.8, 1.27.0-gke.5, 1.28.0-gke.2, atau yang lebih baru.
Sebelum memulai metode #3
Untuk menggunakan metode #3 untuk menghubungkan ke cluster yang terpasang, pastikan Anda memiliki prasyarat berikut:
Pastikan Anda memiliki Google Cloud CLI versi terbaru. Untuk mengetahui informasi tentang cara mengupdate gcloud CLI, lihat
gcloud components update
.Pastikan Anda menggunakan cluster terpasang versi 1.27.0-gke.5, 1.28.0-gke.2, atau yang lebih baru.
Konfigurasi penggabungan identitas tenaga kerja (sehingga pengguna atau grup eksternal dapat menggunakan API cluster terpasang GKE):
- Untuk pengguna Azure, lihat Mengonfigurasi penggabungan identitas tenaga kerja dengan Azure AD.
- Untuk pengguna Okta, lihat Mengonfigurasi penggabungan identitas tenaga kerja dengan Okta.
- Untuk pengguna dari platform lain, lihat Mengonfigurasi federasi identitas tenaga kerja.
Opsional: Tetapkan peran Identity and Access Management (IAM) yang sesuai kepada pengguna atau grup eksternal Anda. Langkah ini hanya diperlukan jika Anda ingin memberi pengguna atau grup kemampuan untuk membuat atau mengupdate cluster; langkah ini tidak diperlukan hanya untuk mengakses cluster.
Perhatikan bahwa peran adalah kumpulan izin. Saat menetapkan peran pada entity (akun pengguna, grup, atau layanan), Anda memberi entitas tersebut semua izin yang terdapat pada peran tersebut.
Pengguna
Untuk pengguna individu, Anda perlu menetapkan peran
gkemulticloud.admin
:gcloud projects add-iam-policy-binding PROJECT_ID \ --role="roles/gkemulticloud.admin" \ --member="principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject SUBJECT_VALUE"
Ganti kode berikut:
PROJECT_ID
: ID project Google Cloud Anda.WORKFORCE_POOL_ID
: ID yang secara unik mengidentifikasi kumpulan identitas tenaga kerja Anda di Google Cloud. Saat memformat ID, pastikan Anda mengikuti panduan yang direkomendasikan yang diberikan dalam dokumentasi IAM di bagian Parameter kueri.SUBJECT_VALUE
: ID yang secara unik mengidentifikasi pengguna eksternal. Misalnya, ID dapat berupa alamat email sepertialex@cymbalgroup.com
.
Grup
Untuk grup, Anda perlu menetapkan peran
gkemulticloud.admin
:gcloud projects add-iam-policy-binding PROJECT_ID \ --role="roles/gkemulticloud.admin" \ --member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"
Ganti kode berikut:
PROJECT_ID
: ID project Google Cloud Anda.WORKFORCE_POOL_ID
: ID yang secara unik mengidentifikasi kumpulan identitas tenaga kerja Anda di Google Cloud. Saat memformat ID, pastikan Anda mengikuti panduan yang direkomendasikan yang diberikan dalam dokumentasi IAM di bagian Parameter kueri.GROUP_ID
: ID yang secara unik mengidentifikasi grup eksternal.
Untuk mengetahui informasi selengkapnya tentang peran dan izin API yang diperlukan untuk cluster terpasang GKE, lihat Peran dan izin API.
Metode #1: menghubungkan ke cluster yang terpasang sebagai pengguna Google
Untuk terhubung ke cluster yang terpasang sebagai pengguna Google, ikuti langkah-langkah berikut:
Aktifkan
connectgateway
API dancloudresourcemanager
API dengan perintah berikut:gcloud services enable --project=PROJECT_ID \ connectgateway.googleapis.com \ cloudresourcemanager.googleapis.com
Ganti
PROJECT_ID
dengan ID project Google Cloud Anda.Siapkan dan terapkan aturan RBAC baik secara otomatis maupun manual:
Metode otomatis: Jika saat Anda memasang cluster, Anda menentukan pengguna Google di kolom
--admin-users
pada perintahgcloud container attached clusters register
, pengguna ini otomatis diberi hak istimewa administrator di cluster tersebut. Oleh karena itu, Anda dapat melewati langkah ini.Metode manual: Menyiapkan aturan RBAC secara manual untuk setiap pengguna Google dengan membuat manifes YAML Kubernetes. Untuk mengetahui detailnya, lihat Menggunakan Otorisasi RBAC.
Dapatkan file konfigurasi
kubeconfig
Kubernetes dengan perintah berikut:gcloud container fleet memberships get-credentials CLUSTER_NAME
Ganti
CLUSTER_NAME
dengan nama cluster yang kredensial koneksinya Anda inginkan.
Setelah melakukan langkah-langkah ini, Anda dapat terhubung ke cluster yang terpasang sebagai pengguna Google.
Metode #2: menghubungkan ke cluster yang terhubung dengan grup Google
Metode ini memungkinkan Anda terhubung ke cluster yang terpasang sebagai anggota grup Google. Dengan kata lain, Anda memberi grup Google akses ke cluster dan semua pengguna yang termasuk dalam grup Google tersebut memiliki akses ke cluster.
Menggunakan Google Grup untuk memberikan akses cluster lebih efisien daripada membuat otorisasi terpisah untuk masing-masing pengguna. Misalnya, Anda ingin menambahkan 50 pengguna ke grup Administrator cluster, 75 pengguna ke grup Editor, dan 100 pengguna ke grup Reader. Metode #1, yang dijelaskan dalam dokumen ini, mengharuskan Anda membuat aturan RBAC dalam file manifes Kubernetes untuk 225 pengguna. Namun, metode #2 menghemat waktu Anda karena Anda hanya perlu membuat aturan RBAC untuk tiga grup Google.
Untuk mengizinkan grup Google terhubung ke cluster yang terpasang, ikuti langkah-langkah berikut:
Aktifkan
connectgateway
API dancloudresourcemanager
API dengan perintah berikut:gcloud services enable --project=PROJECT_ID \ connectgateway.googleapis.com \ cloudresourcemanager.googleapis.com
Ganti
PROJECT_ID
dengan ID project Google Cloud Anda.Buat grup bernama
gke-security-groups
sebagai grup di domain project Anda jika tidak ada.Buat satu atau beberapa subgrup dalam grup
gke-security-groups
untuk autentikasi cluster.Tambahkan pengguna ke subgrup yang baru dibuat.
Memberikan peran IAM ke Google Grup:
Pilih peran yang sesuai untuk grup. Peran ini menentukan cara grup berinteraksi dengan gateway koneksi. Perannya dapat berupa salah satu dari hal berikut:
roles/gkehub.gatewayAdmin
,roles/gkehub.gatewayEditor
,roles/gkehub.gatewayReader
. (Perhatikan bahwa Anda tidak memberikan izin atas cluster yang terpasang di sini - langkah itu akan dilakukan nanti. Di sini, Anda hanya menentukan cara pengguna grup memanipulasi gateway yang terhubung).Jalankan perintah berikut untuk memberikan peran ke grup:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=group:GROUP_NAME@DOMAIN \ --role=GATEWAY_ROLE
Ganti kode berikut:
PROJECT_ID
: ID project Google AndaGROUP_NAME
: nama grup yang akan diberi aksesDOMAIN
: domain Google Workspace AndaGATEWAY_ROLE
: peran yang dipilih. Misalnyaroles/gkehub.gatewayAdmin
,roles/gkehub.gatewayEditor
, atauroles/gkehub.gatewayReader
.
Dalam manifes Kubernetes, tentukan jenis izin yang dimiliki setiap grup Google di cluster. Misalnya, manifes berikut memberikan peran administrator cluster kepada Google Grup
cluster-admin-team
:apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: gateway-cluster-admin-group subjects: - kind: Group name: cluster-admin-team@example.com roleRef: kind: ClusterRole name: cluster-admin apiGroup: rbac.authorization.k8s.io
Simpan manifes ke file dan terapkan ke cluster dengan menjalankan perintah berikut:
kubectl apply -kubeconfig=KUBECONFIG_PATH -f FILENAME
Ganti kode berikut:
KUBECONFIG_PATH
: jalur ke filekubeconfig
Anda.FILENAME
: nama file manifes yang Anda buat.
Setelah Anda melakukan langkah-langkah ini, pengguna yang termasuk dalam grup Google tertentu dapat terhubung ke cluster yang terpasang. Pada contoh yang diberikan, pengguna yang termasuk dalam
Google Grup cluster-admin-team
dapat terhubung ke cluster sebagai
administrator.
Metode #3: memberikan akses ke identitas eksternal saat melampirkan atau memperbarui cluster
Metode #3 memberikan akses ke identitas eksternal saat Anda melampirkan atau mengupdate cluster.
Untuk memasang cluster yang sesuai dengan CNCF, ikuti langkah-langkah dalam artikel Melampirkan cluster yang sesuai CNCF. Untuk memperbarui cluster yang sesuai CNCF, ikuti langkah-langkah dalam Mengupdate cluster yang sesuai CNCF.
Saat menjalankan perintah gcloud CLI untuk mendaftarkan atau mengupdate cluster, tentukan parameter admin-users
dan/atau admin-groups
sebagai berikut:
gcloud container attached clusters [register|update] CLUSTER_NAME \
--admin-users=principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject SUBJECT_VALUE \
--admin-groups=principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID
Ganti kode berikut:
CLUSTER_NAME
: nama cluster Anda.WORKFORCE_POOL_ID
: ID yang secara unik mengidentifikasi kumpulan identitas tenaga kerja Anda di Google Cloud. Saat memformat ID, pastikan Anda mengikuti panduan yang direkomendasikan yang diberikan dalam dokumentasi IAM di bagian Parameter kueri.SUBJECT_VALUE
: ID yang secara unik mengidentifikasi pengguna eksternal. Misalnya, ID dapat berupa alamat email sepertialex@cymbalgroup.com
.GROUP_ID
: ID yang secara unik mengidentifikasi grup eksternal.
Langkah selanjutnya
Untuk mengelola cluster dari Konsol Google Cloud dengan Cloud Identity Anda, lihat Login menggunakan Google Cloud Identity.