Menghubungkan grup Google ke GKE di Azure

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

Menggunakan grup Google 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. Mengizinkan semua pengguna ini terhubung ke cluster Anda akan mengharuskan Anda membuat aturan RBAC dalam file manifes Kubernetes untuk 225 pengguna. Namun, mengizinkan 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 Azure versi 1.25 atau yang lebih baru, yang diperlukan untuk akses kubectl menggunakan gateway koneksi.

Menghubungkan ke cluster Anda dengan grup Google

Untuk mengotorisasi grup Google agar terhubung ke GKE di Azure, ikuti langkah-langkah berikut:

  1. Aktifkan connectgateway dan cloudresourcemanager API dengan perintah berikut:

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

    Ganti PROJECT_ID dengan ID project Azure Anda.

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

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

  4. Tambahkan pengguna ke sub-grup yang baru dibuat.

  5. Untuk akses kubectl menggunakan gateway koneksi, Anda harus 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 berikut ini: roles/gkehub.gatewayAdmin, roles/gkehub.gatewayEditor, roles/gkehub.gatewayReader. (Perhatikan bahwa Anda tidak memberikan izin atas cluster di sini - langkah tersebut akan dilakukan nanti. Di sini, Anda hanya menentukan cara pengguna grup dapat memanipulasi gateway koneksi.)

    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 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
    
  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 tergabung dalam grup Google tertentu dapat terhubung ke cluster. Dalam contoh yang diberikan, pengguna yang tergabung dalam grup Google cluster-admin-team dapat terhubung ke cluster sebagai administrator.