Membuat cluster zona


Halaman ini menunjukkan cara membuat cluster zona Standar dengan fitur default yang diaktifkan di Google Kubernetes Engine (GKE). Cluster zona memiliki satu bidang kontrol dalam satu zona. Bergantung pada persyaratan ketersediaan, Anda dapat memilih untuk mendistribusikan node untuk cluster zona di satu zona atau di beberapa zona.

Praktik terbaik: Gunakan cluster regional untuk menjalankan workload produksi karena cluster tersebut menawarkan ketersediaan yang lebih tinggi daripada cluster zona.

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

Zona tunggal versus multi-zona

Cluster zona tunggal memiliki satu bidang kontrol yang berjalan di satu zona. Bidang kontrol ini mengelola workload pada node yang berjalan di zona yang sama. Jika Anda menjalankan workload di satu zona, workload ini tidak akan tersedia saat terjadi pemadaman layanan zona tertentu.

Node cluster multi-zona berjalan di beberapa zona, tetapi hanya memiliki satu replika bidang kontrol. Jika Anda menjalankan workload di beberapa zona dan terjadi pemadaman zona, workload akan terganggu di zona tersebut, tetapi tetap tersedia di zona lainnya.

Jika Anda memerlukan ketersediaan yang lebih tinggi untuk bidang kontrol, pertimbangkan untuk membuat cluster regional. Dalam cluster regional, bidang kontrol direplikasi di beberapa zona dalam satu region.

Setelah membuat cluster, Anda tidak dapat mengubahnya dari zona ke regional, atau regional ke zona.

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.
  • Cluster multi-zona menggunakan lebih banyak resource daripada cluster zona tunggal. Jika Anda membuat cluster multi-zona, pastikan Anda memiliki kuota yang mencukupi.
  • Pastikan Anda memiliki izin yang tepat untuk membuat cluster. Minimal, Anda harus menjadi Admin Cluster Kubernetes Engine.
  • Jika ingin mendaftarkan cluster baru Anda ke fleet, pastikan Anda memiliki API dan izin yang diperlukan.

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 New principals, 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 zona

Informasi minimum yang perlu Anda tentukan saat membuat cluster zonal baru adalah nama, project (biasanya project saat ini), dan zona (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 di bagian 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.

Anda dapat membuat cluster zona menggunakan gcloud CLI, Google Cloud Console, atau Terraform.

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

gcloud

Untuk membuat cluster zona dengan gcloud CLI, gunakan salah satu perintah berikut.

Ganti kode berikut:

  • CLUSTER_NAME: nama cluster baru.
  • 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.
  • COMPUTE_ZONE: zona komputasi untuk bidang kontrol cluster.
  • VERSION: versi yang ingin Anda tentukan untuk cluster.
  • COMPUTE_ZONE,COMPUTE_ZONE1,[...]: zona tempat node dibuat. Anda dapat menentukan zona sebanyak mungkin yang dibutuhkan untuk cluster Anda. Semua zona harus berada di region yang sama dengan bidang kontrol cluster, yang ditentukan oleh flag --zone. Untuk cluster zona, --node-locations harus berisi zona utama 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 \
    --release-channel CHANNEL \
    --zone COMPUTE_ZONE \
    --node-locations COMPUTE_ZONE,COMPUTE_ZONE1

Menggunakan versi tertentu:

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

gcloud container clusters create CLUSTER_NAME \
    --cluster-version VERSION \
    --zone COMPUTE_ZONE \
    --node-locations COMPUTE_ZONE,COMPUTE_ZONE1

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 \
    --release-channel None \
    --zone COMPUTE_ZONE \
    --node-locations COMPUTE_ZONE,COMPUTE_ZONE1

Contoh

Perintah berikut akan membuat cluster multi-zona bernama example-cluster, dengan bidang kontrol cluster di zona us-central-a, dan ada tiga lokasi node. Cluster terdaftar di saluran rilis regular.

Jika flag --num-nodes dihapus, jumlah default node per zona yang dibuat oleh cluster adalah tiga. Karena tiga zona telah ditentukan, perintah ini akan membuat cluster node dengan tiga node masing-masing di us-central1-a, us-central1-b, dan us-central1-c.

gcloud container clusters create example-cluster \
    --zone us-central1-a \
    --node-locations us-central1-a,us-central1-b,us-central1-c

Konsol

Untuk membuat cluster zona dengan Konsol Google Cloud, lakukan tugas berikut:

  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 Zonal, lalu pilih zone untuk cluster Anda.
    3. Jika Anda membuat cluster multi-zona, pilih kotak centang Specify default node locations, lalu pilih zona tambahan tempat Anda ingin menjalankan kumpulan node.

    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 zona dengan node pool satu zona menggunakan Terraform, lihat contoh berikut:

resource "google_container_cluster" "default" {
  name               = "gke-standard-zonal-single-zone"
  location           = "us-central1-a"
  initial_node_count = 1

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

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

resource "google_container_cluster" "default" {
  name               = "gke-standard-zonal-multi-zone"
  location           = "us-central1-a"
  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.

Template cluster

GKE sebelumnya mendukung template untuk cluster. Template tersebut telah dihapus dari Konsol Google Cloud, tetapi masih dapat diakses dari link berikut:

Langkah berikutnya

Coba sendiri

Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa GKE dalam skenario dunia nyata. Pelanggan baru mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.

Coba GKE gratis