Mengonfigurasi cluster untuk dikelola oleh GKE On-Prem API

GKE On-Prem API adalah API yang dihosting Google Cloud yang memungkinkan Anda mengelola siklus proses cluster on-premise menggunakan alat standar: konsol Google Cloud, Google Cloud CLI, atau Terraform. Saat Anda membuat cluster menggunakan salah satu alat ini, API akan menyimpan metadata tentang status cluster Anda di region Google Cloud yang Anda tentukan saat membuat cluster. Metadata ini memungkinkan Anda mengelola siklus proses cluster menggunakan alat standar. Jika ingin menggunakan alat ini untuk melihat detail cluster atau mengelola siklus proses cluster yang dibuat menggunakan bmctl, Anda harus mendaftarkan cluster di GKE On-Prem API.

Terminologi

Dengan mendaftarkan cluster, Anda dapat mengelola siklus proses cluster menggunakan konsol, gcloud CLI, atau Terraform.

Mendaftarkan cluster adalah proses terpisah dari mendaftarkan cluster ke fleet. Fleet adalah pengelompokan logis cluster Kubernetes yang dapat Anda kelola bersama. Semua cluster Google Distributed Cloud terdaftar ke fleet pada waktu pembuatan cluster. Saat Anda membuat cluster menggunakan bmctl, cluster tersebut akan didaftarkan ke project Google Cloud yang Anda tentukan di kolom gkeConnect.projectID dalam file konfigurasi cluster. Project ini disebut sebagai project host fleet. Untuk mempelajari fleet lebih lanjut, termasuk kasus penggunaan, praktik terbaik, dan contoh, lihat dokumentasi Pengelolaan fleet.

Melihat cluster terdaftar

Semua cluster fleet Anda ditampilkan di halaman Cluster GKE di konsol. Tindakan ini memberi Anda ringkasan tentang seluruh fleet dan, untuk Google Distributed Cloud, memungkinkan Anda melihat cluster mana yang dikelola oleh GKE On-Prem API.

Untuk melihat cluster fleet:

  1. Di konsol, buka halaman cluster GKE.
    Buka cluster GKE
  2. Pilih project Google Cloud.
    • Jika Bare metal ditampilkan di kolom Type, cluster dikelola oleh GKE On-Prem API.
    • Jika Eksternal ditampilkan di kolom Jenis, cluster tidak dikelola oleh GKE On-Prem API.

Persyaratan

  • Hanya cluster pengguna dan admin yang dapat didaftarkan dengan GKE On-Prem API. Mendaftarkan cluster hybrid dan mandiri tidak didukung.
  • Versi 1.13 atau yang lebih tinggi.
  • Pendaftaran cluster pengguna yang dibuat dalam namespace kustom tidak didukung. File konfigurasi cluster pengguna yang dihasilkan menggunakan namespace cluster default dalam bentuk cluster-CLUSTER_NAME. Jika Anda mengubah namespace saat membuat cluster, upaya untuk mendaftarkan cluster dengan GKE On-Prem API akan diblokir.

  • Jika bukan pemilik project, minimal Anda harus diberi peran Identity and Access Management roles/gkeonprem.admin di project tersebut. Untuk mengetahui detail tentang izin yang disertakan dalam peran ini, lihat Peran on-prem GKE dalam dokumentasi IAM.

Sebelum memulai

  1. Siapkan gcloud CLI, jika perlu.

    1. Jika Anda perlu menginstal gcloud CLI, lihat dokumentasi gcloud CLI. Update komponen gcloud CLI, jika diperlukan:

      gcloud components update
      
  2. Lakukan langkah-langkah berikut untuk mengaktifkan dan menggunakan GKE On-Prem API:

    1. Aktifkan API di project Anda:

      gcloud services enable \
          --project PROJECT_ID \
          gkeonprem.googleapis.com
      

      Ganti PROJECT_ID dengan project ID untuk project host fleet Anda. Ini adalah project ID yang dikonfigurasi di bagian gkeconnect dari file konfigurasi cluster Anda.

      Jika Anda mendapatkan error PERMISSION_DENIED, periksa kembali project ID yang Anda masukkan. Jika project ID sudah benar, jalankan gcloud auth login untuk login ke Google Cloud CLI dengan akun yang memiliki akses ke project.

    2. Jika ini adalah pertama kalinya Anda mengaktifkan GKE On-Prem API di project, Anda harus melakukan inisialisasi API. Anda dapat melakukannya dengan memanggil perintah gcloud CLI yang menampilkan versi yang tersedia dan dapat Anda gunakan untuk membuat cluster:

      gcloud container bare-metal clusters query-version-config \
          --project=PROJECT_ID \
          --location=REGION
      

      Ganti REGION dengan us-west1 atau region yang didukung lainnya.

  3. Jika organisasi Anda telah menyiapkan daftar yang diizinkan yang memungkinkan traffic dari Google API dan alamat lain melewati server proxy, tambahkan hal berikut ke daftar yang diizinkan:

    • gkeonprem.googleapis.com
    • gkeonprem.mtls.googleapis.com

    Ini adalah nama layanan untuk GKE On-Prem API.

Mendaftarkan cluster pengguna

gcloud CLI

Pastikan untuk men-scroll jika diperlukan untuk mengisi placeholder ADMIN_CLUSTER_NAME untuk flag --admin-cluster-membership.

gcloud container bare-metal clusters enroll USER_CLUSTER_NAME  \
    --project=PROJECT_ID \
    --admin-cluster-membership=projects/PROJECT_ID/locations/global/memberships/ADMIN_CLUSTER_NAME \
    --location=REGION

Ganti kode berikut:

  • USER_CLUSTER_NAME: Nama cluster pengguna yang ingin Anda daftarkan.

  • PROJECT_ID Project ID project host fleet Anda.

  • ADMIN_CLUSTER_NAME: Cluster admin yang mengelola cluster pengguna. Nama cluster admin adalah segmen terakhir dari nama cluster yang sepenuhnya ditentukan yang mengidentifikasi cluster secara unik di Google Cloud.

  • REGION: Region Google Cloud tempat GKE On-Prem API berjalan dan menyimpan metadata cluster. Tentukan us-west1 atau wilayah yang didukung lainnya. Region tidak dapat diubah setelah cluster didaftarkan.

bmctl

Lakukan langkah-langkah berikut di workstation admin Anda.

  1. Tambahkan bagian berikut ke file konfigurasi cluster pengguna:

    gkeOnPremAPI:
      enabled: true
      location: REGION
    

    Ganti REGION dengan region Google Cloud tempat GKE On-Prem API berjalan dan menyimpan metadata cluster. Tentukan us-west1 atau wilayah yang didukung lainnya. Region tidak dapat diubah setelah cluster didaftarkan.

  2. Update cluster:

    bmctl update cluster -c USER_CLUSTER_NAME \
      --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    Ganti kode berikut:

    • USER_CLUSTER_NAME: nama cluster pengguna yang akan diupdate.

    • ADMIN_CLUSTER_KUBECONFIG: jalur file kubeconfig cluster admin.

Mendaftarkan cluster admin

gcloud CLI

Pastikan untuk men-scroll jika diperlukan untuk mengisi placeholder ADMIN_CLUSTER_NAME untuk flag --admin-cluster-membership.

gcloud container bare-metal admin-clusters enroll ADMIN_CLUSTER_NAME \
    --project=PROJECT_ID \
    --admin-cluster-membership=projects/PROJECT_ID/locations/global/memberships/ADMIN_CLUSTER_NAME \
    --location=REGION

Ganti kode berikut:

  • ADMIN_CLUSTER_NAME: Nama cluster admin yang ingin Anda daftarkan.

  • PROJECT_ID Project ID untuk project host fleet Anda.

    ADMIN_CLUSTER_NAME dan PROJECT_ID digunakan untuk membentuk nama cluster yang ditentukan sepenuhnya untuk flag --admin-cluster-membership.

  • REGION: Region Google Cloud tempat GKE On-Prem API berjalan dan menyimpan metadata cluster. Tentukan us-west1 atau wilayah yang didukung lainnya. Region tidak dapat diubah setelah cluster didaftarkan.

bmctl

Lakukan langkah-langkah berikut di workstation admin Anda.

  1. Tambahkan bagian berikut ke file konfigurasi cluster admin:

    gkeOnPremAPI:
      enabled: true
      location: REGION
    

    Ganti REGION dengan region Google Cloud tempat GKE On-Prem API berjalan dan menyimpan metadata cluster. Tentukan us-west1 atau wilayah yang didukung lainnya. Region tidak dapat diubah setelah cluster didaftarkan.

  2. Update cluster:

    bmctl update cluster -c ADMIN_CLUSTER_NAME \
    --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    Ganti kode berikut:

    • ADMIN_CLUSTER_NAME: nama cluster admin yang akan diupdate.

    • ADMIN_CLUSTER_KUBECONFIG: jalur file kubeconfig cluster admin.

Mendapatkan informasi tentang cluster Anda

Setelah cluster didaftarkan, Anda dapat menggunakan perintah berikut untuk mendapatkan informasi tentang cluster:

Cluster pengguna

  • Untuk mendeskripsikan cluster pengguna:
gcloud container bare-metal clusters describe USER_CLUSTER_NAME \
    --project=PROJECT_ID \
    --location=REGION
  • Untuk mencantumkan cluster pengguna:
gcloud container bare-metal clusters list \
    --project=PROJECT_ID \
    --location=-

Jika Anda menetapkan --location=-, artinya Anda mencantumkan semua cluster di semua wilayah. Jika Anda perlu mempersempit cakupan daftar, tetapkan --location ke region yang Anda tentukan saat mendaftarkan cluster.

Cluster admin

  • Untuk mendeskripsikan cluster admin:
gcloud container bare-metal admin-clusters describe ADMIN_CLUSTER_NAME \
    --project=PROJECT_ID \
    --location=REGION
  • Untuk menampilkan daftar cluster admin:
gcloud container bare-metal admin-clusters list \
    --project=PROJECT_ID \
    --location=-

Jika Anda menetapkan --location=-, artinya Anda mencantumkan semua cluster di semua wilayah. Jika Anda perlu mempersempit cakupan daftar, tetapkan --location ke region yang Anda tentukan saat mendaftarkan cluster.

Hubungkan ke cluster

Setelah cluster terdaftar dengan GKE On-Prem API, Anda harus memilih dan mengonfigurasi metode autentikasi agar dapat mengelola cluster dari konsol Google Cloud. Metode autentikasi yang Anda pilih juga mengontrol akses ke cluster dari command line. Untuk informasi selengkapnya, lihat referensi berikut: