Membuat cluster dan node pool Standar dengan node Arm


Halaman ini menjelaskan cara membuat cluster GKE Standard atau node pool dengan node Arm, sehingga Anda dapat menjalankan workload Arm di Google Kubernetes Engine (GKE). Untuk mempelajari cara men-deploy workload Arm di cluster Autopilot, lihat Men-deploy workload Autopilot di arsitektur Arm.

Anda dapat membuat cluster dengan node Arm menggunakan seri mesin C4A atau seri mesin Tau T2A. Untuk mempelajari manfaat Arm lebih lanjut dan memilih seri mesin terbaik untuk workload Anda, lihat VM Arm di Compute.

Dengan GKE, Anda dapat membuat cluster yang memiliki node pool dengan satu jenis arsitektur (misalnya, Arm), atau beberapa jenis arsitektur (misalnya, Arm dan x86). Saat menjalankan node dengan beberapa jenis arsitektur, Anda dapat men-deploy workload di seluruh arsitektur ke cluster yang sama.

Untuk mempelajari lebih lanjut cara menggunakan node Arm dengan cluster GKE, lihat Workload Arm di GKE.

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 dengan node pool Arm

Petunjuk berikut menjelaskan cara membuat cluster baru dengan node pool yang menjalankan node Arm dari rangkaian mesin C4A atau rangkaian mesin Tau T2A.

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

gcloud

Buat cluster zona baru dengan node pool default menggunakan node Arm:

gcloud container clusters create CLUSTER_NAME \
    --zone ZONE  \
    --node-locations NODE_LOCATIONS \
    --machine-type ARM_MACHINE_TYPE \
    --num-nodes NUM_NODES

Ganti yang berikut ini:

  • CLUSTER_NAME: nama cluster baru dengan node pool Arm.
  • ZONE: zona untuk cluster Anda, seperti us-central1-a. Zona harus merupakan salah satu zona yang tersedia untuk seri mesin Arm yang Anda pilih. Untuk membuat cluster regional, gunakan flag --region=REGION. Region harus merupakan salah satu region yang tersedia untuk seri mesin Arm yang Anda pilih.
  • NODE_LOCATIONS: zona untuk node pool Anda, seperti us-central1-a. Anda harus memilih dari zona yang tersedia untuk seri mesin Arm atau pembuatan node pool mungkin gagal.
  • ARM_MACHINE_TYPE: salah satu bentuk mesin C4A atau bentuk mesin T2A yang tersedia, seperti c4a-standard-8 atau t2a-standard-16.
  • NUM_NODES: jumlah node untuk node pool Arm 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.

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.

Jika Anda ingin menetapkan setelan tambahan untuk cluster, baca referensi gcloud container clusters create untuk daftar lengkap setelan yang tersedia terkait pembuatan cluster.

Konsol

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

    Buka Google Kubernetes Engine

  2. Klik Buat.

  3. Konfigurasikan cluster Anda. Untuk informasi selengkapnya, lihat petunjuk untuk Membuat cluster zona, atau Membuat cluster regional.

  4. Pilih lokasi tempat node Arm tersedia.

    1. Di bagian Cluster basics, pada Location type, pilih Zonal atau Regional:
    2. Di menu drop-down, pilih zona atau region tempat node Arm tersedia.
    3. Centang kotak Specify default node locations. Pilih zona tempat node Arm tersedia.
  5. Untuk memilih jenis mesin Arm, di subbagian Nodes, di bagian Configure node settings > Machine configuration > Machine family, pilih GENERAL-PURPOSE. Di menu drop-down Seri, pilih C4A atau T2A. Di menu drop-down Machine type, pilih dari opsi yang tersedia.

  6. 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.

  7. Klik Create.

Terraform

Untuk membuat cluster zona dengan node pool default menggunakan node Arm menggunakan Terraform, lihat contoh berikut:

resource "google_container_cluster" "default" {
  name               = "gke-standard-zonal-arm-cluster"
  location           = "us-central1-a"
  node_locations     = ["us-central1-b", "us-central1-f"]
  initial_node_count = 2

  node_config {
    machine_type    = "t2a-standard-1"
    service_account = google_service_account.default.email
  }

  # 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.

Menambahkan node pool Arm ke cluster GKE

Anda dapat menambahkan node pool baru ke cluster GKE Standard menggunakan gcloud CLI, Konsol Google Cloud, atau Terraform.

Sebagai praktik terbaik untuk membuat cluster GKE menggunakan jenis node apa pun, sebaiknya buat dan gunakan akun layanan Identity and Access Management (IAM) dengan hak istimewa minimal untuk digunakan bersama node pool Anda, alih-alih akun layanan default Compute Engine. Untuk petunjuk tentang cara membuat akun layanan dengan hak istimewa minimal, lihat Meningkatkan keamanan cluster.

gcloud

Tambahkan node pool Arm ke cluster yang ada:

gcloud container node-pools create NODE_POOL_NAME \
    --cluster CLUSTER_NAME \
    --zone ZONE \
    --node-locations NODE_LOCATIONS \
    --machine-type ARM_MACHINE_TYPE \
    --num-nodes NUM_NODES \
    --service-account SERVICE_ACCOUNT

Ganti yang berikut ini:

  • NODE_POOL_NAME: nama node pool Arm baru untuk cluster yang ada.
  • ZONE: zona cluster yang ada. Untuk cluster regional, gunakan flag --region=REGION dengan region cluster.
  • CLUSTER_NAME: nama cluster tempat Anda ingin menambahkan node pool Arm.
  • NODE_LOCATIONS: zona untuk node pool Anda, seperti us-central1-a. Anda harus memilih dari zona yang tersedia untuk seri mesin Arm atau pembuatan node pool mungkin gagal.
  • ARM_MACHINE_TYPE: salah satu bentuk mesin C4A atau bentuk mesin T2A yang tersedia, seperti c4a-standard-8 atau t2a-standard-16.
  • NUM_NODES: jumlah node untuk node pool Arm 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.

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.

Jika Anda ingin menetapkan setelan tambahan untuk node pool, lihat referensi gcloud container node-pools create untuk daftar lengkap setelan yang tersedia terkait pembuatan node pool.

Konsol

Untuk menambahkan node pool Arm ke cluster yang ada, lakukan langkah-langkah berikut:

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

    Buka Google Kubernetes Engine

  2. Di daftar cluster, klik nama cluster yang ingin diubah.

  3. Klik Add node pool.

  4. Konfigurasi node pool Anda.

  5. Pilih lokasi node tempat node Arm tersedia.

    1. Di bagian Node pool details, centang kotak Specify node locations.
    2. Pilih zona tempat node Arm tersedia.
  6. Untuk memilih jenis mesin Arm, di subbagian Nodes, di bagian Configure node settings > Machine configuration > Machine family, pilih GENERAL-PURPOSE. Di menu drop-down Seri, pilih C4A atau T2A. Di menu drop-down Machine type, pilih dari opsi yang tersedia.

  7. Di menu navigasi, klik Security.

  8. 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.

  9. Klik Create untuk menambahkan node pool.

Terraform

Untuk menambahkan node pool yang menggunakan node Arm ke cluster yang ada menggunakan Terraform, lihat contoh berikut:

resource "google_container_node_pool" "default" {
  name           = "gke-standard-zonal-arm-node-pool"
  cluster        = google_container_cluster.default.id
  node_locations = ["us-central1-a"]
  node_count     = 1

  node_config {
    machine_type = "t2a-standard-1"

    service_account = google_service_account.default.email
  }
}

Ganti google_container_cluster.default.id dengan nama cluster Anda.

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

Langkah selanjutnya