Menghubungkan grup Google ke GKE di AWS

Dokumen ini menjelaskan cara terhubung ke GKE di AWS sebagai anggota grup Google.

Menggunakan grup Google 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. Agar semua pengguna ini dapat terhubung ke cluster, Anda harus membuat aturan RBAC dalam file manifes Kubernetes untuk 225 pengguna. Namun, mengaktifkan akses ke cluster Anda dengan grup Google akan menghemat waktu karena Anda hanya perlu membuat aturan RBAC untuk tiga grup Google.

Sebelum memulai

Untuk terhubung ke cluster Anda sebagai anggota grup Google, Anda harus memenuhi prasyarat berikut:

  1. Pastikan Anda memiliki Google Cloud CLI versi terbaru. Untuk mengetahui informasi tentang cara mengupdate gcloud CLI, lihat gcloud components update.

  2. Gunakan GKE di AWS versi 1.25 atau yang lebih baru, yang diperlukan untuk akses kubectl menggunakan gateway koneksi.

Hubungkan ke cluster Anda dengan grup Google

Untuk mengizinkan grup Google agar terhubung ke GKE di AWS, ikuti langkah-langkah berikut:

  1. Aktifkan connectgateway API dan cloudresourcemanager API dengan perintah berikut:

      gcloud services enable --project=PROJECT_ID \
          connectgateway.googleapis.com \
          cloudresourcemanager.googleapis.com
    

    Ganti PROJECT_ID dengan ID project AWS Anda.

  2. Buat grup bernama gke-security-groups sebagai grup di domain project Anda jika tidak ada.

  3. Buat satu atau beberapa subgrup dalam grup gke-security-groups untuk autentikasi cluster.

  4. Tambahkan pengguna ke subgrup yang baru dibuat.

  5. Untuk akses kubectl yang menggunakan gateway penghubung, Anda perlu memberikan peran IAM ke grup Google:

    1. Pilih peran yang sesuai untuk grup. Peran ini menentukan cara grup berinteraksi dengan gateway koneksi. Peran tersebut dapat berupa salah satu dari hal berikut: roles/gkehub.gatewayAdmin, roles/gkehub.gatewayEditor, roles/gkehub.gatewayReader. (Perhatikan bahwa Anda tidak memberikan izin melalui cluster di sini. Langkah tersebut akan dilakukan nanti. Di sini, Anda hanya menentukan bagaimana pengguna grup dapat memanipulasi gateway yang terhubung.)

    2. 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 Anda
      • GROUP_NAME: nama grup yang akan diberi akses
      • DOMAIN: domain Google Workspace Anda
      • GATEWAY_ROLE: peran yang dipilih. Misalnya roles/gkehub.gatewayAdmin, roles/gkehub.gatewayEditor, atau roles/gkehub.gatewayReader.
  6. Dalam manifes Kubernetes, tentukan 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
    
  7. 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 file kubeconfig 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. Pada contoh yang diberikan, pengguna yang termasuk dalam grup Google cluster-admin-team dapat terhubung ke cluster sebagai administrator.