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, Anda dapat menggunakan konsol Google Cloud, Terraform, Config Connector, atau Google Cloud CLI untuk pendaftaran. Anda juga dapat membuat dan mendaftarkan cluster baru dalam satu langkah menggunakan Google Cloud CLI, konsol Google Cloud, atau Terraform.

Sebelum memulai

Pastikan Anda telah mengikuti prasyarat umum untuk mendaftarkan cluster.

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

Mendaftarkan cluster GKE di Google Cloud

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

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

Mendaftarkan cluster baru

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

Anda juga dapat mendaftarkan cluster tingkat standar selama pembuatan cluster menggunakan petunjuk ini, tetapi cluster 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 Autopilot, regional Standard, atau zonal Standard dari konsol Google Cloud.

  3. Di bagian Fleet registration, centang kotak Register to a fleet. Secara default, nama fleet didasarkan pada project ID Anda.

  4. Isi bagian yang tersisa.

  5. Jika Anda telah memilih untuk membuat cluster Standar dan ingin cluster terdaftar menggunakan Workload Identity Federation fleet (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 Create untuk membuat dan mendaftarkan cluster ke fleet.

gcloud

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

Mendaftarkan cluster menggunakan Google Cloud CLI akan memberi cluster Anda 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 untuk GKE yang diaktifkan, 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: project ID Google Cloud untuk project yang akan memiliki cluster baru Anda.

    Jika Anda membuat cluster Standard, sebaiknya buat cluster dengan Workload Identity Federation untuk GKE diaktifkan, karena hal ini akan mengaktifkan Workload Identity Federation untuk cluster terdaftar Anda. Namun, Anda dapat menghapus tanda --workload-pool jika tidak ingin menggunakan fitur ini. Workload Identity Federation for GKE diaktifkan secara default di cluster Autopilot.

Bergantung pada cluster yang ingin dibuat, Anda juga dapat menentukan opsi lain untuk membuat cluster Zona standar, Regional 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 di dokumentasi GKE.

Terraform

Anda dapat membuat dan mendaftarkan cluster GKE dengan Terraform menggunakan penyedia google. 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 digunakan Terraform seperti yang dijelaskan dalam prasyarat sebelum mengikuti petunjuk ini.

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

  1. Tentukan penyedia google sebagai penyedia yang diperlukan:

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

    Ganti VERSION dengan 5.6.0 atau yang lebih baru.

  2. Buat dan daftarkan cluster baru:

    resource "google_container_cluster" "TF_CLUSTER_RESOURCE_NAME" {
      provider = google
      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 Anda buat dan daftarkan.
    • ZONE: zona untuk resource cluster GKE Anda. Contoh: us-central1-a.
    • FLEET_HOST_PROJECT: project ID Google Cloud tempat Anda membuat dan mendaftarkan cluster. Jika tidak ditetapkan, cluster tidak akan terdaftar ke fleet. Tentukan project ID yang berbeda jika Anda ingin mendaftarkan cluster ke fleet di project yang berbeda.

Daftarkan cluster yang ada

Gunakan salah satu opsi berikut untuk mendaftarkan cluster yang ada, baik ke fleet project-nya sendiri maupun ke fleet di project lain (semua opsi kecuali konsol Google Cloud). Anda juga dapat memilih untuk mendaftarkan sebagian atau semua cluster yang ada saat mengupgrade ke GKE Enterprise.

Untuk mendaftarkan cluster GKE yang ada:

Konsol

Jika Anda ingin cluster menggunakan Workload Identity Federation fleet (direkomendasikan), pastikan Workload Identity Federation untuk GKE diaktifkan di cluster sebelum mengikuti petunjuk ini. Workload Identity Federation for GKE diaktifkan secara default di cluster Autopilot. Cluster dengan Workload Identity Federation for GKE akan 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 Daftar di samping cluster yang belum terdaftar yang ingin Anda tambahkan ke fleet.

  3. Klik Daftar lagi pada dialog konfirmasi yang muncul.

gcloud

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

Mendaftarkan cluster menggunakan Google Cloud CLI akan memberi cluster Anda lokasi keanggotaan regional secara default.

Kedua perintah ini mengaktifkan Workload Identity Federation untuk cluster jika cluster tersebut telah mengaktifkan Workload Identity Federation untuk 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 tanda --fleet-project, seperti yang ditunjukkan di bawah. 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 dengan Terraform menggunakan penyedia google. 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 digunakan Terraform seperti yang dijelaskan dalam prasyarat sebelum mengikuti petunjuk ini.

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 tempat cluster Anda berada, atau project ID lain jika Anda ingin mendaftarkan cluster ke fleet di project lain.

Mengaktifkan Workload Identity Federation for GKE di cluster terdaftar

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

Untuk mengaktifkan Workload Identity Federation untuk 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 telah 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 bahwa Anda telah membuat akun layanan seperti yang dijelaskan dalam prasyarat.

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

Mendaftarkan cluster GKE

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

Membuat dan mendaftarkan cluster GKE

  1. Buat cluster GKE, seperti dalam 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 merepresentasikan cluster yang Anda buat dengan Config Connector secara unik.
    • LOCATION: zona atau region yang Anda pilih 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 langganan untuk 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 mewakili cluster secara unik yang terdaftar ke fleet.
    • MEMBERSHIP_LOCATION: lokasi layanan Fleet yang ingin Anda gunakan untuk mengelola keanggotaan cluster. Ini dapat berupa lokasi cluster sendiri (direkomendasikan) atau global. Pelajari lebih lanjut di Lokasi langganan Fleet. Anda tidak dapat menentukan lokasi yang berbeda dengan lokasi cluster: jika Anda melakukannya, pendaftaran akan gagal.
    • CLUSTER_NAME: nama yang Anda pilih untuk merepresentasikan cluster yang Anda buat dengan Config Connector secara unik.

Mendaftarkan cluster di project lain

Tambahkan kode berikut ke kolom metadata 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 cluster tersebut dibuat. Dalam hal ini, Anda perlu menentukan nama resource lengkap cluster agar Config Connector dapat menemukannya. Ganti kolom resourceRef dari resource 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 for GKE di cluster terdaftar

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

  1. Aktifkan Workload Identity Federation untuk GKE dengan menambahkan hal berikut di kolom spec dari resource ContainerCluster. Anda perlu melakukannya untuk cluster baru dan yang sudah ada.

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

    Ganti kode berikut:

  2. Aktifkan Workload Identity Federation fleet 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 Anda pilih untuk menyediakan resource cluster GKE. Contoh: us-central1-a.
    • CLUSTER_NAME: nama yang Anda pilih untuk merepresentasikan cluster yang Anda buat secara unik.

Pemecahan masalah

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

Apa langkah selanjutnya?