Resource AWSManagementService berisi informasi konfigurasi untuk layanan pengelolaan GKE di AWS Anda.
Anda mengonfigurasi file YAML bernama anthos-gke.yaml sebelum membuat layanan pengelolaan. Alat anthos-gke menggunakan konfigurasi saat membuat layanan pengelolaan.
Isi file anthos-gke.yaml bergantung pada apakah Anda menggunakan anthos-gke
untuk membuat
AWS Virtual Private Cloud (VPC) khusus untuk Anda,
atau apakah Anda menggunakan
AWS VPC yang ada.
VPC Khusus
apiVersion: multicloud.cluster.gke.io/v1
kind: AWSManagementService
metadata:
name: management
spec:
version: ANTHOS_CLI_VERSION
region: AWS_REGION
authentication:
awsIAM:
adminIdentityARNs:
- ADMIN_AWS_IAM_ARN
kmsKeyARN: KMS_KEY_ARN
databaseEncryption:
kmsKeyARN: KMS_KEY_ARN
googleCloud:
projectID: GCP_PROJECT_ID
serviceAccountKeys:
managementService: MANAGEMENT_KEY_PATH
connectAgent: CONNECT_KEY_PATH
node: NODE_KEY_PATH
iam:
permissionsBoundary: IAM_PERMISSIONS_BOUNDARY
path: IAM_PATH
dedicatedVPC:
vpcCIDRBlock: VPC_CIDR_BLOCK
availabilityZones:
- ZONE_1
- ZONE_2
- ZONE_3
privateSubnetCIDRBlocks:
- PRIVATE_CIDR_BLOCK_1
- PRIVATE_CIDR_BLOCK_2
- PRIVATE_CIDR_BLOCK_3
publicSubnetCIDRBlocks:
- PUBLIC_CIDR_BLOCK_1
- PUBLIC_CIDR_BLOCK_2
- PUBLIC_CIDR_BLOCK_3
# Optional section
rootVolume:
volumeType: ROOT_VOLUME_TYPE
iops: ROOT_VOLUME_IOPS
kmsKeyARN: ROOT_VOLUME_KEY
dataVolume:
volumeType: DATA_VOLUME_TYPE
iops: DATA_VOLUME_IOPS
kmsKeyARN: DATA_VOLUME_KEY
tags:
tag-name: tag-value
bastionHost:
allowedSSHCIDRBlocks:
- SSH_CIDR_BLOCK
rootVolume:
volumeType: ROOT_VOLUME_TYPE
iops: ROOT_VOLUME_IOPS
kmsKeyARN: ROOT_VOLUME_KEY
bootstrapS3Bucket: BOOTSTRAP_S3_BUCKET
proxy: PROXY_JSON_FILE
terraform:
invokeManually: No
stateGCSBucket: GCS_BUCKET_NAME
VPC yang Ada
apiVersion: multicloud.cluster.gke.io/v1
kind: AWSManagementService
metadata:
name: management
spec:
version: ANTHOS_CLI_VERSION
region: AWS_REGION
authentication:
awsIAM:
adminIdentityARNs:
- ADMIN_AWS_IAM_ARN
kmsKeyARN: KMS_KEY_ARN
databaseEncryption:
kmsKeyARN: KMS_KEY_ARN
securityGroupIDs:
- SECURITY_GROUP_IDS
googleCloud:
projectID: GCP_PROJECT_ID
serviceAccountKeys:
managementService: MANAGEMENT_KEY_PATH
connectAgent: CONNECT_KEY_PATH
node: NODE_KEY_PATH
iam:
permissionsBoundary: IAM_PERMISSIONS_BOUNDARY
path: IAM_PATH
existingVPC:
subnetID: [MANAGEMENT_SUBNET_ID]
allowedSSHSecurityGroupIDs: [SSH_SECURITY_GROUPS]
# Optional fields
rootVolume:
volumeType: ROOT_VOLUME_TYPE
iops: ROOT_VOLUME_IOPS
kmsKeyARN: ROOT_VOLUME_KEY
dataVolume:
volumeType: DATA_VOLUME_TYPE
iops: DATA_VOLUME_IOPS
kmsKeyARN: DATA_VOLUME_KEY
ubuntuRepositoryMirror: 'packages.cloud.google.com'
bastionHost:
subnetID: [BASTION_HOST_SUBNET_ID]
allowedSSHCIDRBlocks:
- [SSH_CIDR_BLOCK]
rootVolume:
volumeType: ROOT_VOLUME_TYPE
iops: ROOT_VOLUME_IOPS
kmsKeyARN: ROOT_VOLUME_KEY
bootstrapS3Bucket: BOOTSTRAP_S3_BUCKET
tags:
tag-name: tag-value
proxy: PROXY_JSON_FILE
terraform:
invokeManually: No
stateGCSBucket: GCS_BUCKET_NAME
Bagian berikut menjelaskan kolom ini.
spec.version
Nilai spec.version adalah versi layanan pengelolaan yang dibuat anthos-
gke. Versi ini cocok dengan output anthos-gke version. Misalnya, aws-1.14.1-gke.0.
spec.region
Nilai spec.region adalah
region AWS
tempat Anda ingin men-deploy layanan pengelolaan. Misalnya, us-east-1.
spec.authentication.awsIAM
Nilai spec.authentication.awsIAM.adminIdentityARNs adalah string dengan
nama resource Amazon (ARN) pengguna AWS IAM yang memiliki
izin
untuk membuat layanan pengelolaan GKE di AWS. Misalnya, arn:aws:iam::123456789:user/someuser.
spec.kmsKeyARN
Nilai spec.kmsKeyARN adalah string dengan nama resource Amazon (ARN) atau
alias kunci AWS KMS yang dibuat di
Prasyarat.
GKE di AWS menggunakan kunci untuk
enkripsi envelope.
Misalnya, arn:aws:kms:us-west-1:123456789:key/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee.
spec.databaseEncryption
Nilai spec.databaseEncryption.kmsKeyARN adalah string dengan nama resource Amazon (ARN) atau alias kunci AWS KMS yang digunakan GKE di AWS untuk mengenkripsi rahasia lapisan aplikasi dalam cluster. Misalnya, arn:aws:kms:us-west-1:123456789:key/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee.
spec.securityGroupIDs
Nilai spec.securityGroupIDs adalah daftar ID grup keamanan AWS tambahan yang ditetapkan ke VM layanan pengelolaan.
Misalnya [sg-00123456789abcd, sg-00123456789def1]`.
spec.dedicatedVPC
Kolom ini mewakili setelan VPC yang diinginkan.
| Nama | Deskripsi | Jenis | Contoh |
|---|---|---|---|
| vpcCIDRBlock | Blok CIDR AWS VPC yang Anda inginkan. Harus antara 16 dan 28 bit. | string |
10.0.0.0/16 |
| availabilityZones | Zona ketersediaan untuk men-deploy replika bidang kontrol. Setiap zona akan memiliki subnetnya sendiri dan memerlukan blok CIDR terpisah. | list(string) |
[us-east-1a, us-east-1b] |
| privateSubnetCIDRBlocks | Blok CIDR untuk subnet pribadi dalam VPC di setiap zona ketersediaan. Harus berupa subset dari vpcCIDRBlock. Anda harus memiliki satu subnet per zona ketersediaan. |
list(string) |
[10.0.101.0/24, 10.0.102.0/24] |
| publicSubnetCIDRBlocks | Blok CIDR untuk subnet publik dalam VPC di setiap zona ketersediaan. Harus berupa subset dari vpcCIDRBlock. Anda harus memiliki satu subnet per zona ketersediaan. |
list(string) |
[10.0.1.0/24, 10.0.2.0/24] |
| bastionAllowedSSHCIDRBlocks | Blok CIDR untuk mengizinkan akses SSH masuk dari. Kolom ini tidak digunakan lagi di GKE di AWS 1.5. Gunakan spec.bastionHost di versi 1.5 atau yang lebih tinggi. |
string |
[104.132.0.0/14] |
spec.existingVPC
Kolom di bagian spec.existingVPC mengonfigurasi GKE di AWS untuk menggunakan AWS VPC yang ada.
| Nama | Deskripsi | Jenis | Contoh |
|---|---|---|---|
| subnetID | ID Subnet tempat layanan pengelolaan berjalan. | string |
subnet-00123456789ab |
| allowedSSHSecurityGroupIDs | Daftar ID grup keamanan yang mengizinkan akses SSH dalam VPC. | list(string) | [sg-00123456789abcd, sg-00123456789def1] |
spec.googleCloud
Kolom di bagian spec.googleCloud mengonfigurasi Google Cloud project
dan kunci akun layanan IAM.
| Nama | Deskripsi | Jenis | Contoh |
|---|---|---|---|
| projectID | Google Cloud Google Cloud project. | string |
my-gcp-project-id |
| serviceAccountKeys | Jalur file ke kunci akun layanan. | serviceAccountKeys |
spec.googleCloud.serviceAccountKeys
Kolom di bagian spec.googleCloud.serviceAccountKeys mencakup jalur file lokal ke kunci akun layanan GCP. Lihat
Prasyarat
untuk mengetahui deskripsi mendetail setiap kunci.
| Nama | Deskripsi | Jenis | Contoh |
|---|---|---|---|
managementService
|
Kunci akun layanan yang digunakan oleh cluster pengelolaan | string | path/to/key/management-sa-key.json
|
connectAgent
|
Kunci akun layanan yang digunakan oleh Agen Connect GKE Hub | string | path/to/key/hub-sa-key.json
|
node
|
Kunci akun layanan yang digunakan oleh node | string | path/to/key/node-sa-key.json
|
spec.iam
Kolom di bagian spec.iam mengonfigurasi parameter AWS IAM opsional untuk lingkungan GKE di AWS Anda.
| Nama | Deskripsi | Jenis | Contoh |
|---|---|---|---|
| permissionsBoundary | ARN Batas izin untuk peran IAM | string |
arn:aws:iam::126285863215:policy/testPolicyBoundary |
| path | Jalur ke peran IAM | string |
/org_abc/team_abc/member_abc/ |
spec.bastionHost
Bagian spec.bastionHost bersifat opsional dan menjelaskan bastion host.
Bastion host adalah instance EC2 yang ditempatkan di subnet publik. Instance ini mengizinkan akses SSH masuk dari blok CIDR yang ditentukan dan memiliki akses SSH keluar ke layanan pengelolaan GKE di AWS dan cluster pengguna.
Anda dapat membuat bastion host untuk instalasi dedicatedVPC atau existingVPC. Kolom allowedSSHCIDRBlocks menentukan rentang alamat masuk yang diizinkan, dan tidak boleh kosong.
Jika bastion host tidak ada, GKE di AWS akan membuat bastion host baru.
- Untuk instalasi
dedicatedVPC, GKE di AWS akan membuat subnet. - Untuk instalasi
existingVPC, Anda harus menyediakan subnet untuk bastion host dan memastikan bahwa subnet ini memiliki konektivitas ke VPC Anda.
Anda dapat mengubah bastion host dengan mengubah atau menghapus kolom spec.bastionHost dan menjalankan anthos-gke aws management init, diikuti dengan anthos-gke aws management apply.
| Nama | Deskripsi | Jenis | Contoh |
|---|---|---|---|
| subnetID | ID subnet tempat bastion host berjalan. Untuk instalasi existingVPC, subnet harus mengizinkan traffic masuk dari tempat Anda akan mengaksesnya di port 22. Selain itu, pastikan VPC Anda mengizinkan akses masuk dari subnet ini. Untuk instalasi dedicatedVPC, jangan tentukan kolom ini. GKE di AWS akan menyediakan subnet dengan akses yang diperlukan. |
string | subnet-003bdf7b0f5e21e45 |
| allowedSSHCIDRBlocks | Blok CIDR untuk mengizinkan akses SSH masuk dari. | list(string) |
[104.132.0.0/14] |
| rootVolume | Objek yang menjelaskan volume root bastion host. | object |
{volumeType: gp2} |
spec.rootVolume, spec.dataVolume, dan spec.bastionHost.rootVolume
Tabel berikut menjelaskan kolom umum untuk objek berikut:
spec.rootVolume, untuk volume disk root bidang kontrolspec.dataVolume, untuk volume disk data bidang kontrolspec.bastionHost.rootVolume, untuk volume disk root bastion host
| Nama | Deskripsi | Jenis | Contoh | Wajib |
|---|---|---|---|---|
| volumeType | Jenis volume AWS EBS node. Dapat berupa gp2 (default) atau gp3. |
string |
gp2 |
tidak |
| iops | Jumlah operasi IO yang disediakan per detik (IOPS) untuk volume. Hanya valid jika volumeType adalah GP3. Untuk mengetahui informasi selengkapnya, lihat Volume SSD Tujuan Umum (gp3). |
integer |
5000 |
tidak |
| kmsKeyARN | ARN kunci AWS KMS yang digunakan untuk mengenkripsi volume EBS. Untuk mengetahui informasi selengkapnya, lihat Menggunakan CMK yang dikelola pelanggan untuk mengenkripsi volume. | string |
arn:aws:kms:us-west-1:123456789:key/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee |
tidak |
spec.tags
| Nama | Deskripsi | Jenis | Contoh |
|---|---|---|---|
| tags | Metadata nilai kunci opsional yang ditetapkan ke setiap resource AWS yang mendukung layanan pengelolaan. | map(string) |
{Environment: Production, Team: Analytics} |
spec.proxy
Kolom spec.proxy mengonfigurasi proxy HTTP/HTTPS opsional.
| Nama | Deskripsi | Jenis | Contoh |
|---|---|---|---|
| proxy | Jalur ke file konfigurasi proxy. | Jalur relatif dari anthos-gke.yaml |
proxy.json |
spec.bootstrapS3Bucket
Kolom spec.bootstrapS3Bucket mengonfigurasi nama bucket S3 untuk GKE di AWS .
| Nama | Deskripsi | Jenis | Contoh |
|---|---|---|---|
| bootstrapS3Bucket | Kolom opsional untuk nama bucket AWS S3 tempat GKE di AWS menyimpan informasi konfigurasi. Jika Anda ingin membuat beberapa layanan pengelolaan GKE di AWS di region AWS yang sama, tetapkan nilai ini ke nama bucket yang unik. | string |
example-s3-bucket |
spec.terraform
Kolom spec.terraform.invokeManually mengonfigurasi perintah anthos-gke agar tidak membuat layanan pengelolaan.
| Nama | Deskripsi | Jenis | Contoh |
|---|---|---|---|
| invokeManually | Kolom opsional yang mengonfigurasi alat command line anthos-gke agar tidak membuat layanan pengelolaan setelah membuat dan memvalidasi konfigurasi Anda. Jika Anda menetapkan invokeManually ke Yes, Anda dapat mengedit dan menerapkan file konfigurasi Terraform secara manual. |
Yes, No |
Yes |
| stateGCSBucket | Kolom opsional yang menentukan bucket Google Cloud Storage yang sudah ada agar Terraform dapat menyimpan data konfigurasinya. | string |
example-GCS-bucket |