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.
  • Mengaktifkan 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.

Saat membuat cluster, Anda dapat memilih untuk menggunakan tanda --service-account guna menentukan akun layanan IAM lain yang digunakan oleh node dalam kumpulan node pertama cluster, bukan akun layanan default Compute Engine. Sebaiknya buat dan gunakan 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 Anda perlu 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 No channel dari menu drop-down, tetapi sebaiknya tinjau kapan untuk 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 Version.

  4. Opsional (tersedia dengan GKE Enterprise): Jika Anda ingin mendaftarkan cluster baru ke 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 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 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 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. 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 Anda menggunakan akun layanan dengan hak istimewa minimal, bukan menggunakan akun layanan default.

  14. Klik Create.

Terraform

Untuk membuat cluster regional dengan kumpulan node 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 penggunaan Terraform lebih lanjut, baca artikel 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.

Saat membuat cluster, Anda dapat memilih untuk menggunakan tanda --service-account guna menentukan akun layanan IAM lain yang digunakan oleh node dalam kumpulan node pertama cluster, bukan akun layanan default Compute Engine. Sebaiknya buat dan gunakan 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 Anda perlu 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 No channel dari menu drop-down, tetapi sebaiknya tinjau kapan untuk 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 Version.

  4. Opsional (tersedia dengan GKE Enterprise): Jika Anda ingin mendaftarkan cluster baru ke 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 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 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 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. 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 Anda menggunakan akun layanan dengan hak istimewa minimal, bukan menggunakan akun layanan default.

  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 penggunaan Terraform lebih lanjut, baca artikel 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