Topik ini menjelaskan opsi konfigurasi AWSCluster Custom Resource Definition.
Menentukan AWSCluster
AWSCluster adalah resource kustom Kubernetes yang ditentukan oleh
GKE di AWS. Resource ini merepresentasikan bidang kontrol GKE di AWS.
Untuk membuat cluster dari template ini, salin YAML berikut dan lengkapi nilai yang ditandai yang ditentukan dalam definisi kolom spec.networking dan spec.controlPlane. Kemudian, terapkan
manifes resource ke layanan pengelolaan Anda.
apiVersion: multicloud.cluster.gke.io/v1
kind: AWSCluster
metadata:
  name: CLUSTER_NAME
spec:
  region: AWS_REGION
  networking:
    vpcID: VPC_ID
    podAddressCIDRBlocks: POD_ADDRESS_CIDR_BLOCKS
    serviceAddressCIDRBlocks: SERVICE_ADDRESS_CIDR_BLOCKS
    serviceLoadBalancerSubnetIDs: SERVICE_LOAD_BALANCER_SUBNETS
  controlPlane:
    version: GKE_VERSION # Latest version is 1.25.5-gke.2100
    instanceType: AWS_INSTANCE_TYPE
    keyName: SSH_KEY_NAME
    subnetIDs:
    - CONTROL_PLANE_SUBNET_IDS
    securityGroupIDs:
    - CONTROL_PLANE_SECURITY_GROUPS
    iamInstanceProfile: CONTROL_PLANE_IAM_ROLE
    databaseEncryption:
      kmsKeyARN: ARN_OF_KMS_KEY
    hub:
      membershipName: ANTHOS_CONNECT_NAME
    cloudOperations: # Optional
      projectID: YOUR_PROJECT
      location: GCP_LOCATION
      enableLogging: ENABLE_LOGGING
      enableMonitoring: ENABLE_MONITORING
    tags:
      TAG_KEY: TAG_VALUE
    proxySecretName: PROXY_SECRET_NAME
    workloadIdentity:
      oidcDiscoveryGCSBucket: WORKLOAD_IDENTITY_BUCKET
    rootVolume:  # Optional
      sizeGiB: ROOT_VOLUME_SIZE
      volumeType: ROOT_VOLUME_TYPE
      iops: ROOT_VOLUME_IOPS
      kmsKeyARN: ROOT_VOLUME_KEY
    etcd:  # Optional
      mainVolume:
        sizeGiB: ETCD_VOLUME_SIZE
        volumeType: ETCD_VOLUME_TYPE
        iops: ETCD_VOLUME_IOPS
        kmsKeyARN: ETCD_VOLUME_KEY
  authentication:
    awsIAM:
      adminIdentityARNs: ADMIN_IAM_ARN
    oidc: # Optional
    - certificateAuthorityData: CERTIFICATE_STRING
      clientID: CLIENT_ID
      clientSecret: CLIENT_SECRET
      extraParams:  EXTRA_PARAMS
      groupsClaim:  GROUPS_CLAIM
      groupPrefix:  GROUP_PREFIX
      issuerURI:  ISSUER_URL
      kubectlRedirectURI:  KUBECTL_REDIRECT_URL
      scopes:  SCOPES
      userClaim:  USER_CLAIM
      userPrefix:  USER_PREFIX
Sub-bidang di bagian spec dijelaskan di bagian berikut.
spec.networking
Objek ini menentukan konfigurasi jaringan di seluruh cluster.
| Nama | Deskripsi | Jenis | Contoh | Wajib | 
|---|---|---|---|---|
| vpcID | ID VPC tempat cluster Anda berjalan. Bidang kontrol dan node pool cluster pengguna berjalan di satu VPC. | string | 
vpc-0814934042d983118 | 
ya | 
| podAddressCIDRBlocks | Rentang alamat IPv4 yang digunakan oleh pod cluster. Saat ini, hanya satu rentang yang didukung. Rentang tidak boleh tumpang tindih dengan subnet yang dapat dijangkau dari jaringan Anda. Rentang yang sama dapat digunakan dengan aman di beberapa objek AWSCluster yang berbeda. | list(string) | 
[10.1.0.0/16] | 
ya | 
| serviceAddressCIDRBlocks | Rentang alamat IPv4 yang digunakan oleh layanan cluster. Saat ini, hanya satu rentang yang didukung. Rentang tidak boleh tumpang tindih dengan subnet yang dapat dijangkau dari jaringan Anda. Rentang yang sama dapat digunakan dengan aman di beberapa objek AWSCluster yang berbeda. | list(string) | 
[10.2.0.0/16] | 
ya | 
| serviceLoadBalancerSubnetIDs | ID subnet tempat GKE di AWS dapat membuat load balancer publik atau pribadi. GKE on AWS menerapkan tag ke setiap subnet ini untuk mendukung load balancing. Dukungan ALB memerlukan lebih dari satu subnet yang ditentukan. | list(string) | 
[subnet-abcdefg, subnet-12345678] | 
spec.controlPlane
Objek ini mencakup parameter umum untuk bidang kontrol cluster.
| Nama | Deskripsi | Jenis | Contoh | Wajib | 
|---|---|---|---|---|
| versi | Versi GKE bidang kontrol. Lihat Pembuatan versi dan upgrade serta mengupgrade cluster pengguna untuk mengetahui informasi selengkapnya. | string | 
1.25.5-gke.2100 | 
ya | 
| instanceType | Jenis instance AWS EC2 untuk setiap replika bidang kontrol. Lihat Jenis instance yang didukung. | string | 
m5.large | 
ya | 
| keyName | Pasangan kunci AWS EC2 yang ditetapkan ke setiap replika bidang kontrol. | string | 
my-key-pair | 
ya | 
| subnetIDs | Daftar Subnet VPC untuk replika bidang kontrol. | list(string) | 
[subnet-06a004869a1eae947] | 
ya | 
| securityGroupIDs | GKE di AWS secara otomatis membuat grup keamanan dengan aturan minimum yang diperlukan agar cluster berfungsi. Jika Anda ingin menambahkan grup keamanan tambahan dengan akses ke replika bidang kontrol, tambahkan ID-nya ke securityGroupIDs. | 
list(string) | 
[sg-0ec06559d997a796f] | 
tidak | 
| iamInstanceProfile | Nama profil instance EC2 AWS yang ditetapkan ke replika bidang kontrol. | string | 
my-control-plane-profile | 
ya | 
| databaseEncryption.kmsKeyARN | Amazon Resource Name (ARN) kunci AWS KMS yang digunakan GKE di AWS untuk mengenkripsi rahasia lapisan aplikasi dalam cluster. | string | arn:aws:kms:us-west-1:123456789:key/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee | 
|
| hub.membershipName | Nama keanggotaan Connect yang digunakan untuk mendaftarkan cluster Anda. | string | projects/YOUR_PROJECT/locations/global/memberships/CLUSTER_NAME | |
| cloudOperations | Konfigurasi Cloud Logging dan Cloud Monitoring untuk node bidang kontrol. | object | 
{projectID: YOUR_PROJECT, location: us-central1, enableLogging: true, enableMonitoring: true} | tidak | 
| tags | Metadata key/value yang ditetapkan ke setiap resource AWS yang mendukung AWSCluster. Untuk mengetahui informasi selengkapnya, lihat Praktik terbaik pemberian tag | map(string) | 
{Environment: Production, Team: Analytics} | tidak | 
| proxySecretName | Nama Secret yang dipilih pengguna yang digunakan untuk menentukan proxy jaringan khusus cluster | string | proxy-secret-0 | tidak | 
| workloadIdentity | Bucket Cloud Storage untuk konfigurasi workload identity. Berisi satu kolom: oidcDiscoveryGCSBucket. | 
object | 
{oidcDiscoveryGCSBucket: my-bucket} | tidak | 
| rootVolume | Parameter untuk volume root replika bidang kontrol. Berisi objek yang ditentukan di bagian berikut. | object | 
{sizeGiB: 10} | 
ya | 
| etcd | Parameter untuk volume etcd. Berisi objek yang ditentukan di bagian berikut. | object | 
{sizeGiB: 10} | 
ya | 
spec.controlPlane.rootVolume dan spec.etcd.rootVolume
Kolom ini berlaku untuk spec.controlPlane.rootVolume dan
spec.etcd.mainVolume.
| Nama | Deskripsi | Jenis | Contoh | Wajib | 
|---|---|---|---|---|
| sizeGiB | Ukuran volume root dalam Gigabyte. | integer | 
10 | 
ya | 
| volumeType | Jenis volume EBS AWS untuk node bidang kontrol. Dapat berupa gp2 (default) atau gp3. | 
string | 
gp2 | 
tidak | 
| iops | Jumlah operasi input/output per detik (IOPS) yang disediakan 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.authentication.awsIAM
Objek ini menentukan peran yang diberi akses administrator cluster dengan AWS IAM.
| Nama | Deskripsi | Jenis | Contoh | Wajib | 
|---|---|---|---|---|
| adminIdentityARNs | ARN pengguna atau peran AWS IAM yang diberi akses administrator cluster. | string | arn:aws:iam::123456789012:user/admin | 
Hanya diperlukan jika menggunakan autentikasi IAM AWS. | 
spec.authentication.oidc
Anda dapat menentukan lebih dari satu objek oidc. Objek oidc ditentukan di bawah.
Untuk mengetahui informasi selengkapnya, lihat Mengautentikasi dengan OIDC.
| Kolom | Diperlukan | Deskripsi | Format | 
|---|---|---|---|
| certificateAuthorityData | Tidak | 
  Sertifikat berenkode PEM berenkode base64 untuk penyedia OIDC. Untuk membuat string,
  enkode sertifikat, termasuk header, ke dalam base64. Sertakan string
  yang dihasilkan di certificateAuthorityData sebagai satu baris. Contoh:
  certificateAuthorityData: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tC...k1JSUN2RENDQWFT== | 
String | 
| clientID | Ya | ID untuk aplikasi klien yang membuat permintaan autentikasi ke penyedia OpenID. | String | 
| clientSecret | Tidak | Rahasia bersama antara aplikasi klien OIDC dan penyedia OIDC. | String | 
| extraParams | Tidak | 
    Parameter nilai kunci tambahan yang akan dikirim ke penyedia OpenID. Jika Anda
    memberikan otorisasi ke grup, teruskan resource=token-groups-claim.
    
      Jika server otorisasi Anda meminta izin, untuk autentikasi dengan
    Microsoft Azure dan Okta, tetapkan   | 
Daftar yang dipisahkan koma | 
| groupsClaim | Tidak | Klaim JWT yang digunakan penyedia untuk menampilkan grup keamanan Anda. | String | 
| groupPrefix | Tidak | Awalan ditambahkan ke klaim grup untuk mencegah konflik dengan nama yang sudah ada. Misalnya, jika ada grup foobar dan awalan gid-, gid-foobar. | String | 
| issuerURI | Ya | URL tempat permintaan otorisasi dikirim ke OpenID Anda, seperti
  https://example.com/adfs. Server Kubernetes API menggunakan URL ini
  untuk menemukan kunci publik agar dapat memverifikasi token. URI harus menggunakan HTTPS. | 
URL String | 
| kubectlRedirectURI | Ya | URL pengalihan yang digunakan `kubectl` untuk otorisasi. | URL String | 
| cakupan | Ya | Cakupan tambahan yang akan dikirim ke penyedia OpenID. Microsoft Azure dan Okta
    memerlukan cakupan offline_access. | 
Daftar yang dipisahkan koma | 
| userClaim | Tidak | Klaim JWT yang akan digunakan sebagai nama pengguna. Nilai defaultnya adalah `sub`, yang diharapkan berupa ID unik pengguna akhir. Anda dapat memilih klaim lain, seperti email atau nama, bergantung pada penyedia OpenID. Namun, klaim selain email diberi awalan URL penerbit untuk mencegah bentrokan penamaan. | String | 
| userPrefix | Tidak | Awalan ditambahkan ke klaim nama pengguna untuk mencegah konflik dengan nama yang sudah ada.
  Jika Anda tidak memberikan kolom ini, dan nama pengguna adalah nilai selain
  alamat email, awalan akan ditetapkan ke issuerurl# secara default. Jika Anda menetapkan
  userPrefix ke -, pemberian awalan akan dinonaktifkan.
 | String |