

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# AWS.Compute.EKSManagedNode
<a name="node-eks-managed-node"></a>

AWS TNB mendukung grup Node Terkelola EKS untuk mengotomatiskan penyediaan dan pengelolaan siklus hidup node (instans Amazon EC2) untuk klaster Amazon EKS Kubernetes. Untuk membuat grup EKS Node, lakukan hal berikut:
+ Pilih Amazon Machine Images (AMI) untuk node pekerja klaster Anda dengan memberikan ID AMI atau tipe AMI.
+ Menyediakan key pair Amazon EC2 untuk akses SSH dan properti penskalaan untuk grup node Anda.
+ Pastikan grup node Anda dikaitkan dengan kluster Amazon EKS.
+ Menyediakan subnet untuk node pekerja.
+ Secara opsional, lampirkan grup keamanan, label node, dan grup penempatan ke grup node Anda.

## Sintaksis
<a name="node-eks-managed-node-syntax"></a>

```
tosca.nodes.AWS.Compute.EKSManagedNode:
  capabilities:
    compute:
      properties:
        ami\_type: String
        ami\_id: String
        instance\_types: List
        key\_pair: String
        root\_volume\_encryption: Boolean
        root\_volume\_encryption\_key\_arn: String
        root\_volume\_size: Integer 
    scaling:
      properties:
        desired\_size: Integer
        min\_size: Integer
        max\_size: Integer       
  properties:
    node\_role: String
    tags: List
    kubernetes\_version: String        
  requirements:
    cluster: String
    subnets: List
    network\_interfaces: List
    security\_groups: List
    placement\_group: String
    user\_data: String
    labels: List
```

## Kemampuan
<a name="node-eks-managed-node-capabilities"></a><a name="node_eks_managed_node_compute"></a>`komputasi`

Properti yang menentukan parameter komputasi untuk grup node terkelola Amazon EKS, seperti, jenis instans Amazon EC2 dan AMI instans Amazon EC2.

 `ami_type`    
Jenis Amazon EKS-supported AMI.  
Wajib: Ya  
Tipe: String  
Nilai yang mungkin: `AL2_x86_64` `AL2_x86_64_GPU` \| `AL2_ARM_64` `AL2023_x86_64` \| `AL2023_ARM_64` \| `AL2023_x86_64_NVIDIA` \| `AL2023_x86_64_NEURON` \| `CUSTOM` \| `BOTTLEROCKET_ARM_64` \| `BOTTLEROCKET_x86_64` \| `BOTTLEROCKET_ARM_64_NVIDIA` \| `BOTTLEROCKET_x86_64_NVIDIA`

 `ami_id`    
ID AMI.  
Wajib: Tidak  
Tipe: String  
Jika keduanya `ami_type` dan `ami_id` ditentukan dalam template, AWS TNB hanya akan menggunakan `ami_id` nilai untuk membuat`EKSManagedNode`.

 `instance_types`    
Ukuran instance.  
Wajib: Ya  
Tipe: Daftar

 `key_pair`    
Pasangan Kunci EC2 untuk mengaktifkan akses SSH.  
Wajib: Ya  
Tipe: String

 `root_volume_encryption`    
Mengaktifkan enkripsi Amazon EBS untuk volume root Amazon EBS. Jika properti ini tidak disediakan, AWS TNB mengenkripsi volume root Amazon EBS secara default.  
Wajib: Tidak  
Default: betul  
Jenis: Boolean

 `root_volume_encryption_key_arn`    
ARN dari kuncinya. AWS KMS AWS TNB mendukung ARN kunci reguler, ARN kunci multi-wilayah dan alias ARN.  
Wajib: Tidak  
Tipe: String  
+ Jika `root_volume_encryption` salah, jangan sertakan`root_volume_encryption_key_arn`.
+ AWS TNB mendukung enkripsi volume root Amazon EBS-backed AMI.
+ Jika volume root AMI sudah dienkripsi, Anda harus menyertakan AWS TNB `root_volume_encryption_key_arn` untuk mengenkripsi ulang volume root.
+  Jika volume root AMI tidak dienkripsi, AWS TNB menggunakan `root_volume_encryption_key_arn` untuk mengenkripsi volume root.

  Jika Anda tidak menyertakan`root_volume_encryption_key_arn`, AWS TNB menggunakan kunci default yang disediakan oleh AWS Key Management Service untuk mengenkripsi volume root.
+ AWS TNB tidak mendekripsi AMI terenkripsi.

 `root_volume_size`    
Ukuran volume root Amazon Elastic Block Store di GiBs.  
Wajib: Tidak  
Default: 20  
Jenis: Integer  
Nilai yang mungkin: 1 hingga 16.384<a name="node_eks_managed_node_scaling"></a>`penskalaan`

Properti yang menentukan parameter penskalaan untuk grup node terkelola Amazon EKS, seperti, jumlah instans Amazon EC2 yang diinginkan, dan jumlah minimum dan maksimum instans Amazon EC2 dalam grup node.

 `desired_size`    
Jumlah contoh dalam hal ini NodeGroup.  
Wajib: Ya  
Jenis: Integer

 `min_size`    
Jumlah minimum contoh dalam hal ini NodeGroup.  
Wajib: Ya  
Jenis: Integer

 `max_size`    
Jumlah maksimum contoh dalam hal ini NodeGroup.  
Wajib: Ya  
Jenis: Integer

## Sifat-sifat
<a name="node_eks_managed_node-properties"></a>

 `node_role`    
ARN dari peran IAM yang dilampirkan ke instans Amazon EC2.  
Wajib: Ya  
Tipe: String

 `tags`    
Tag yang akan dilampirkan ke sumber daya.  
Wajib: Tidak  
Tipe: Daftar

 `kubernetes_version`    
Versi Kubernetes untuk grup Managed Node. AWS TNB mendukung Kubernetes versi 1.27 hingga 1.34. Pertimbangkan hal berikut:  
+ Tentukan salah satu `kubernetes_version` atau`ami_id`. Jangan menentukan keduanya.
+ `kubernetes_version`Harus kurang dari atau sama dengan AWS. Compute.EKSManagedNode versi.
+ Mungkin ada perbedaan 3 versi antara AWS. Compute.EKSManagedNode versi dan`kubernetes_version`.
+ Jika tidak `ami_id` ada `kubernetes_version` atau ditentukan, AWS TNB akan menggunakan AMI terbaru dari `AWS.Compute.EKSManagedNode` versi untuk membuat `EKSManagedNode`
Wajib: Tidak  
Tipe: String  
Nilai yang mungkin: 1,27 \| 1,28 \| 1,29 \| 1,30 \| 1,31 \| 1,32 \| 1,33 \| 1,34

## Persyaratan
<a name="node-eks-managed-node-requirements"></a>

 `cluster`    
Sebuah [AWS. Compute.EKS](node-eks.md)simpul.  
Wajib: Ya  
Tipe: String

 `subnets`    
Sebuah [AWS. Networking.Subnet](node-subnet.md)simpul.  
Wajib: Ya  
Tipe: Daftar

 `network_interfaces`    
Sebuah [AWS. Networking.ENI](node-eni.md)simpul. Pastikan antarmuka jaringan dan subnet disetel ke Availability Zone yang sama atau instantiasi akan gagal.  
Saat Anda AWS menyetel`network_interfaces`, TNB memperoleh izin yang terkait dengan ENI dari `multus_role` properti jika Anda menyertakan `multus` properti di node. [AWS.Compute.EKS](https://docs.aws.amazon.com/tnb/latest/ug/node-eks.html) [Jika tidak, AWS TNB memperoleh izin yang terkait dengan ENI dari properti node\_role.](#node_eks_managed_node_node_role)  
Wajib: Tidak  
Tipe: Daftar

 `security_groups`    
Sebuah [AWS. Networking.SecurityGroup](node-networking-security-group.md)simpul.  
Wajib: Tidak  
Tipe: Daftar

 `placement_group`    
Sebuah [tosca.nodes.AWS. Compute.PlacementGroup](node-compute-placement-group.md)simpul.  
Wajib: Tidak  
Tipe: String

 `user_data`    
Sebuah [tosca.nodes.AWS. Compute.UserData](node-compute-user-data.md)referensi simpul. Skrip data pengguna diteruskan ke instans Amazon EC2 yang diluncurkan oleh grup node terkelola. Tambahkan izin yang diperlukan untuk menjalankan data pengguna kustom ke node\_role yang diteruskan ke grup node.  
Wajib: Tidak  
Tipe: String

 `labels`    
Daftar label node. Label node harus memiliki nama dan nilai. Buat label menggunakan kriteria berikut:  
+ Nama dan nilai harus dipisahkan oleh`=`.
+ Nama dan nilai masing-masing dapat mencapai 63 karakter panjangnya.
+ Label dapat mencakup huruf (A-Z, a-z,), angka (0-9) dan karakter berikut: `[-, _, ., *, ?]`
+ Nama dan nilai harus dimulai dan diakhiri dengan alfanumerik,`?`, atau karakter. `*`
Sebagai contoh, `myLabelName1=*NodeLabelValue1`.  
Wajib: Tidak  
Tipe: Daftar

## Contoh
<a name="node-eks-managed-node-example"></a>

```
SampleEKSManagedNode:
  type: tosca.nodes.AWS.Compute.EKSManagedNode
  capabilities:
    compute:
      properties:
        ami_type: "AL2_x86_64"
        instance_types:
          - "t3.xlarge"
        key_pair: "SampleKeyPair"
        root_volume_encryption: true
        root_volume_encryption_key_arn: "arn:aws:kms:{{us-west-2:111122223333}}:key/{{1234abcd-12ab-34cd-56ef-1234567890ab}}"
        root_volume_size: {{1500}}    
    scaling:
      properties:
        desired_size: 1
        min_size: 1
        max_size: 1
  properties:
    node_role: "arn:aws:iam::${AWS::TNB::AccountId}:role/{{SampleRole}}"
    tags:
      - "Name=SampleVPC"
      - "Environment=Testing" 
    kubernetes_version:
      - "1.30" 
  requirements:
    cluster: SampleEKS
    subnets:
      - SampleSubnet
    network_interfaces:
      - SampleENI01
      - SampleENI02
    security_groups:
      - SampleSecurityGroup01
      - SampleSecurityGroup02
    placement_group: SamplePlacementGroup
    user_data: CustomUserData
    labels:
      - "sampleLabelName001=sampleLabelValue001"
      - "sampleLabelName002=sampleLabelValue002"
```