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
.
- Tinjau persyaratan dan batasan untuk node C4A dan T2A.
- Pastikan Anda memiliki izin yang tepat untuk membuat cluster. Minimal, Anda harus menjadi Admin Cluster Kubernetes Engine.
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
- Buka halaman Sambutan:
- Di kolom Project number, klik Copy to clipboard.
- Buka halaman IAM:
- Klik Berikan akses.
- Di kolom New principals, tentukan nilai berikut:
GantiPROJECT_NUMBER-compute@developer.gserviceaccount.com
PROJECT_NUMBER
dengan nomor project yang Anda salin. - Di menu Select a role, pilih peran Kubernetes Engine Default Node Service Account.
- Klik Simpan.
gcloud
- 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
- 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, sepertius-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, sepertius-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, sepertic4a-standard-8
ataut2a-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
Buka halaman Google Kubernetes Engine di konsol Google Cloud.
Klik add_box Buat.
Konfigurasikan cluster Anda. Untuk informasi selengkapnya, lihat petunjuk untuk Membuat cluster zona, atau Membuat cluster regional.
Pilih lokasi tempat node Arm tersedia.
- Di bagian Cluster basics, pada Location type, pilih Zonal atau Regional:
- Di menu drop-down, pilih zona atau region tempat node Arm tersedia.
- Centang kotak Specify default node locations. Pilih zona tempat node Arm tersedia.
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.
- Secara opsional, tentukan akun layanan IAM kustom untuk node Anda:
- Di halaman Setelan lanjutan, luaskan bagian Keamanan.
- 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.
Klik Create.
Terraform
Untuk membuat cluster zona dengan node pool default menggunakan node Arm menggunakan Terraform, lihat contoh berikut:
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, sepertius-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, sepertic4a-standard-8
ataut2a-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:
Buka halaman Google Kubernetes Engine di konsol Google Cloud.
Di daftar cluster, klik nama cluster yang ingin diubah.
Klik add_box Add node pool.
Konfigurasi node pool Anda.
Pilih lokasi node tempat node Arm tersedia.
- Di bagian Node pool details, centang kotak Specify node locations.
- Pilih zona tempat node Arm tersedia.
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.
Di menu navigasi, klik Security.
- Secara opsional, tentukan akun layanan IAM kustom untuk node Anda:
- Di halaman Setelan lanjutan, luaskan bagian Keamanan.
- 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.
Klik Create untuk menambahkan node pool.
Terraform
Untuk menambahkan node pool yang menggunakan node Arm ke cluster yang ada menggunakan Terraform, lihat contoh berikut:
Ganti google_container_cluster.default.id
dengan nama cluster Anda.
Untuk mempelajari lebih lanjut cara menggunakan Terraform, lihat Dukungan Terraform untuk GKE.
Langkah selanjutnya
- Membangun image multi-arsitektur untuk workload Arm
- Menyiapkan workload Arm untuk deployment
- Memigrasikan aplikasi x86 di GKE ke multi-arch dengan Arm