Dokumen ini menjelaskan tiga metode untuk terhubung 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.
Tiga metode untuk terhubung ke cluster terdaftar ini diaktifkan oleh layanan Google yang disebut gateway koneksi. Untuk mengetahui detail tentang gateway Connect, lihat Menghubungkan ke cluster terdaftar dengan gateway Connect.
Halaman ini ditujukan bagi administrator dan Operator IT yang ingin menyiapkan, memantau, dan mengelola infrastruktur cloud. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang kami referensikan dalam konten, lihat Peran dan tugas pengguna umum GKE Enterprise. Google Cloud
Sebelum memulai
Sebelum menjalankan metode apa pun, pastikan Anda telah melampirkan cluster. Untuk mengetahui detailnya, lihat Melampirkan cluster yang sesuai dengan CNCF.
Sebelum melanjutkan dengan metode #2 atau metode #3, Anda harus memenuhi prasyarat tambahan. Untuk mengetahui detailnya, lihat bagian berikut.
Sebelum Anda memulai metode #2
Untuk menggunakan metode #2 untuk menghubungkan ke cluster terlampir, pastikan Anda memiliki prasyarat berikut:
- Google Cloud CLI versi terbaru. Untuk mengetahui informasi tentang cara memperbarui
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 Anda memulai metode #3
Untuk menggunakan metode #3 dalam menghubungkan ke cluster terlampir, 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 terlampir versi 1.27.0-gke.5, 1.28.0-gke.2 atau yang lebih baru.
Konfigurasi workforce identity federation (sehingga pengguna atau grup eksternal dapat menggunakan GKE Attached Clusters API):
- Untuk pengguna Azure, lihat Mengonfigurasi workforce identity federation dengan Azure AD.
- Untuk pengguna Okta, lihat Mengonfigurasi workforce identity federation dengan Okta.
- Untuk pengguna dari platform lain, lihat Mengonfigurasi workforce identity federation.
Opsional: Tetapkan peran Identity and Access Management (IAM) yang sesuai untuk 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 ke entitas (pengguna, grup, atau akun layanan), Anda memberikan semua izin yang dimiliki oleh peran tersebut kepada entitas tersebut.
Pengguna
Untuk pengguna perorangan, Anda harus 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 Google Cloud project Anda.WORKFORCE_POOL_ID
: ID yang secara unik mengidentifikasi workforce identity pool 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 mengidentifikasi pengguna eksternal secara unik. 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 Google Cloud project Anda.WORKFORCE_POOL_ID
: ID yang secara unik mengidentifikasi workforce identity pool Anda di Google Cloud. Saat memformat ID, pastikan Anda mengikuti pedoman yang direkomendasikan yang disediakan dalam dokumentasi IAM di bagian Parameter kueri.GROUP_ID
: ID yang mengidentifikasi grup eksternal secara unik.
Untuk mengetahui informasi selengkapnya tentang peran dan izin API yang diperlukan untuk cluster terlampir GKE, lihat Peran dan izin API.
Metode #1: hubungkan ke cluster terlampir sebagai pengguna Google
Untuk terhubung ke cluster terlampir sebagai pengguna Google, ikuti langkah-langkah berikut:
Aktifkan API
connectgateway
dancloudresourcemanager
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 secara otomatis atau manual:
Metode otomatis: Jika, saat Anda melampirkan cluster, Anda menentukan pengguna Google di kolom
--admin-users
perintahgcloud container attached clusters register
, pengguna ini akan otomatis diberi hak istimewa administrator di cluster. Oleh karena itu, Anda dapat melewati langkah ini.Metode manual: Siapkan 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 terlampir sebagai pengguna Google.
Metode #2: hubungkan ke cluster terlampir Anda dengan grup Google
Metode ini memungkinkan Anda terhubung ke cluster terlampir sebagai anggota grup Google. Dengan kata lain, Anda memberikan akses grup Google ke cluster dan semua pengguna yang tergabung dalam grup Google tersebut memiliki akses ke cluster.
Menggunakan Google Grup untuk memberikan akses cluster lebih efisien daripada membuat otorisasi terpisah untuk setiap pengguna. Misalnya, Anda ingin menambahkan 50 pengguna ke grup Administrator cluster, 75 pengguna ke grup Editor, dan 100 pengguna ke grup Pembaca. 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 memberikan otorisasi pada grup Google agar dapat terhubung ke cluster terlampir, ikuti langkah-langkah berikut:
Aktifkan API
connectgateway
dancloudresourcemanager
dengan perintah berikut:gcloud services enable --project=PROJECT_ID \ connectgateway.googleapis.com \ cloudresourcemanager.googleapis.com
Ganti
PROJECT_ID
dengan ID Google Cloud project Anda.Buat grup bernama
gke-security-groups
sebagai grup di domain project Anda jika belum ada.Buat satu atau beberapa sub-grup dalam grup
gke-security-groups
untuk autentikasi cluster.Tambahkan pengguna ke sub-grup yang baru dibuat.
Memberikan peran IAM ke Grup Google:
Pilih peran yang sesuai untuk grup. Peran ini menentukan cara grup berinteraksi dengan gateway koneksi. Peran dapat berupa salah satu dari berikut:
roles/gkehub.gatewayAdmin
,roles/gkehub.gatewayEditor
,roles/gkehub.gatewayReader
. (Perhatikan bahwa Anda tidak memberikan izin atas cluster terlampir di sini - langkah tersebut akan dilakukan nanti. Di sini, Anda hanya menentukan cara pengguna grup dapat memanipulasi gateway koneksi).Jalankan perintah berikut untuk memberikan peran kepada grup:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=group:GROUP_NAME@DOMAIN \ --role=GATEWAY_ROLE
Ganti kode berikut:
PROJECT_ID
: project ID Google AndaGROUP_NAME
: nama grup yang akan diberi aksesDOMAIN
: domain Google Workspace AndaGATEWAY_ROLE
: peran yang dipilih. Misalnya,roles/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 Grup Google
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 tergabung dalam grup Google tertentu dapat terhubung ke cluster yang terlampir. Dalam contoh yang diberikan, pengguna yang tergabung dalam
Grup Google cluster-admin-team
dapat terhubung ke cluster sebagai
administrator.
Metode #3: memberikan akses ke identitas eksternal saat melampirkan atau mengupdate cluster
Metode #3 memberikan akses ke identitas eksternal saat Anda melampirkan atau mengupdate cluster.
Untuk melampirkan cluster yang sesuai dengan CNCF, ikuti langkah-langkah di Melampirkan cluster yang sesuai dengan CNCF. Untuk mengupdate cluster yang sesuai dengan CNCF, ikuti langkah-langkah di Mengupdate cluster yang sesuai dengan CNCF.
Saat menjalankan perintah gcloud CLI untuk mendaftarkan atau memperbarui 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 workforce identity pool Anda di Google Cloud. Saat memformat ID, pastikan Anda mengikuti pedoman yang direkomendasikan yang disediakan dalam dokumentasi IAM di bagian Parameter kueri.SUBJECT_VALUE
: ID yang mengidentifikasi pengguna eksternal secara unik. Misalnya, ID dapat berupa alamat email sepertialex@cymbalgroup.com
.GROUP_ID
: ID yang mengidentifikasi grup eksternal secara unik.
Langkah berikutnya
Untuk mengelola cluster dari konsol Google Cloud dengan Cloud Identity Anda, lihat Login menggunakan identitas Google Cloud Anda.