

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

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

AWS TNB unterstützt EKS Managed Node-Gruppen, um die Bereitstellung und das Lebenszyklusmanagement von Knoten (Amazon EC2 EC2-Instances) für Amazon EKS Kubernetes-Cluster zu automatisieren. Gehen Sie wie folgt vor, um eine EKS-Knotengruppe zu erstellen:
+ Wählen Sie die Amazon Machine Images (AMI) für Ihre Cluster-Worker-Knoten aus, indem Sie entweder die AMI-ID oder den AMI-Typ angeben.
+ Geben Sie ein Amazon EC2 EC2-Schlüsselpaar für den SSH-Zugriff und die Skalierungseigenschaften für Ihre Knotengruppe an.
+ Stellen Sie sicher, dass Ihre Knotengruppe mit einem Amazon EKS-Cluster verknüpft ist.
+ Stellen Sie die Subnetze für die Worker-Knoten bereit.
+ Fügen Sie Ihrer Knotengruppe optional Sicherheitsgruppen, Knotenbezeichnungen und eine Platzierungsgruppe hinzu.

## Syntax
<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
```

## Capabilities
<a name="node-eks-managed-node-capabilities"></a><a name="node_eks_managed_node_compute"></a>`Datenverarbeitung`

Eigenschaften, die die Rechenparameter für die von Amazon EKS verwaltete Knotengruppe definieren, z. B. Amazon EC2 EC2-Instance-Typen und Amazon EC2 EC2-Instance-AMIs.

 `ami_type`    
Der EKS-supported Amazon-AMI-Typ.  
Erforderlich: Ja  
Typ: Zeichenfolge  
Mögliche Werte: `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`    
Die ID des AMI.  
Erforderlich: Nein  
Typ: Zeichenfolge  
Wenn beide `ami_type` und in der Vorlage angegeben `ami_id` sind, verwendet AWS TNB nur den `ami_id` Wert für die Erstellung`EKSManagedNode`.

 `instance_types`    
Die Instanzgröße.  
Erforderlich: Ja  
Typ: Liste

 `key_pair`    
Das EC2-Schlüsselpaar zur Aktivierung des SSH-Zugriffs.  
Erforderlich: Ja  
Typ: Zeichenfolge

 `root_volume_encryption`    
Aktiviert die Amazon EBS-Verschlüsselung für das Amazon EBS-Root-Volume. Wenn diese Eigenschaft nicht angegeben wird, verschlüsselt AWS TNB standardmäßig Amazon EBS-Root-Volumes.  
Erforderlich: Nein  
Standard: true  
Typ: Boolescher Wert

 `root_volume_encryption_key_arn`    
Der ARN des AWS KMS Schlüssels. AWS TNB unterstützt reguläre Schlüssel-ARN, Multi-Region-Schlüssel-ARN und Alias-ARN.  
Erforderlich: Nein  
Typ: Zeichenfolge  
+ Wenn der Wert falsch `root_volume_encryption` ist, schließen Sie ihn nicht ein. `root_volume_encryption_key_arn`
+ AWS TNB unterstützt die Root-Volume-Verschlüsselung von Amazon EBS-backed AMIs.
+ Wenn das Root-Volume des AMI bereits verschlüsselt ist, müssen Sie das `root_volume_encryption_key_arn` für AWS TNB hinzufügen, um das Root-Volume erneut zu verschlüsseln.
+  Wenn das Root-Volume des AMI nicht verschlüsselt ist, verwendet AWS TNB das, `root_volume_encryption_key_arn` um das Root-Volume zu verschlüsseln.

  Wenn Sie dies nicht angeben`root_volume_encryption_key_arn`, verwendet AWS TNB den von bereitgestellten Standardschlüssel, um das Root-Volume AWS Key Management Service zu verschlüsseln.
+ AWS TNB entschlüsselt kein verschlüsseltes AMI.

 `root_volume_size`    
Die Größe des Amazon Elastic Block Store-Root-Volumes in GiBs.  
Erforderlich: Nein  
Standard: 20  
Typ: Ganzzahl  
Mögliche Werte: 1 bis 16.384<a name="node_eks_managed_node_scaling"></a>`Skalierung`

Eigenschaften, die die Skalierungsparameter für die von Amazon EKS verwaltete Knotengruppe definieren, z. B. die gewünschte Anzahl von Amazon EC2 EC2-Instances und die Mindest- und Höchstanzahl von Amazon EC2 EC2-Instances in der Knotengruppe.

 `desired_size`    
Die Anzahl der Instances in dieser. NodeGroup  
Erforderlich: Ja  
Typ: Ganzzahl

 `min_size`    
Die Mindestanzahl von Instanzen in diesem Bereich NodeGroup.  
Erforderlich: Ja  
Typ: Ganzzahl

 `max_size`    
Die maximale Anzahl von Instanzen in diesem Bereich NodeGroup.  
Erforderlich: Ja  
Typ: Ganzzahl

## Eigenschaften
<a name="node_eks_managed_node-properties"></a>

 `node_role`    
Der ARN der IAM-Rolle, die der Amazon EC2 EC2-Instance zugeordnet ist.  
Erforderlich: Ja  
Typ: Zeichenfolge

 `tags`    
Die Tags, die an die Ressource angehängt werden sollen.  
Erforderlich: Nein  
Typ: Liste

 `kubernetes_version`    
Die Kubernetes-Version für die Managed Node-Gruppe. AWS TNB unterstützt die Kubernetes-Versionen 1.27 bis 1.34. Berücksichtigen Sie dabei Folgendes:  
+ Geben Sie entweder oder an. `kubernetes_version` `ami_id` Geben Sie nicht beides an.
+ Der `kubernetes_version` muss kleiner oder gleich dem sein AWS. Compute.EKSManagedNode Version.
+ Es kann einen Unterschied von 3 Versionen zwischen den geben AWS. Compute.EKSManagedNode Version und`kubernetes_version`.
+ Wenn weder das `kubernetes_version` oder `ami_id` angegeben ist, verwendet AWS TNB das neueste AMI der `AWS.Compute.EKSManagedNode` Version zum Erstellen `EKSManagedNode`
Erforderlich: Nein  
Typ: Zeichenfolge  
Mögliche Werte: 1,27 \| 1,28 \| 1,29 \| 1,30 \| 1,31 \| 1,32 \| 1,33 \| 1,34

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

 `cluster`    
[AWS Ein. Compute.EKS](node-eks.md)Knoten.  
Erforderlich: Ja  
Typ: Zeichenfolge

 `subnets`    
Ein [AWS. Networking.Subnet](node-subnet.md)Knoten.  
Erforderlich: Ja  
Typ: Liste

 `network_interfaces`    
Ein [AWS. Networking.ENI](node-eni.md)Knoten. Stellen Sie sicher, dass die Netzwerkschnittstellen und Subnetze auf dieselbe Availability Zone eingestellt sind. Andernfalls schlägt die Instanziierung fehl.  
Wenn Sie diese Einstellung `network_interfaces` vornehmen, erhält AWS TNB die Berechtigungen für ENIs von der Eigenschaft, sofern Sie die `multus_role` Eigenschaft in den Knoten aufgenommen haben. `multus` [AWS.Compute.EKS](https://docs.aws.amazon.com/tnb/latest/ug/node-eks.html) [Andernfalls erhält AWS TNB die Berechtigungen für ENIs von der Eigenschaft node\_role.](#node_eks_managed_node_node_role)  
Erforderlich: Nein  
Typ: Liste

 `security_groups`    
[Ein.AWS Networking.SecurityGroup](node-networking-security-group.md)Knoten.  
Erforderlich: Nein  
Typ: Liste

 `placement_group`    
Ein [tosca.nodes.AWS. Compute.PlacementGroup](node-compute-placement-group.md)Knoten.  
Erforderlich: Nein  
Typ: Zeichenfolge

 `user_data`    
Ein [tosca.nodes.AWS. Compute.UserData](node-compute-user-data.md)Knotenreferenz. Ein Benutzerdatenskript wird an die Amazon EC2 EC2-Instances übergeben, die von der verwalteten Knotengruppe gestartet wurden. Fügen Sie der an die Knotengruppe übergebenen node\_role die Berechtigungen hinzu, die für die Ausführung benutzerdefinierter Benutzerdaten erforderlich sind.  
Erforderlich: Nein  
Typ: Zeichenfolge

 `labels`    
Eine Liste von Knotenbezeichnungen. Eine Knotenbezeichnung muss einen Namen und einen Wert haben. Erstellen Sie ein Label anhand der folgenden Kriterien:  
+ Der Name und der Wert müssen durch getrennt werden`=`.
+ Der Name und der Wert können jeweils bis zu 63 Zeichen lang sein.
+ Die Bezeichnung kann Buchstaben (A-Z, a-z,), Zahlen (0-9) und die folgenden Zeichen enthalten: `[-, _, ., *, ?]`
+ Der Name und der Wert müssen mit einem alphanumerischen Zeichen oder beginnen und enden. `?` `*`
Beispiel: `myLabelName1=*NodeLabelValue1`  
Erforderlich: Nein  
Typ: Liste

## Beispiel
<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"
```