

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 受管節點群組的啟動範本支援
<a name="launch-template-support"></a>

eksctl 支援使用提供的 [EC2 啟動範本啟動](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html)受管節點群組。這可為節點群組啟用多個自訂選項，包括提供自訂 AMIs 和安全群組，以及傳遞使用者資料以進行節點引導。

## 使用提供的啟動範本建立受管節點群組
<a name="_creating_managed_nodegroups_using_a_provided_launch_template"></a>

```
# managed-cluster.yaml
# A cluster with two managed nodegroups
---
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig

metadata:
  name: managed-cluster
  region: us-west-2

managedNodeGroups:
  - name: managed-ng-1
    launchTemplate:
      id: lt-12345
      version: "2" # optional (uses the default launch template version if unspecified)

  - name: managed-ng-2
    minSize: 2
    desiredCapacity: 2
    maxSize: 4
    labels:
      role: worker
    tags:
      nodegroup-name: managed-ng-2
    privateNetworking: true
    launchTemplate:
      id: lt-12345
```

## 升級受管節點群組以使用不同的啟動範本版本
<a name="_upgrading_a_managed_nodegroup_to_use_a_different_launch_template_version"></a>

```
eksctl upgrade nodegroup --name=managed-ng-1 --cluster=managed-cluster --launch-template-version=3
```

**注意**  
如果啟動範本使用自訂 AMI，則新版本也應使用自訂 AMI，否則升級操作將會失敗

如果啟動範本未使用自訂 AMI，也可以指定要升級至 的 Kubernetes 版本：

```
eksctl upgrade nodegroup --name=managed-ng-1 --cluster=managed-cluster --launch-template-version=3 --kubernetes-version=1.17
```

## 自訂 AMI 和啟動範本支援的注意事項
<a name="_notes_on_custom_ami_and_launch_template_support"></a>
+ 提供啟動範本時，不支援下列欄位：`instanceType`、`ami`、`ssh.allow`、`ssh.sourceSecurityGroupIds`、`securityGroups`、`instancePrefix`、`instanceName``ebsOptimized`、`volumeEncrypted`、`volumeKmsKeyID`、`volumeIOPS`、、 `maxPodsPerNode` `preBootstrapCommands``overrideBootstrapCommand`和 `disableIMDSv1`。
+ 使用自訂 AMI (`ami`) 時，`overrideBootstrapCommand`也必須設定 來執行引導。
+  `overrideBootstrapCommand` 只能在使用自訂 AMI 時設定。
+ 提供啟動範本時，節點群組組態中指定的標籤僅適用於 EKS 節點群組資源，而不會傳播到 EC2 執行個體。