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 quotas tambahan.

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

Petunjuk di bagian berikut menunjukkan cara:

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 initialize gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan gcloud components update.

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, Google Cloud Console, atau Terraform untuk membuat cluster.

Jika Anda mengembangkan aplikasi GKE dengan Cloud Code untuk VS Code, coba buat 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 kumpulan node 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.

Dalam perintah berikut, Anda memiliki pilihan untuk menggunakan flag --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com untuk menentukan akun layanan IAM berbeda yang digunakan node dalam node pool pertama cluster Anda, alih-alih layanan default Compute Engine. Flag ini bersifat opsional, tetapi sebaiknya Anda membuat akun layanan dengan hak istimewa minimal agar node Anda tidak memiliki hak istimewa lain lebih dari yang diperlukan.

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 Anda 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. Anda dapat memilih No channel dari menu drop-down. Namun, sebaiknya Anda meninjau kapan sebaiknya tidak mendaftarkan cluster 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 bidang kontrol dari menu drop-down Versi.

  4. Opsional (tersedia di GKE Enterprise): Jika Anda ingin mendaftarkan cluster baru ke sebuah fleet, buka bagian Pendaftaran perangkat, 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 Versi node.
    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 tinjau 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 image node.

  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. Opsional: Dari menu drop-down Service account, pilih akun layanan Identity and Access Management (IAM) untuk aplikasi Anda yang akan digunakan saat memanggil Google Cloud API. Sebaiknya gunakan akun layanan dengan hak istimewa minimal, bukan akun layanan default, sehingga node Anda tidak memiliki hak istimewa lain lebih dari yang diperlukan.

  14. Klik Create.

Terraform

Untuk membuat cluster regional dengan kumpulan node zona tunggal 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, baca bagian 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, Google Cloud Console, 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.

Dalam perintah berikut, Anda memiliki pilihan untuk menggunakan flag --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com untuk menentukan akun layanan IAM berbeda yang digunakan node dalam node pool pertama cluster Anda, alih-alih layanan default Compute Engine. Flag ini bersifat opsional, tetapi sebaiknya Anda membuat dan menggunakan akun layanan dengan hak istimewa minimal agar node Anda tidak memiliki hak istimewa lain lebih dari yang diperlukan.

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 Anda 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. Anda dapat memilih No channel dari menu drop-down. Namun, sebaiknya Anda meninjau kapan sebaiknya tidak mendaftarkan cluster 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 bidang kontrol dari menu drop-down Versi.

  4. Opsional (tersedia di GKE Enterprise): Jika Anda ingin mendaftarkan cluster baru ke sebuah fleet, buka bagian Pendaftaran perangkat, 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 Versi node.
    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 tinjau 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 image node.

  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. Opsional: Dari menu drop-down Service account, pilih akun layanan Identity and Access Management (IAM) untuk aplikasi Anda yang akan digunakan saat memanggil Google Cloud API. Sebaiknya gunakan akun layanan dengan hak istimewa minimal, bukan akun layanan default, sehingga node Anda tidak memiliki hak istimewa lain lebih dari yang diperlukan.

  14. Klik Create.

Terraform

Untuk membuat cluster regional dengan kumpulan node 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, baca bagian 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 selanjutnya