Mendaftarkan cluster di Google Cloud ke fleet Anda

Halaman ini menunjukkan cara menambahkan cluster GKE di Google Cloud ke fleet Anda. Bergantung pada project dan kasus penggunaan, Anda dapat menggunakan Google Cloud Console, Terraform, Config Connector, atau Google Cloud CLI untuk pendaftaran. Anda juga dapat membuat dan mendaftarkan cluster baru dalam satu langkah menggunakan Google Cloud CLI, Google Cloud Console, atau Terraform.

Sebelum memulai

Pastikan Anda telah mengikuti prasyarat umum untuk mendaftarkan cluster.

Bergantung pada kasus penggunaan Anda, cluster GKE pada pendaftaran Google Cloud juga mungkin memerlukan hal berikut:

Mendaftarkan cluster GKE di Google Cloud

Seperti yang Anda lihat di prasyarat, sebaiknya daftarkan cluster GKE Anda dengan Workload Identity Federation for GKE, yang menyediakan cara konsisten bagi aplikasi untuk melakukan autentikasi ke API dan layanan Google Cloud. Anda dapat mengetahui lebih lanjut manfaat mengaktifkan fleet Workload Identity Federation for GKE di artikel Menggunakan fleet Workload Identity Federation for GKE. Mendaftarkan cluster menggunakan salah satu opsi berikut memungkinkan Anda mengaktifkan fleet Workload Identity Federation for GKE, jika diperlukan.

Anda dapat memilih antara mendaftarkan cluster baru selama pembuatan cluster, atau mendaftarkan cluster yang ada.

Daftarkan cluster baru

Jika Anda telah mengaktifkan GKE Enterprise, sebaiknya daftarkan cluster baru ke fleet selama pembuatan cluster. Hal ini karena cluster "lahir dalam fleet" ini dibuat dengan setelan default tingkat fleet yang Anda pilih untuk sejumlah fitur perusahaan, dan dengan log dan metrik yang direkomendasikan telah diaktifkan. Anda dapat mempelajari hal ini lebih lanjut di panduan berikut:

Jika belum mengaktifkan GKE Enterprise, Anda masih dapat mendaftarkan cluster selama pembuatan cluster menggunakan petunjuk ini, tetapi tidak akan mendapatkan konfigurasi default tingkat fleet.

Konsol

  1. Di konsol Google Cloud, buka halaman pembuatan cluster yang relevan.

  2. Ikuti petunjuk dalam dokumentasi GKE untuk menyelesaikan bagian pembuatan cluster Autopilot, Region standar, atau Zona standar dari Google Cloud Console.

  3. Di bagian Pendaftaran perangkat, pilih kotak centang Daftar ke armada. Secara default, nama fleet didasarkan pada project ID Anda.

  4. Isi bagian yang tersisa.

  5. Jika Anda memilih untuk membuat cluster Standard dan ingin cluster yang terdaftar menggunakan fleet Workload Identity Federation (direkomendasikan), klik Security di panel navigasi dan pastikan Enable Workload Identity Federation for GKE dipilih. Fitur ini diaktifkan secara default di cluster Autopilot.

  6. Setelah selesai meninjau detail cluster, klik Buat untuk membuat dan mendaftarkan cluster ke fleet.

gcloud

Perintah ini memerlukan gcloud CLI versi 450.0.0 atau yang lebih baru.

Dengan mendaftarkan cluster menggunakan Google Cloud CLI, Anda akan mendapatkan lokasi keanggotaan regional secara default.

  • Untuk membuat dan mendaftarkan cluster GKE Autopilot baru, jalankan perintah berikut:

    gcloud container clusters create-auto CLUSTER_NAME --enable-fleet
    

    Ganti CLUSTER_NAME dengan nama unik untuk cluster yang Anda buat. Nama ini juga akan menjadi nama keanggotaan cluster. Jika sudah ada cluster dengan nama ini di fleet yang Anda pilih, perintah akan menampilkan error.

  • Untuk membuat dan mendaftarkan cluster GKE Standard baru dengan Workload Identity Federation for GKE yang aktif, jalankan perintah berikut:

    gcloud container clusters create CLUSTER_NAME --enable-fleet \
    --workload-pool=PROJECT_ID.svc.id.goog
    

    Ganti kode berikut:

    • CLUSTER_NAME: nama unik untuk cluster yang Anda buat. Nama ini juga akan menjadi nama keanggotaan cluster. Jika sudah ada cluster dengan nama ini di fleet yang Anda pilih, perintah akan menampilkan error.
    • PROJECT_ID: ID project Google Cloud untuk project yang akan memiliki cluster baru Anda.

    Jika Anda membuat cluster Standar, sebaiknya buat cluster dengan Workload Identity Federation for GKE yang aktif, karena tindakan ini akan mengaktifkan fleet Workload Identity Federation untuk cluster yang terdaftar. Namun, Anda dapat menghilangkan flag --workload-pool jika tidak ingin menggunakan fitur ini. Cluster Autopilot mengaktifkan Workload Identity Federation for GKE secara default.

Bergantung pada cluster yang ingin dibuat, Anda juga dapat menentukan opsi lain untuk membuat cluster Zona standar, Region standar, atau Autopilot. Anda mungkin juga perlu menentukan zona Compute Engine jika belum mengonfigurasi zona default untuk Google Cloud CLI, dan project Google Cloud untuk memiliki cluster jika belum mengonfigurasi project default.

Pelajari lebih lanjut cara membuat berbagai jenis cluster GKE dalam dokumentasi GKE.

Terraform

Anda dapat membuat dan mendaftarkan cluster GKE dengan Terraform menggunakan penyedia google-beta. Anda dapat menemukan referensi lengkap untuk resource google_container_cluster yang digunakan untuk mengelola cluster GKE di registry Terraform.

Pastikan Anda telah membuat akun layanan untuk Terraform agar digunakan sebagaimana dijelaskan dalam prasyarat sebelum mengikuti petunjuk berikut.

Untuk membuat dan mendaftarkan cluster baru, tambahkan blok berikut di konfigurasi Terraform Anda.

  1. Tentukan penyedia google-beta sebagai penyedia yang diperlukan:

    terraform {
      required_providers {
        google-beta = {
          source = "hashicorp/google-beta"
          version = "VERSION"
        }
      }
    }
    

    Mengganti VERSION dengan versi 5.6.0 atau yang lebih baru.

  2. Buat dan daftarkan cluster baru:

    resource "google_container_cluster" "TF_CLUSTER_RESOURCE_NAME" {
      provider = google-beta
      name               = "CLUSTER_NAME"
      location           = "ZONE"
      initial_node_count = 1
      fleet {
        project = "FLEET_HOST_PROJECT"
      }
    }
    

    Ganti kode berikut:

    • TF_CLUSTER_RESOURCE_NAME: nama unik untuk resource google_container_cluster baru yang Anda buat.
    • CLUSTER_NAME: nama unik untuk cluster GKE baru yang ingin dibuat dan didaftarkan.
    • ZONE: zona untuk resource cluster GKE Anda. Contoh: us-central1-a.
    • FLEET_HOST_PROJECT: ID project Google Cloud tempat Anda membuat dan mendaftarkan cluster. Jika kebijakan ini tidak disetel, cluster tidak akan didaftarkan ke fleet. Tentukan project ID yang berbeda jika Anda ingin mendaftarkan cluster ke fleet dalam project yang berbeda.

Daftarkan cluster yang ada

Gunakan salah satu opsi berikut untuk mendaftarkan cluster yang ada, baik ke fleet project mereka sendiri atau ke fleet dalam project yang berbeda (semua opsi kecuali konsol Google Cloud). Anda juga dapat memilih untuk mendaftarkan beberapa atau semua cluster yang ada saat mengupgrade ke GKE Enterprise.

Untuk mendaftarkan cluster GKE yang ada:

Konsol

Jika Anda ingin cluster menggunakan fleet Workload Identity Federation (direkomendasikan), pastikan Workload Identity Federation for GKE diaktifkan di cluster sebelum mengikuti petunjuk ini. Cluster Autopilot mengaktifkan Workload Identity Federation for GKE secara default. Cluster dengan Workload Identity Federation for GKE otomatis mengaktifkan Workload Identity Federation fleet saat Anda mendaftarkannya dari Konsol Google Cloud.

  1. Di konsol Google Cloud, buka halaman GKE Clusters.

    Buka halaman Cluster GKE

  2. Klik Register di samping cluster yang tidak terdaftar yang ingin ditambahkan ke fleet Anda.

  3. Klik Register lagi pada dialog konfirmasi yang muncul.

gcloud

Perintah ini memerlukan gcloud CLI versi 450.0.0 atau yang lebih baru.

Dengan mendaftarkan cluster menggunakan Google Cloud CLI, Anda akan mendapatkan lokasi keanggotaan regional secara default.

Kedua perintah ini mengaktifkan fleet Workload Identity Federation untuk cluster jika cluster sudah mengaktifkan Workload Identity Federation for GKE.

  • Untuk mendaftarkan cluster GKE yang ada di Google Cloud ke fleet project-nya, jalankan perintah berikut:

    gcloud container clusters update CLUSTER_NAME --enable-fleet
    

    Ganti CLUSTER_NAME dengan nama cluster yang Anda daftarkan. Nama ini juga akan menjadi nama keanggotaan cluster.

  • Untuk mendaftarkan cluster ke fleet dalam project yang berbeda, gunakan flag --fleet-project, seperti yang ditunjukkan di bawah ini. Pastikan Anda telah menyiapkan izin yang diperlukan untuk pendaftaran lintas-project sebelum menjalankan perintah ini.

    gcloud container clusters update CLUSTER_NAME --fleet-project=PROJECT_ID_OR_NUMBER
    
    • Ganti CLUSTER_NAME dengan nama cluster yang Anda daftarkan. Nama ini juga akan menjadi nama keanggotaan cluster.
    • Ganti PROJECT_ID_OR_NUMBER dengan project ID atau nomor project host fleet yang Anda pilih.

Terraform

Anda dapat mendaftarkan cluster GKE ke Terraform menggunakan penyedia google-beta. Anda dapat menemukan referensi lengkap untuk resource google_container_cluster yang digunakan untuk mengelola cluster GKE di registry Terraform.

Pastikan Anda telah membuat akun layanan untuk Terraform agar digunakan sebagaimana dijelaskan dalam prasyarat sebelum mengikuti petunjuk berikut.

Daftarkan cluster yang ada

Untuk mendaftarkan cluster yang ada, tambahkan blok berikut ke konfigurasi resource google_container_cluster cluster Anda:

fleet {
        project = "FLEET_HOST_PROJECT"
      }

Ganti FLEET_HOST_PROJECT dengan project ID Google Cloud yang mencakup cluster Anda, atau project ID yang berbeda jika Anda ingin mendaftarkan cluster ke fleet dalam project berbeda.

Mengaktifkan Workload Identity Federation untuk GKE pada cluster terdaftar

Anda dapat menggunakan Terraform untuk mengaktifkan Workload Identity Federation for GKE bagi cluster.

Guna mengaktifkan Workload Identity Federation for GKE bagi cluster baru atau yang sudah ada, tambahkan blok berikut di konfigurasi resource google_container_cluster cluster yang relevan:

  workload_identity_config {
    workload_pool = "PROJECT_ID.svc.id.goog"
  }
  ```

 Replace <code><var>PROJECT_ID</var></code> with the Google Cloud project ID for your Terraform resources.

Config Connector

Jika sudah menginstal add-on Config Connector, Anda dapat menggunakan Config Connector untuk mendaftarkan cluster GKE. Pastikan Anda memiliki versi Config Connector di atas 1.47.0 dan telah membuat akun layanan seperti yang dijelaskan dalam prasyarat.

Anda dapat menemukan referensi lengkap untuk resource GKEHubMembership dalam dokumentasi referensi Config Connector.

Mendaftarkan cluster GKE

Untuk mendaftarkan cluster, pertama-tama tentukan tempat Anda ingin membuat resource, dengan mengikuti petunjuk dalam panduan Config Connector. Kemudian buat file YAML untuk mendaftar dan (secara opsional) buat cluster, sebagai berikut:

Membuat dan mendaftarkan cluster GKE

  1. Buat cluster GKE, seperti pada contoh sederhana berikut:

    apiVersion: container.cnrm.cloud.google.com/v1beta1
    kind: ContainerCluster
    metadata:
      name: CLUSTER_NAME
    spec:
      location: LOCATION
      initialNodeCount: 1
    

    Ganti kode berikut:

    • CLUSTER_NAME: nama yang Anda pilih untuk secara unik merepresentasikan cluster yang Anda buat dengan Config Connector.
    • LOCATION: zona atau region yang dipilih untuk menyediakan resource cluster GKE. Contoh: us-central1-a.

    Untuk mengetahui daftar lengkap opsi saat membuat cluster GKE dengan Config Connector, lihat dokumentasi Config Connector.

  2. Daftarkan keanggotaan cluster GKE.

    apiVersion: gkehub.cnrm.cloud.google.com/v1beta1
    kind: GKEHubMembership
    metadata:
      name: MEMBERSHIP_NAME
    spec:
      location: MEMBERSHIP_LOCATION
      endpoint:
        gkeCluster:
          resourceRef:
            name: CLUSTER_NAME
    

    Ganti kode berikut:

    • MEMBERSHIP_NAME: nama keanggotaan yang Anda pilih untuk secara unik mewakili cluster yang terdaftar ke fleet.
    • MEMBERSHIP_LOCATION: lokasi layanan Fleet tempat Anda ingin mengelola keanggotaan cluster. Ini dapat berupa lokasi cluster itu sendiri (direkomendasikan) atau global. Pelajari lebih lanjut di Lokasi keanggotaan perangkat. Anda tidak dapat menentukan lokasi yang berbeda dari lokasi cluster: jika melakukannya, pendaftaran akan gagal.
    • CLUSTER_NAME: nama yang Anda pilih untuk secara unik merepresentasikan cluster yang Anda buat dengan Config Connector.

Mendaftarkan cluster di project berbeda

Tambahkan kode berikut ke kolom metadata pada resource GKEHubMembership untuk mendaftarkan cluster ke fleet di project lain.

   metadata:
     annotations:
       cnrm.cloud.google.com/project-id: FLEET_PROJECT_ID

Ganti kode berikut:

  • FLEET_PROJECT_ID: project host fleet yang Anda pilih untuk mendaftarkan cluster GKE.

Daftarkan cluster yang ada

Gunakan konfigurasi berikut jika Anda ingin mendaftarkan cluster yang ada, terlepas dari cara pembuatannya. Dalam kasus ini, Anda perlu menentukan nama resource lengkap cluster sehingga Config Connector dapat menemukannya. Ganti kolom resourceRef dari fasilitas GKEHubMembership dengan:

   resourceRef:
     external: //container.googleapis.com/CLUSTER_RESOURCE_NAME

Ganti kode berikut:

  • CLUSTER_RESOURCE_NAME: nama resource Google Cloud untuk cluster GKE. Contoh: projects/my-project/zones/us-west1-a/clusters/my-cluster.

Jika cluster dibuat dengan Config Connector, Anda tidak perlu menentukan nama cluster yang sepenuhnya memenuhi syarat.

Mengaktifkan Workload Identity Federation untuk GKE pada cluster terdaftar

Mengaktifkan Workload Identity Federation for GKE menggunakan konfigurasi yang sama seperti mendaftarkan cluster, dengan langkah-langkah tambahan berikut.

  1. Aktifkan Workload Identity Federation for GKE dengan menambahkan baris berikut di kolom spec pada resource ContainerCluster. Anda harus melakukan hal ini baik untuk cluster baru maupun yang sudah ada.

    spec:
      workloadIdentityConfig:
        workloadPool: PROJECT_ID.svc.id.goog
    

    Ganti kode berikut:

  2. Aktifkan fleet Workload Identity Federation dengan menambahkan hal berikut di kolom spec dari blok resource GKEHubMembership.

    spec:
      authority:
        issuer: https://container.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_NAME
    }
    

    Ganti kode berikut:

    • PROJECT_ID: project default yang Anda pilih melalui anotasi namespace untuk membuat resource cluster GKE.
    • LOCATION: zona atau region yang dipilih untuk menyediakan resource cluster GKE. Contoh: us-central1-a.
    • CLUSTER_NAME: nama yang Anda pilih untuk mewakili cluster yang Anda buat secara unik.

Pemecahan masalah

Jika Anda mengalami masalah selama penyiapan ini, lihat panduan pemecahan masalah kami.

Apa langkah selanjutnya?