Halaman ini menunjukkan cara membuat cluster dan kumpulan node yang menggunakan instance khusus atau host khusus AWS. Host dan instance khusus dicadangkan untuk Anda gunakan sendiri dan tidak dibagikan kepada pelanggan AWS lainnya. Setelan untuk host dan instance khusus disebut tenancy.
Sebelum memulai
Untuk menggunakan instance atau host khusus dengan GKE di AWS, Anda harus membuat cluster baru versi 1.22.8-gke.200 atau yang lebih tinggi. Anda tidak dapat mengupgrade cluster yang ada dan menambahkan host khusus.
Persyaratan cluster
Sebelum membuat cluster, Anda harus menyelesaikan prasyarat. Secara khusus, Anda harus menyediakan referensi berikut:
- VPC AWS tempat cluster akan dijalankan.
- Hingga tiga subnet AWS untuk tiga replika bidang kontrol. Masing-masing harus berada di Zona Ketersediaan AWS yang berbeda.
- Peran IAM AWS yang diambil GKE di AWS saat mengelola cluster Anda. Tindakan ini memerlukan serangkaian izin IAM spesifik.
- Kunci CMK simetris KMS untuk enkripsi data cluster (dlld) dan konfigurasi dalam penyimpanan.
- Profil instance IAM AWS untuk setiap replika bidang kontrol. Tindakan ini memerlukan serangkaian izin IAM spesifik.
- Pasangan kunci SSH EC2 (opsional) jika Anda memerlukan akses SSH ke instance EC2 yang menjalankan setiap replika bidang kontrol.
Anda bertanggung jawab untuk membuat dan mengelola resource ini, yang dapat dibagikan di antara semua cluster Anthos Anda. Semua resource AWS dengan cakupan cluster dasar lainnya dikelola oleh GKE di AWS.
Petunjuk ini menggunakan GKE Multi-Cloud API untuk membuat cluster dan node pool. Untuk menggunakan GKE Multi-Cloud API, Anda harus memahami Google Cloud API.
Host terdedikasi dan instance khusus
Saat membuat cluster atau kumpulan node, pilih salah satu opsi berikut:
DEFAULT
: meluncurkan instance dengan tenant default VPC AndaDEDICATED
: meluncurkan instance pada instance khususHOST
: meluncurkan instance pada host khusus
Sebelum membuat cluster atau kumpulan node, tentukan opsi yang tepat untuk Anda.
Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi tenancy instance dengan konfigurasi peluncuran, instance khusus, dan host khusus di dokumentasi AWS.
Menggabungkan setelan tenancy dalam cluster
Anda dapat mengonfigurasi setelan tenancy satu per satu untuk setiap bidang kontrol dan kumpulan node. Misalnya, Anda dapat membuat cluster dengan bidang kontrol pada host bersama, satu kumpulan node pada host khusus, dan kumpulan node lain pada host bersama.
Alokasikan host khusus
Sebelum membuat cluster dengan host khusus, Anda harus mengalokasikan host untuk semua instance yang diperlukan cluster. Host harus memiliki atribut berikut:
- Gunakan kelompok instance yang sama dengan yang dibutuhkan resource cluster Anda
- Dialokasikan di zona yang sama tempat Anda berencana membuat cluster
- Aktifkan penempatan otomatis
- Anda memiliki kuota yang cukup untuk meluncurkan host khusus
Untuk mengetahui informasi selengkapnya tentang cara mengalokasikan host khusus, lihat Mulai menggunakan host khusus.
Batasan
Bagian ini mencantumkan batasan dukungan host khusus di GKE pada AWS.
Kumpulan node
Anda tidak dapat memperbarui setelan tenancy kumpulan node. Untuk memindahkan workload ke instance dengan setelan tenancy lain, buat kumpulan node baru dengan tenancy yang Anda inginkan, lalu hapus yang sudah ada.
Kelompok instance yang didukung
GKE di AWS mendukung host khusus dari jenis instance berikut.
- t3
- m5
- M5D
- c5
- C5D
- r5
- R5D
- i3en
Kelompok instance lainnya tidak didukung.
Jenis node
Hanya kumpulan node Linux yang didukung.
Membuat cluster
Anda membuat cluster yang mendukung host khusus dengan Method: projects.locations.awsClusters.create dengan GKE Multi-Cloud API. Untuk membuat cluster, lakukan langkah-langkah berikut:
gcloud
Contoh berikut membuat cluster dengan host khusus.Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- CLUSTER_NAME: nama cluster yang Anda pilih
- GOOGLE_CLOUD_LOCATION: region Google Cloud yang didukung yang mengelola cluster Anda—misalnya,
us-west1
- AWS_REGION: region AWS untuk membuat cluster di
- API_ROLE_ARN: ARN peran GKE Multi-Cloud API
- CONFIG_KMS_KEY_ARN: Amazon Resource Name (ARN) dari kunci AWS KMS untuk mengenkripsi data pengguna
- DB_KMS_KEY_ARN: Amazon Resource Name (ARN) dari kunci AWS KMS untuk mengenkripsi rahasia cluster
- CONTROL_PLANE_PROFILE: profil instance IAM yang terkait dengan cluster
- CONTROL_PLANE_SUBNET_1, CONTROL_PLANE_SUBNET_2, CONTROL_PLANE_SUBNET_3 dengan ID subnet untuk tiga instance bidang kontrol cluster Anda
- TENANCY_TYPE: Setelan untuk tenancy bidang kontrol.
Dapat berupa
DEFAULT
,DEDICATED
, atauHOST
. - CLUSTER_VERSION: Versi cluster yang didukung
- FLEET_PROJECT: project host Fleet tempat cluster akan didaftarkan. Jika Anda ingin mengelola cluster ini dari Project lain, lihat Pendaftaran lintas project
- POD_ADDRESS_CIDR_BLOCKS: rentang alamat CIDR untuk pod cluster Anda
- SERVICE_ADDRESS_CIDR_BLOCKS: rentang alamat CIDR untuk layanan cluster Anda
- VPC_ID: ID VPC AWS untuk cluster ini
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud alpha container aws clusters create CLUSTER_NAME \ --location GOOGLE_CLOUD_LOCATION \ --aws-region AWS_REGION \ --role-arn API_ROLE_ARN \ --config-encryption-kms-key-arn CONFIG_KMS_KEY_ARN \ --database-encryption-kms-key-arn DB_KMS_KEY_ARN \ --iam-instance-profile CONTROL_PLANE_PROFILE \ --subnet-ids CONTROL_PLANE_SUBNET_1,CONTROL_PLANE_SUBNET_2,CONTROL_PLANE_SUBNET_3 \ --instance-placement TENANCY_TYPE --cluster-version CLUSTER_VERSION \ --fleet-project FLEET_PROJECT \ --pod-address-cidr-blocks POD_ADDRESS_CIDR_BLOCKS \ --service-address-cidr-blocks SERVICE_ADDRESS_CIDR_BLOCKS \ --vpc-id VPC_ID \ --tags="control-plane=CLUSTER_NAME"
Windows (PowerShell)
gcloud alpha container aws clusters create CLUSTER_NAME ` --location GOOGLE_CLOUD_LOCATION ` --aws-region AWS_REGION ` --role-arn API_ROLE_ARN ` --config-encryption-kms-key-arn CONFIG_KMS_KEY_ARN ` --database-encryption-kms-key-arn DB_KMS_KEY_ARN ` --iam-instance-profile CONTROL_PLANE_PROFILE ` --subnet-ids CONTROL_PLANE_SUBNET_1,CONTROL_PLANE_SUBNET_2,CONTROL_PLANE_SUBNET_3 ` --instance-placement TENANCY_TYPE --cluster-version CLUSTER_VERSION ` --fleet-project FLEET_PROJECT ` --pod-address-cidr-blocks POD_ADDRESS_CIDR_BLOCKS ` --service-address-cidr-blocks SERVICE_ADDRESS_CIDR_BLOCKS ` --vpc-id VPC_ID ` --tags="control-plane=CLUSTER_NAME"
Windows (cmd.exe)
gcloud alpha container aws clusters create CLUSTER_NAME ^ --location GOOGLE_CLOUD_LOCATION ^ --aws-region AWS_REGION ^ --role-arn API_ROLE_ARN ^ --config-encryption-kms-key-arn CONFIG_KMS_KEY_ARN ^ --database-encryption-kms-key-arn DB_KMS_KEY_ARN ^ --iam-instance-profile CONTROL_PLANE_PROFILE ^ --subnet-ids CONTROL_PLANE_SUBNET_1,CONTROL_PLANE_SUBNET_2,CONTROL_PLANE_SUBNET_3 ^ --instance-placement TENANCY_TYPE --cluster-version CLUSTER_VERSION ^ --fleet-project FLEET_PROJECT ^ --pod-address-cidr-blocks POD_ADDRESS_CIDR_BLOCKS ^ --service-address-cidr-blocks SERVICE_ADDRESS_CIDR_BLOCKS ^ --vpc-id VPC_ID ^ --tags="control-plane=CLUSTER_NAME"
REST
Contoh berikut membuat cluster dengan host khusus.Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- ENDPOINT: endpoint layanan Google Cloud Anda
- PROJECT_ID: proyek Google Cloud Anda
- USERNAME: pengguna yang dapat menjalankan operasi sebagai admin cluster
- CLUSTER_NAME: nama cluster yang Anda pilih
- GOOGLE_CLOUD_LOCATION: region Google Cloud yang didukung yang mengelola cluster Anda—misalnya,
us-west1
- AWS_REGION: region AWS untuk membuat cluster di
- API_ROLE_ARN: ARN peran GKE Multi-Cloud API
- CONFIG_KMS_KEY_ARN: Amazon Resource Name (ARN) dari kunci AWS KMS untuk mengenkripsi data pengguna
- DB_KMS_KEY_ARN: Amazon Resource Name (ARN) dari kunci AWS KMS untuk mengenkripsi rahasia cluster
- CONTROL_PLANE_PROFILE: profil instance IAM yang terkait dengan cluster
- CONTROL_PLANE_SUBNET_1, CONTROL_PLANE_SUBNET_2, CONTROL_PLANE_SUBNET_3 dengan ID subnet untuk tiga instance bidang kontrol cluster Anda
- TENANCY_TYPE: Setelan untuk tenancy bidang kontrol.
Dapat berupa
DEFAULT
,DEDICATED
, atauHOST
. - CLUSTER_VERSION: Versi cluster yang didukung
- FLEET_PROJECT: project host Fleet tempat cluster akan didaftarkan. Jika Anda ingin mengelola cluster ini dari Project lain, lihat Pendaftaran lintas project
- POD_ADDRESS_CIDR_BLOCKS: rentang alamat CIDR untuk pod cluster Anda
- SERVICE_ADDRESS_CIDR_BLOCKS: rentang alamat CIDR untuk layanan cluster Anda
- VPC_ID: ID VPC AWS untuk cluster ini
Metode HTTP dan URL:
POST ENDPOINT/projects/PROJECT_ID/locations/GOOGLE_CLOUD_LOCATION/awsClusters
Meminta isi JSON:
{ "name": "CLUSTER_NAME", "authorization": { "adminUsers": [ { "username": "USERNAME" } ] }, "awsRegion": "AWS_REGION", "controlPlane": { "awsServicesAuthentication": { "roleArn": "API_ROLE_ARN" }, "configEncryption": { "kmsKeyArn": "CONFIG_KMS_KEY_ARN" }, "databaseEncryption": { "kmsKeyArn": "DB_KMS_KEY_ARN" }, "iamInstanceProfile": "CONTROL_PLANE_PROFILE", "mainVolume": {}, "rootVolume": {}, "sshConfig": {}, "subnetIds": [ "CONTROL_PLANE_SUBNET_1", "CONTROL_PLANE_SUBNET_2", "CONTROL_PLANE_SUBNET_3" ], "tags": { "google:gkemulticloud:cluster": "CLUSTER_NAME" }, "instancePlacement": { "tenancy": "TENANCY_TYPE" }, "version": "CLUSTER_VERSION" }, "fleet": { "project": "FLEET_PROJECT" }, "networking": { "podAddressCidrBlocks": [ "POD_ADDRESS_CIDR_BLOCKS" ], "serviceAddressCidrBlocks": [ "SERVICE_ADDRESS_CIDR_BLOCKS" ], "vpcId": "VPC_ID" } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan menerima kode status yang berhasil (2xx), serta respons yang kosong.
Untuk opsi tambahan, lihat dokumentasi referensi Metode: projects.locations.awsClusters.create.
Membuat node pool
gcloud
Contoh berikut akan membuat kumpulan node dengan host khusus. Saat Anda membuat kumpulan node, semua instance dalam kumpulan tersebut memiliki jenis instance dan setelan tenancy yang sama.Sebelum menggunakan salah satu data perintah di bawah, lakukan penggantian berikut:
- GOOGLE_CLOUD_LOCATION: region Google Cloud yang didukung
- CLUSTER_NAME: nama cluster Anda
- NODE_POOL_NAME: nama kumpulan node
yang mengelola cluster Anda—misalnya,
us-west1
- MIN_NODES: jumlah minimum node yang dapat ditampung kumpulan node
- MAX_NODES: jumlah maksimum node yang dapat ditampung kumpulan node
- CONFIG_KMS_KEY_ARN: Amazon Resource Name (ARN) dari kunci AWS KMS yang mengenkripsi data pengguna
- NODEPOOL_PROFILE: profil instance IAM untuk VM kumpulan node
- ROOT_VOLUME_SIZE: ukuran yang diinginkan untuk volume root setiap node, dalam Gb
- TENANCY_TYPE: Setelan untuk tenancy bidang kontrol.
Dapat berupa
DEFAULT
,DEDICATED
, atauHOST
. - INSTANCE_TYPE: jenis instance mesin AWS yang diinginkan untuk kumpulan node ini
- NODEPOOL_SUBNET: ID subnet tempat kumpulan node akan dijalankan. Jika subnet ini berada di luar blok CIDR utama VPC, beberapa langkah tambahan diperlukan. Untuk mengetahui informasi selengkapnya, lihat grup keamanan.
- CLUSTER_VERSION: Versi cluster yang didukung
Jalankan perintah berikut:
Linux, macOS, atau Cloud Shell
gcloud alpha container aws node-pools create NODE_POOL_NAME \ --cluster CLUSTER_NAME \ --location GOOGLE_CLOUD_LOCATION \ --min-nodes MIN_NODES \ --max-nodes MAX_NODES \ --config-encryption-kms-key-arn CONFIG_KMS_KEY_ARN \ --iam-instance-profile NODEPOOL_PROFILE \ --root-volume-size ROOT_VOLUME_SIZE \ --instance-placement TENANCY_TYPE --instance-type INSTANCE_TYPE \ --subnet-id NODEPOOL_SUBNET \ --ssh-ec2-key-pair SSH_KEY_PAIR_NAME \ --node-version CLUSTER_VERSION \ --max-pods-per-node 110 \ --tags "Name=CLUSTER_NAME-NODE_POOL_NAME"
Windows (PowerShell)
gcloud alpha container aws node-pools create NODE_POOL_NAME ` --cluster CLUSTER_NAME ` --location GOOGLE_CLOUD_LOCATION ` --min-nodes MIN_NODES ` --max-nodes MAX_NODES ` --config-encryption-kms-key-arn CONFIG_KMS_KEY_ARN ` --iam-instance-profile NODEPOOL_PROFILE ` --root-volume-size ROOT_VOLUME_SIZE ` --instance-placement TENANCY_TYPE --instance-type INSTANCE_TYPE ` --subnet-id NODEPOOL_SUBNET ` --ssh-ec2-key-pair SSH_KEY_PAIR_NAME ` --node-version CLUSTER_VERSION ` --max-pods-per-node 110 ` --tags "Name=CLUSTER_NAME-NODE_POOL_NAME"
Windows (cmd.exe)
gcloud alpha container aws node-pools create NODE_POOL_NAME ^ --cluster CLUSTER_NAME ^ --location GOOGLE_CLOUD_LOCATION ^ --min-nodes MIN_NODES ^ --max-nodes MAX_NODES ^ --config-encryption-kms-key-arn CONFIG_KMS_KEY_ARN ^ --iam-instance-profile NODEPOOL_PROFILE ^ --root-volume-size ROOT_VOLUME_SIZE ^ --instance-placement TENANCY_TYPE --instance-type INSTANCE_TYPE ^ --subnet-id NODEPOOL_SUBNET ^ --ssh-ec2-key-pair SSH_KEY_PAIR_NAME ^ --node-version CLUSTER_VERSION ^ --max-pods-per-node 110 ^ --tags "Name=CLUSTER_NAME-NODE_POOL_NAME"
REST
Contoh berikut akan membuat kumpulan node dengan host khusus. Saat Anda membuat kumpulan node, semua instance dalam kumpulan tersebut memiliki jenis instance dan setelan tenancy yang sama.Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- ENDPOINT: endpoint layanan Google Cloud Anda
- PROJECT_ID: proyek Google Cloud Anda
- USERNAME: pengguna yang dapat menjalankan operasi sebagai admin cluster
- GOOGLE_CLOUD_LOCATION: region Google Cloud yang didukung
- CLUSTER_NAME: nama cluster Anda
- NODE_POOL_NAME: nama kumpulan node
yang mengelola cluster Anda—misalnya,
us-west1
- MIN_NODES: jumlah minimum node yang dapat ditampung kumpulan node
- MAX_NODES: jumlah maksimum node yang dapat ditampung kumpulan node
- CONFIG_KMS_KEY_ARN: Amazon Resource Name (ARN) dari kunci AWS KMS yang mengenkripsi data pengguna
- NODEPOOL_PROFILE: profil instance IAM untuk VM kumpulan node
- ROOT_VOLUME_SIZE: ukuran yang diinginkan untuk volume root setiap node, dalam Gb
- TENANCY_TYPE: Setelan untuk tenancy bidang kontrol.
Dapat berupa
DEFAULT
,DEDICATED
, atauHOST
. - INSTANCE_TYPE: jenis instance mesin AWS yang diinginkan untuk kumpulan node ini
- NODEPOOL_SUBNET: ID subnet tempat kumpulan node akan dijalankan. Jika subnet ini berada di luar blok CIDR utama VPC, beberapa langkah tambahan diperlukan. Untuk mengetahui informasi selengkapnya, lihat grup keamanan.
- CLUSTER_VERSION: Versi cluster yang didukung
Metode HTTP dan URL:
POST ENDPOINT/projects/PROJECT_ID/locations/GOOGLE_CLOUD_LOCATION/CLUSTER_NAME/awsNodePools
Meminta isi JSON:
{ "name": "NODE_POOL_NAME", "autoscaling": { "minNodeCount": MIN_NODES, "maxNodeCount": MAX_NODES }, "config": { "configEncryption": { "kmsKeyArn": "CONFIG_KMS_KEY_ARN" }, "iamInstanceProfile": "NODEPOOL_PROFILE", "rootVolume": { "sizeGib": ROOT_VOLUME_SIZE }, "instancePlacement": { "tenancy": "TENANCY_TYPE" }, "instanceType" : "INSTANCE_TYPE" "tags": { "google:gkemulticloud:cluster": "NODE_POOL_NAME" } }, "maxPodsConstraint": { "maxPodsPerNode": "110" }, "subnetId": "NODEPOOL_SUBNET", "version": "CLUSTER_VERSION" }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan menerima kode status yang berhasil (2xx), serta respons yang kosong.
Untuk opsi tambahan, lihat dokumentasi referensi Metode: projects.locations.awsClusters.awsNodePools.create.
Pembersihan
Untuk menghapus cluster menggunakan host khusus, lakukan langkah-langkah berikut:
- Menghapus semua kumpulan node
- Hapus cluster.
- Setelah menghapus cluster dan kumpulan node, Anda dapat Merilis host khusus.
Langkah selanjutnya
- Baca dokumentasi referensi API AWSInstancePlacement.