Membuat cluster regional


Dokumen ini menunjukkan cara membuat cluster regional Standard untuk meningkatkan ketersediaan bidang kontrol dan workload cluster selama upgrade cluster, pemeliharaan otomatis, atau gangguan zona.

Cluster Autopilot GKE selalu bersifat regional.

Ringkasan

Saat Anda membuat cluster regional, bukan cluster zona, bidang kontrol cluster direplikasi di beberapa zona dalam region tertentu. Untuk node pool di cluster regional, Anda dapat menentukan secara manual zona untuk menjalankan node pool tersebut, atau Anda dapat menggunakan konfigurasi default, yang mereplikasi setiap node pool di tiga zona bidang kontrol region. Semua zona harus berada dalam region yang sama dengan bidang kontrol cluster.

Cluster regional mereplikasi resource di beberapa zona dan menggunakan kuota tambahan.

Untuk mempelajari berbagai jenis ketersediaan cluster, lihat Tentang pilihan konfigurasi cluster.

Petunjuk di bagian berikut menunjukkan cara:

Setelah membuat cluster regional, Anda tidak dapat mengonversinya menjadi cluster zona.

Informasi minimum yang perlu Anda tentukan saat membuat cluster regional baru adalah nama, project (biasanya project saat ini), dan region (biasanya lokasi default untuk alat command line), menggunakan setelan default untuk semua nilai lainnya. Namun, ada lebih banyak kemungkinan setelan konfigurasi, yang hanya sebagian dijelaskan dalam panduan ini dan sebagian tidak dapat diubah setelah pembuatan cluster. Pastikan Anda memahami setelan yang tidak dapat diubah setelah pembuatan cluster, dan Anda memilih setelan yang tepat saat membuat cluster jika tidak ingin membuatnya lagi.

Anda dapat melihat ringkasan opsi konfigurasi cluster di Tentang pilihan konfigurasi cluster, dan daftar lengkap opsi yang mungkin ada di panduan referensi gcloud container clusters create dan Terraform google_container_cluster.

Sebelum memulai

Sebelum memulai, pastikan Anda telah menjalankan tugas berikut:

  • Aktifkan Google Kubernetes Engine API.
  • Aktifkan Google Kubernetes Engine API
  • Jika ingin menggunakan Google Cloud CLI untuk tugas ini, instal lalu lakukan inisialisasi gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan gcloud components update.

Menyiapkan akun layanan IAM untuk GKE

GKE menggunakan akun layanan IAM yang dilampirkan ke node Anda untuk menjalankan tugas sistem seperti logging dan pemantauan. Setidaknya, akun layanan node ini harus memiliki peran Akun Layanan Node Default Kubernetes Engine (roles/container.defaultNodeServiceAccount) di project Anda. Secara default, GKE menggunakan akun layanan default Compute Engine, yang dibuat secara otomatis di project Anda, sebagai akun layanan node.

Untuk memberikan peran roles/container.defaultNodeServiceAccount ke akun layanan default Compute Engine, selesaikan langkah-langkah berikut:

console

  1. Buka halaman Sambutan:

    Buka Selamat Datang

  2. Di kolom Project number, klik Copy to clipboard.
  3. Buka halaman IAM:

    Buka IAM

  4. Klik Berikan akses.
  5. Di kolom Akun utama baru, tentukan nilai berikut:
    PROJECT_NUMBER-compute@developer.gserviceaccount.com
    Ganti PROJECT_NUMBER dengan nomor project yang Anda salin.
  6. Di menu Select a role, pilih peran Kubernetes Engine Default Node Service Account.
  7. Klik Simpan.

gcloud

  1. Temukan nomor project Google Cloud Anda:
    gcloud projects describe PROJECT_ID \
        --format="value(projectNumber)"

    Ganti PROJECT_ID dengan project ID Anda.

    Outputnya mirip dengan hal berikut ini:

    12345678901
    
  2. Berikan peran roles/container.defaultNodeServiceAccount ke akun layanan default Compute Engine:
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \
        --role="roles/container.defaultNodeServiceAccount"

    Ganti PROJECT_NUMBER dengan nomor project dari langkah sebelumnya.

Membuat cluster regional dengan node pool satu zona

Petunjuk berikut menampilkan cara membuat cluster regional dengan node pool yang beroperasi di satu zona dalam region tersebut. Bidang kontrol cluster direplikasi ke beberapa zona dalam region yang ditentukan, tetapi node berada di satu zona, dan tidak direplikasi ke zona lain.

Anda dapat menggunakan gcloud CLI, konsol Google Cloud, atau Terraform untuk membuat cluster.

Jika Anda mengembangkan aplikasi GKE dengan Cloud Code untuk VS Code, coba membuat cluster dengan Cloud Code.

gcloud

Untuk membuat cluster regional dengan gcloud CLI, gunakan salah satu perintah berikut dan ganti variabel berikut:

  • CLUSTER_NAME: nama cluster regional baru Anda.
  • COMPUTE_REGION: region untuk cluster Anda, seperti us-central1.
  • COMPUTE_ZONE: zona untuk node pool Anda, seperti us-central1-a. Zona harus berada di region yang sama dengan bidang kontrol cluster.
  • CHANNEL: jenis saluran rilis, yang dapat berupa salah satu dari rapid, regular, stable, atau None. Secara default, cluster terdaftar di saluran rilis regular kecuali jika setidaknya salah satu flag berikut ditentukan: --cluster-version, --release-channel, --no-enable-autoupgrade, dan --no-enable-autorepair.
  • VERSION: versi yang ingin Anda tentukan untuk cluster.

Sebaiknya tentukan akun layanan IAM dengan hak istimewa minimal yang dapat digunakan node Anda, bukan akun layanan default Compute Engine. Untuk mempelajari cara membuat akun layanan dengan hak istimewa minimal, lihat Menggunakan akun layanan dengan hak istimewa terendah.

Untuk menentukan akun layanan kustom di gcloud CLI, tambahkan flag berikut ke perintah Anda:

--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

Ganti SERVICE_ACCOUNT_NAME dengan nama akun layanan dengan hak istimewa minimal.

Menggunakan saluran rilis tertentu:

Untuk membuat cluster baru menggunakan saluran rilis tertentu, jalankan perintah berikut:

gcloud container clusters create CLUSTER_NAME \
    --region COMPUTE_REGION \
    --node-locations COMPUTE_ZONE \
    --release-channel CHANNEL

Menggunakan versi tertentu:

Untuk membuat cluster baru menggunakan versi cluster tertentu, jalankan perintah berikut:

gcloud container clusters create CLUSTER_NAME \
    --region COMPUTE_REGION \
    --node-locations COMPUTE_ZONE \
    --cluster-version VERSION

Menggunakan versi default untuk cluster yang tidak terdaftar di saluran rilis:

Untuk membuat cluster baru menggunakan versi default untuk cluster yang tidak terdaftar di saluran rilis, Anda tidak perlu menentukan versi cluster, tetapi harus menetapkan saluran rilis ke None:

gcloud container clusters create CLUSTER_NAME \
    --region COMPUTE_REGION \
    --node-locations COMPUTE_ZONE \
    --release-channel None

Contoh

Perintah berikut membuat cluster regional yang terdaftar di saluran rilis regular (default), dengan tiga node (default) di zona us-west1-c:

gcloud container clusters create my-regional-cluster \
    --region us-west1 \
    --node-locations us-west1-c

Contoh

Perintah berikut membuat cluster regional yang terdaftar di saluran rilis regular (default), dengan dua node yang terletak di zona us-west1-c:

gcloud container clusters create my-regional-cluster \
    --region us-west1 \
    --node-locations us-west1-c \
    --num-nodes 2

Konsol

  1. Buka halaman Google Kubernetes Engine di konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Klik Create.

  3. Di bagian Cluster basics, selesaikan langkah berikut:

    1. Masukkan Name untuk cluster Anda.
    2. Untuk Location type, pilih Regional, lalu pilih region untuk cluster Anda.
    3. Jika Anda ingin mengganti lokasi node default (misalnya untuk berjalan di satu zona), pilih kotak centang Specify default node locations, lalu pilih zona tempat Anda ingin menjalankan node pool.

    4. Pilih saluran rilis. Secara opsional, Anda dapat memilih Tidak ada saluran dari menu drop-down, tetapi sebaiknya Anda meninjau perbandingan antara cluster yang terdaftar dan tidak terdaftar di saluran rilis sebelum memilih opsi ini. GKE secara otomatis mengupgrade cluster yang tidak berada di saluran rilis dengan versi dari saluran Stabil.

    5. Opsional: Tentukan versi kontrol plane dari menu drop-down Version.

  4. Opsional (tersedia dengan GKE Enterprise): Jika ingin mendaftarkan cluster baru ke fleet, buka bagian Pendaftaran fleet, lalu ikuti petunjuk Konsol Google Cloud untuk Membuat dan mendaftarkan cluster baru guna menyelesaikan pendaftaran cluster Anda.

  5. Dari panel navigasi, di bagian Node Pools, klik default-pool.

  6. Di bagian Detail kumpulan node, selesaikan langkah berikut:

    1. Masukkan Nama untuk Kumpulan node default.
    2. Opsional: Pilih Node version.
    3. Masukkan Jumlah node yang akan dibuat di cluster. Anda harus memiliki kuota resource yang tersedia untuk node dan resource-nya (seperti rute firewall).
    4. Opsional: Anda dapat memilih untuk menonaktifkan upgrade otomatis node, tetapi sebaiknya Anda meninjau pertimbangan sebelum menonaktifkan upgrade otomatis node sebelum memilih opsi ini.
  7. Dari panel navigasi, di bagian Node Pools, klik Nodes.

  8. Dari menu drop-down Image type, pilih node image.

  9. Pilih Machine configuration default yang akan digunakan untuk instance. Setiap jenis mesin ditagih secara berbeda. Jenis mesin default-nya adalah e2-medium. Untuk mengetahui informasi harga jenis mesin, lihat lembar harga jenis mesin.

  10. Dari menu drop-down Boot disk type, pilih disk type.

  11. Masukkan Boot disk size.

  12. Opsional: Dari panel navigasi, di bagian Node Pools, klik Security.

  13. Secara opsional, tentukan akun layanan IAM kustom untuk node Anda:
    1. Di halaman Setelan lanjutan, luaskan bagian Keamanan.
    2. Di menu Service account, pilih akun layanan pilihan Anda.

    Sebaiknya tentukan akun layanan IAM dengan hak istimewa minimal yang dapat digunakan node Anda, bukan akun layanan default Compute Engine. Untuk mempelajari cara membuat akun layanan dengan hak istimewa minimal, lihat Menggunakan akun layanan dengan hak istimewa terendah.

  14. Klik Create.

Terraform

Untuk membuat cluster regional dengan node pool satu zona menggunakan Terraform, lihat contoh berikut:

resource "google_container_cluster" "default" {
  name               = "gke-standard-regional-single-zone"
  location           = "us-west1"
  node_locations     = ["us-west1-c"]
  initial_node_count = 2

  # Set `deletion_protection` to `true` will ensure that one cannot
  # accidentally delete this instance by use of Terraform.
  deletion_protection = false
}

Untuk mempelajari lebih lanjut cara menggunakan Terraform, lihat Dukungan Terraform untuk GKE.

Berinteraksi dengan cluster menggunakan kubectl

Setelah membuat cluster, Anda perlu mengonfigurasi kubectl sebelum dapat berinteraksi dengan cluster dari command line.

Membuat cluster regional dengan node pool multi-zona

Petunjuk berikut menunjukkan cara membuat cluster regional dengan node pool multi-zona, yang merupakan penyiapan default. Bidang kontrol dan node cluster direplikasi ke beberapa zona dalam region yang ditentukan.

Anda dapat menggunakan gcloud CLI, konsol Google Cloud, atau Terraform untuk membuat cluster.

Jika Anda mengembangkan aplikasi GKE dengan Visual Studio Code, coba membuat cluster dengan Cloud Code.

gcloud

Untuk membuat cluster regional dengan gcloud CLI, gunakan salah satu perintah berikut dan ganti variabel berikut:

  • CLUSTER_NAME: nama cluster regional baru Anda.
  • COMPUTE_REGION: region untuk cluster Anda, seperti us-central1.
  • CHANNEL: jenis saluran rilis, yang dapat berupa salah satu dari rapid, regular, stable, atau None. Secara default, cluster akan didaftarkan dalam saluran rilis regular jika flag berikut tidak ditentukan: --cluster-version, --release-channel, --no-enable-autoupgrade, dan --no-enable-autorepair.
  • VERSION: versi yang ingin Anda tentukan untuk cluster.
  • Untuk region yang memiliki lebih dari tiga zona atau jika zona yang dipilih lebih sedikit, Anda dapat menggunakan flag --node-locations opsional untuk mengganti zona default tempat node direplikasi.

Sebaiknya tentukan akun layanan IAM dengan hak istimewa minimal yang dapat digunakan node Anda, bukan akun layanan default Compute Engine. Untuk mempelajari cara membuat akun layanan dengan hak istimewa minimal, lihat Menggunakan akun layanan dengan hak istimewa terendah.

Untuk menentukan akun layanan kustom di gcloud CLI, tambahkan flag berikut ke perintah Anda:

--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

Ganti SERVICE_ACCOUNT_NAME dengan nama akun layanan dengan hak istimewa minimal.

Menggunakan saluran rilis tertentu:

Untuk membuat cluster baru menggunakan saluran rilis tertentu, jalankan perintah berikut:

gcloud container clusters create CLUSTER_NAME \
    --region COMPUTE_REGION \
    --release-channel CHANNEL

Menggunakan versi tertentu:

Untuk membuat cluster baru menggunakan versi cluster tertentu, jalankan perintah berikut:

gcloud container clusters create CLUSTER_NAME \
    --region COMPUTE_REGION \
    --cluster-version VERSION

Menggunakan versi default untuk cluster yang tidak terdaftar di saluran rilis:

Untuk membuat cluster baru menggunakan versi default untuk cluster yang tidak terdaftar di saluran rilis, Anda tidak perlu menentukan versi cluster, tetapi harus menetapkan saluran rilis ke None:

gcloud container clusters create CLUSTER_NAME \
    --region COMPUTE_REGION \
    --release-channel None

Contoh

Perintah berikut membuat cluster regional yang terdaftar di saluran rilis regular, dengan sembilan node di us-west1 (tiga zona dengan tiga node masing-masing, secara default):

gcloud container clusters create my-regional-cluster --region us-west1

Contoh

Perintah berikut membuat cluster regional yang terdaftar di saluran rilis regular, dengan enam node (tiga zona dengan dua node masing-masing, ditentukan oleh --num-nodes):

gcloud container clusters create my-regional-cluster \
    --region us-west1 \
    --num-nodes 2

Contoh

Perintah berikut membuat cluster regional yang terdaftar di saluran rilis regular, dengan enam node di dua zona (dua zona, ditentukan oleh --node-locations, dengan tiga node masing-masing):

gcloud container clusters create my-regional-cluster \
    --region us-central1 \
    --node-locations us-central1-b,us-central1-c

Konsol

  1. Buka halaman Google Kubernetes Engine di konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Klik Create.

  3. Di bagian Cluster basics, selesaikan langkah berikut:

    1. Masukkan Name untuk cluster Anda.
    2. Untuk Location type, pilih Regional, lalu pilih region untuk cluster Anda.
    3. Jika Anda ingin mengganti lokasi node default (misalnya untuk berjalan di satu zona), pilih kotak centang Specify default node locations, lalu pilih zona tempat Anda ingin menjalankan node pool.

    4. Pilih saluran rilis. Secara opsional, Anda dapat memilih Tidak ada saluran dari menu drop-down, tetapi sebaiknya Anda meninjau perbandingan antara cluster yang terdaftar dan tidak terdaftar di saluran rilis sebelum memilih opsi ini. GKE secara otomatis mengupgrade cluster yang tidak berada di saluran rilis dengan versi dari saluran Stabil.

    5. Opsional: Tentukan versi kontrol plane dari menu drop-down Version.

  4. Opsional (tersedia dengan GKE Enterprise): Jika ingin mendaftarkan cluster baru ke fleet, buka bagian Pendaftaran fleet, lalu ikuti petunjuk Konsol Google Cloud untuk Membuat dan mendaftarkan cluster baru guna menyelesaikan pendaftaran cluster Anda.

  5. Dari panel navigasi, di bagian Node Pools, klik default-pool.

  6. Di bagian Detail kumpulan node, selesaikan langkah berikut:

    1. Masukkan Nama untuk Kumpulan node default.
    2. Opsional: Pilih Node version.
    3. Masukkan Jumlah node yang akan dibuat di cluster. Anda harus memiliki kuota resource yang tersedia untuk node dan resource-nya (seperti rute firewall).
    4. Opsional: Anda dapat memilih untuk menonaktifkan upgrade otomatis node, tetapi sebaiknya Anda meninjau pertimbangan sebelum menonaktifkan upgrade otomatis node sebelum memilih opsi ini.
  7. Dari panel navigasi, di bagian Node Pools, klik Nodes.

  8. Dari menu drop-down Image type, pilih node image.

  9. Pilih Machine configuration default yang akan digunakan untuk instance. Setiap jenis mesin ditagih secara berbeda. Jenis mesin default-nya adalah e2-medium. Untuk mengetahui informasi harga jenis mesin, lihat lembar harga jenis mesin.

  10. Dari menu drop-down Boot disk type, pilih disk type.

  11. Masukkan Boot disk size.

  12. Opsional: Dari panel navigasi, di bagian Node Pools, klik Security.

  13. Secara opsional, tentukan akun layanan IAM kustom untuk node Anda:
    1. Di halaman Setelan lanjutan, luaskan bagian Keamanan.
    2. Di menu Service account, pilih akun layanan pilihan Anda.

    Sebaiknya tentukan akun layanan IAM dengan hak istimewa minimal yang dapat digunakan node Anda, bukan akun layanan default Compute Engine. Untuk mempelajari cara membuat akun layanan dengan hak istimewa minimal, lihat Menggunakan akun layanan dengan hak istimewa terendah.

  14. Klik Create.

Terraform

Untuk membuat cluster regional dengan node pool multi-zona menggunakan Terraform, lihat contoh berikut:

resource "google_container_cluster" "default" {
  name               = "gke-standard-regional-multi-zone"
  location           = "us-central1"
  node_locations     = ["us-central1-b", "us-central1-c"]
  initial_node_count = 2

  # Set `deletion_protection` to `true` will ensure that one cannot
  # accidentally delete this instance by use of Terraform.
  deletion_protection = false
}

Untuk mempelajari lebih lanjut cara menggunakan Terraform, lihat Dukungan Terraform untuk GKE.

Berinteraksi dengan cluster menggunakan kubectl

Setelah membuat cluster, Anda perlu mengonfigurasi kubectl sebelum dapat berinteraksi dengan cluster dari command line.

Langkah berikutnya