Mengupgrade admin atau cluster pengguna menggunakan klien GKE On-Prem API

Halaman ini menjelaskan cara menggunakan Konsol Google Cloud atau Google Cloud CLI untuk mengupgrade GKE pada admin Bare Metal atau cluster pengguna yang terdaftar di GKE On-Prem API. Jika membuat cluster pengguna menggunakan Terraform, Anda dapat menggunakan Terraform untuk mengupgrade cluster pengguna. Untuk mengetahui persyaratan upgrade, praktik terbaik, dan informasi tambahan tentang proses upgrade, tinjau Praktik terbaik upgrade serta Siklus proses dan tahap upgrade cluster sebelum melanjutkan.

Apa itu GKE On-Prem API?

GKE On-Prem API adalah API yang dihosting Google Cloud dan dapat Anda gunakan untuk mengelola siklus proses cluster lokal menggunakan Terraform dan alat Google Cloud standar. GKE On-Prem API berjalan di infrastruktur Google Cloud. Terraform, konsol Google Cloud, dan Google Cloud CLI adalah klien API ini, dan mereka menggunakan API untuk membuat, mengupdate, mengupgrade, dan menghapus cluster di pusat data Anda. Jika Anda membuat cluster menggunakan klien standar, cluster tersebut terdaftar di GKE On-Prem API, yang berarti Anda dapat menggunakan klien standar untuk mengelola siklus proses cluster (dengan beberapa pengecualian). Jika membuat cluster menggunakan bmctl, Anda dapat mendaftarkan cluster di GKE On-Prem API yang memungkinkan Anda menggunakan klien standar.

Sebelum memulai

Menyiapkan gcloud CLI

Untuk menggunakan gcloud CLI atau Terraform untuk mengupgrade cluster:

  1. Pastikan Anda memiliki gcloud CLI versi terbaru. Update komponen gcloud CLI, jika diperlukan:

    gcloud components update
    

Persyaratan IAM

Jika bukan pemilik project, Anda harus diberi peran Identity and Access Management roles/gkeonprem.admin di project Google Cloud tempat cluster dibuat. Untuk mengetahui detail tentang izin yang disertakan dalam peran ini, lihat peran lokal GKE dalam dokumentasi IAM.

Agar dapat menggunakan konsol untuk mengupgrade cluster, Anda memerlukan hal berikut setidaknya:

  • roles/container.viewer. Peran ini memungkinkan pengguna melihat halaman Cluster GKE dan resource penampung lainnya di konsol. Untuk mengetahui detail tentang izin yang disertakan dalam peran ini, atau untuk memberikan peran dengan izin baca/tulis, lihat peran Kubernetes Engine dalam dokumentasi IAM.

  • roles/gkehub.viewer. Peran ini memungkinkan pengguna melihat cluster di konsol. Untuk mengetahui detail tentang izin yang disertakan dalam peran ini, atau untuk memberikan peran dengan izin baca/tulis,lihat peran GKE Hub dalam dokumentasi IAM.

Persyaratan versi

Perlu waktu sekitar 7 hingga 10 hari setelah GKE on Bare Metal dirilis agar versi tersebut tersedia di GKE On-Prem API.

Anda dapat mengupgrade langsung ke versi yang ada dalam rilis minor yang sama atau rilis minor berikutnya. Misalnya, Anda dapat mengupgrade dari 1.15.1 ke 1.15.2, atau dari 1.14.1 ke 1.15.2. Mengupgrade ke versi yang memiliki lebih dari satu rilis minor yang lebih lama dari versi yang diinstal tidak diizinkan.

Cluster admin dapat mengelola cluster pengguna yang berada di versi minor yang sama atau sebelumnya. Cluster pengguna terkelola tidak boleh lebih dari satu versi minor yang lebih rendah dari cluster admin. Jadi, sebelum mengupgrade cluster admin ke versi minor baru, pastikan semua cluster pengguna terkelola memiliki versi minor yang sama dengan cluster admin.

Mengupgrade cluster admin

Konsol

  1. Di konsol, buka halaman ringkasan cluster Google Kubernetes Engine.

    Buka cluster GKE

  2. Pilih project Google Cloud, lalu pilih cluster yang ingin Anda upgrade.

  3. Di panel Details, klik More details.

  4. Di bagian Cluster Basics, klik Upgrade.

  5. Dalam daftar Choose target version, pilih versi yang ingin Anda upgrade. Sebaiknya upgrade ke versi patch terbaru.

  6. Klik Upgrade.

Sebelum cluster diupgrade, pemeriksaan preflight dijalankan untuk memvalidasi status cluster dan kondisi node. Jika pemeriksaan preflight lulus, cluster admin akan diupgrade. Proses upgrade memerlukan waktu 30 menit atau lebih, bergantung pada ukuran cluster Anda.

Untuk melihat status upgrade, klik Show Details di tab Cluster Details.

gcloud CLI

  1. Secara opsional, cantumkan semua cluster admin terdaftar dalam project untuk mengonfirmasi nama cluster dan region:

    gcloud container bare-metal admin-clusters list \
      --project=PROJECT_ID \
      --location=-
    
    • Ganti PROJECT_ID dengan ID project host fleet tempat cluster menjadi anggota. Jika Anda membuat cluster menggunakan bmctl, project ID-nya adalah project ID di kolom gkeConnect.projectID pada file konfigurasi cluster.

    • Jika Anda menetapkan --location=-, artinya Anda mencantumkan semua cluster di semua region. Jika Anda perlu menentukan cakupan dalam daftar, tetapkan --location ke region tertentu.

    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. Dapatkan daftar versi yang tersedia untuk diupgrade:

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

    Ganti kode berikut:

    • ADMIN_CLUSTER_NAME: Nama cluster admin.

    • PROJECT_ID: ID project host fleet tempat cluster menjadi anggota.

    • REGION: Region Google Cloud tempat GKE On-Prem API menjalankan dan menyimpan metadata cluster.

  3. Mengupgrade cluster admin:

    gcloud container bare-metal admin-clusters update ADMIN_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --version=VERSION
    

    Ganti VERSION dengan GKE pada versi Bare Metal yang ingin Anda upgrade. Menentukan versi dari output perintah sebelumnya. Sebaiknya upgrade ke versi patch terbaru.

    Output dari perintah ini mirip dengan berikut ini:

    Waiting for operation [projects/example-project-12345/locations/us-west1/operations/operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179] to complete.
    

    Dalam contoh output, string operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179 adalah OPERATION_ID dari operasi yang berjalan lama.

    Untuk mengetahui status operasi, salin OPERATION_ID dari output Anda ke dalam perintah berikut. Buka jendela terminal lain dan jalankan perintah.

    gcloud container bare-metal operations describe OPERATION_ID \
      --project=PROJECT_ID \
      --location=REGION
    

Diperlukan waktu 30 menit atau lebih untuk menyelesaikan upgrade, bergantung pada ukuran cluster Anda. Saat cluster sedang diupgrade, Anda dapat menjalankan perintah sebelumnya sesering mungkin untuk mendapatkan status saat ini.

Setelah upgrade selesai, Anda akan melihat sesuatu yang mirip dengan berikut ini di jendela terminal tempat Anda menjalankan perintah gcloud ... update:

Updated Anthos on bare metal Admin Cluster [https://gkeonprem.googleapis.com/v1/projects/example-project-1234/locations/us-central1/bareMetalAdminClusters/abm-admin-cluster].
NAME               LOCATION     VERSION     MEMBERSHIP         STATE
abm-admin-cluster  us-central1  1.15.11      abm-admin-cluster  RUNNING

Untuk mengetahui informasi tambahan tentang kolom dan flag, lihat referensi gcloud container bare-metal admin-clusters.

Mengupgrade cluster pengguna

Konsol

  1. Di konsol, buka halaman ringkasan cluster Google Kubernetes Engine.

    Buka cluster GKE

  2. Pilih project Google Cloud, lalu pilih cluster yang ingin Anda upgrade.

  3. Di panel Details, klik More details.

  4. Di bagian Cluster Basics, klik Upgrade.

  5. Dalam daftar Choose target version, pilih versi yang ingin Anda upgrade.

  6. Klik Upgrade.

Sebelum cluster diupgrade, pemeriksaan preflight dijalankan untuk memvalidasi status cluster dan kondisi node. Jika pemeriksaan preflight lulus, cluster pengguna akan diupgrade. Proses upgrade memerlukan waktu 30 menit atau lebih, bergantung pada ukuran cluster Anda.

Untuk melihat status upgrade, klik Show Details di tab Cluster Details.

gcloud CLI

  1. Atau, cantumkan semua cluster pengguna yang terdaftar dalam project untuk mengonfirmasi nama dan region cluster:

    gcloud container bare-metal clusters list \
      --project=PROJECT_ID \
      --location=-
    
    • Ganti PROJECT_ID dengan ID project host fleet tempat cluster menjadi anggota. Jika Anda membuat cluster menggunakan bmctl, project ID-nya adalah project ID di kolom gkeConnect.projectID pada file konfigurasi cluster.

    • Jika Anda menetapkan --location=-, artinya Anda mencantumkan semua cluster di semua region. Jika Anda perlu menentukan cakupan dalam daftar, tetapkan --location ke region tertentu.

    Output perintah ini akan mirip dengan berikut ini:

    NAME              LOCATION     VERSION  ADMIN_CLUSTER      STATE
    abm-user-cluster  us-central1  1.15.11   abm-admin-cluster  RUNNING
    

    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. Dapatkan daftar versi yang tersedia untuk diupgrade:

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

    Ganti kode berikut:

    • USER_CLUSTER_NAME: Nama cluster pengguna yang akan diupgrade.

    • PROJECT_ID: ID project host fleet tempat cluster menjadi anggota.

    • REGION: Region Google Cloud tempat GKE On-Prem API menjalankan dan menyimpan metadata cluster.

    Output perintahnya mirip dengan berikut ini

    versions:
    - hasDependencies: true
    version: 1.15.2
    - hasDependencies: true
    version: 1.15.1
    - hasDependencies: true
    version: 1.15.0
    - version: 1.14.6
    

    Pilih versi yang tidak tercantum dalam - hasDependencies: true. Dalam contoh ini, satu-satunya versi yang tersedia untuk mengupgrade cluster pengguna adalah 1.14.6.

  3. Mengupgrade cluster pengguna:

    gcloud container bare-metal clusters update USER_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --version=VERSION
    

    Ganti VERSION dengan GKE pada versi Bare Metal yang ingin Anda upgrade. Menentukan versi dari output perintah sebelumnya. Sebaiknya upgrade ke versi patch terbaru.

    Output dari perintah ini mirip dengan berikut ini:

    Waiting for operation [projects/example-project-12345/locations/us-west1/operations/operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179] to complete.
    

    Dalam contoh output, string operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179 adalah OPERATION_ID dari operasi yang berjalan lama.

    Untuk mengetahui status operasi, salin OPERATION_ID dari output Anda ke dalam perintah berikut. Buka jendela terminal lain dan jalankan perintah.

    gcloud container bare-metal operations describe OPERATION_ID \
      --project=PROJECT_ID \
      --location=REGION
    

Diperlukan waktu 30 menit atau lebih untuk menyelesaikan upgrade, bergantung pada ukuran cluster Anda. Saat cluster sedang diupgrade, Anda dapat menjalankan perintah sebelumnya sesering mungkin untuk mendapatkan status saat ini.

Untuk mengetahui informasi tambahan tentang kolom dan flag, baca referensi cluster bare-metal gcloud container.

Terraform

Untuk mengupgrade cluster menggunakan Terraform, gunakan konfigurasi Terraform yang sama dengan yang Anda gunakan untuk membuat cluster.

  1. Ubah ke direktori tempat file konfigurasi Terraform berada.

  2. Dapatkan daftar versi yang tersedia untuk diupgrade:

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

    Ganti kode berikut:

    • USER_CLUSTER_NAME: Nama cluster pengguna yang akan diupgrade.

    • PROJECT_ID: ID project host fleet tempat cluster pengguna tersebut menjadi anggota.

    • REGION: Region Google Cloud tempat GKE On-Prem API menjalankan dan menyimpan metadatanya.

    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.

  3. Dalam konfigurasi Terraform, ubah bare_metal_version ke GKE pada versi Bare Metal yang ingin Anda upgrade. Menentukan versi dari output perintah sebelumnya. Sebaiknya upgrade ke versi patch terbaru.

  4. Lakukan inisialisasi dan buat paket Terraform:

    terraform init
    

    Terraform menginstal semua library yang diperlukan, seperti penyedia Google Cloud.

  5. Tinjau konfigurasi dan buat perubahan jika diperlukan:

    terraform plan
    
  6. Terapkan paket Terraform untuk membuat cluster pengguna:

    terraform apply
    

Untuk informasi tentang resource google_gkeonprem_bare_metal_cluster, lihat dokumentasi referensi.