Hubungkan ke cluster AKS Anda

Dokumen ini menjelaskan tiga metode untuk terhubung ke cluster AKS terlampir:

Tiga 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 Koneksi.

Halaman ini ditujukan untuk 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 Google Cloud konten, lihat Peran dan tugas pengguna GKE umum.

Sebelum memulai

Sebelum menjalankan salah satu metode, pastikan Anda telah melampirkan cluster. Untuk mengetahui detailnya, lihat Melampirkan cluster AKS.

Sebelum melanjutkan ke metode #2 atau metode #3, Anda harus memenuhi prasyarat tambahan. Untuk mengetahui detailnya, lihat bagian berikut.

Sebelum memulai metode #2

Untuk menggunakan metode #2 dalam menghubungkan ke cluster terlampir, pastikan Anda memiliki prasyarat berikut:

  • Google Cloud CLI versi terbaru. Untuk mengetahui informasi tentang cara mengupdate gcloud CLI, lihat gcloud components update.
  • Cluster terlampir versi 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 dalam menghubungkan ke cluster terlampir, pastikan Anda memiliki prasyarat berikut:

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

  2. Pastikan Anda menggunakan cluster terlampir versi 1.27.0-gke.5, 1.28.0-gke.2 atau yang lebih baru.

  3. Konfigurasi workforce identity federation (agar pengguna atau grup eksternal dapat menggunakan GKE attached clusters API):

  4. Opsional: Tetapkan peran Identity and Access Management (IAM) yang sesuai kepada pengguna atau grup eksternal Anda. Langkah ini hanya diperlukan jika Anda ingin memberikan kemampuan kepada pengguna atau grup untuk membuat atau mengupdate cluster; langkah ini tidak diperlukan hanya untuk mengakses cluster.

    Perhatikan bahwa peran adalah kumpulan izin. Saat Anda menetapkan peran ke entity (pengguna, grup, atau akun layanan), Anda memberikan semua izin yang terdapat dalam peran tersebut kepada entity tersebut.

    Pengguna

    Untuk setiap pengguna, 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 project Anda. Google Cloud
    • 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 disediakan dalam dokumentasi IAM di bagian Parameter kueri.
    • SUBJECT_VALUE: ID yang secara unik mengidentifikasi pengguna eksternal. Misalnya, ID dapat berupa alamat email seperti alex@cymbalgroup.com.

    Grup

    Untuk grup, Anda harus 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 Anda. Google Cloud
    • 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 disediakan 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 terlampir GKE, lihat Peran dan izin API.

Metode #1: terhubung ke cluster terlampir sebagai pengguna Google

Untuk terhubung ke cluster terlampir sebagai pengguna Google, 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 Anda. Google Cloud

  2. Siapkan dan terapkan aturan RBAC secara otomatis atau manual:

    • Metode otomatis: Jika, saat Anda melampirkan cluster, Anda menentukan pengguna Google di kolom --admin-users perintah gcloud 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.

  3. 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: terhubung ke cluster terlampir 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 kepada grup Google agar dapat terhubung ke cluster terlampir, 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 Anda.Google Cloud

  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. Berikan peran IAM ke Google Grup:

    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 terlampir 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 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
    
  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 melakukan langkah-langkah ini, pengguna yang tergabung dalam grup Google tertentu dapat terhubung ke cluster 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 AKS, ikuti langkah-langkah di Melampirkan cluster AKS. Untuk mengupdate cluster AKS, ikuti langkah-langkah di Mengupdate cluster AKS.

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 workforce identity pool Anda di Google Cloud. Saat memformat ID, pastikan Anda mengikuti panduan yang direkomendasikan yang disediakan dalam dokumentasi IAM di bagian Parameter kueri.
  • SUBJECT_VALUE: ID yang secara unik mengidentifikasi pengguna eksternal. Misalnya, ID dapat berupa alamat email seperti alex@cymbalgroup.com.
  • GROUP_ID: ID yang secara unik mengidentifikasi grup eksternal.

Langkah berikutnya

Untuk mengelola cluster dari konsol Google Cloud dengan Cloud Identity Anda, lihat Login menggunakan identitas Google Cloud Anda.