启动托管节点组的模板支持 - Eksctl 用户指南

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

启动托管节点组的模板支持

eksctl 支持使用提供的启动模板启动托管节点组。EC2 这为节点组启用了多个自定义选项,包括提供自定义组 AMIs 和安全组,以及为节点引导传递用户数据。

使用提供的启动模板创建托管节点组

# 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

升级托管节点组以使用不同的启动模板版本

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 和启动模板支持的注意事项

  • 提供启动模板时,不支持以下字段:instanceType、、、、amissh.allowssh.sourceSecurityGroupIdssecurityGroupsinstancePrefixinstanceNameebsOptimizedvolumeEncryptedvolumeKmsKeyIDvolumeIOPSmaxPodsPerNodepreBootstrapCommandsoverrideBootstrapCommanddisableIMDSv1

  • 使用自定义 AMI (ami) 时,还overrideBootstrapCommand必须设置为执行引导。

  • overrideBootstrapCommand只能在使用自定义 AMI 时进行设置。

  • 提供启动模板时,节点组配置中指定的标签仅适用于 EKS Nodegroup 资源,不会传播到实例。 EC2