

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

# `AWS-MigrateToNewEKSSelfManagedNodeGroup`
<a name="aws-migratetoneweksselfmanagedlinuxnodegroup"></a>

 **描述** 

 该`AWS-MigrateToNewEKSSelfManagedNodeGroup`运行手册可帮助您创建一个新的亚马逊 Elastic Kubernetes Service（Amazon EKS）Linux 节点组，以便将现有应用程序迁移到该节点组。有关更多信息，请参阅 **Amazon EKS 用户指南**中的[迁移到新节点组](https://docs.aws.amazon.com/eks/latest/userguide/migrate-stack.html)。

 [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWS-MigrateToNewEKSSelfManagedLinuxNodeGroup) 

**文档类型**

自动化

**所有者**

Amazon

**平台**

Linux

**参数**
+ AutomationAssumeRole

  类型：字符串

  描述：（可选）允许 Systems Manager Automation 代表您执行操作 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称（ARN）。如果未指定角色，Systems Manager Automation 将使用启动此运行手册的用户的权限。
+ OldStackName

  类型：字符串

  描述：（必填）现有堆栈的名称或 CloudFormation 堆栈 ID。
+ NewStackName

  类型：字符串

  描述：（可选）为您的新节点组创建的新 CloudFormation 堆栈的名称。如果您未为此参数指定值，则使用以下格式创建堆栈名称：`NewNodeGroup-{{ClusterName}}-{{AutomationExecutionID}}`。
+ ClusterControlPlaneSecurityGroup

  类型：字符串

  描述：（可选）您希望节点用于与 Amazon EKS 控制平面通信的安全组的 ID。如果您未为此参数指定值，则使用现有 CloudFormation 堆栈中指定的安全组。
+ NodeInstanceType

  类型：字符串

  描述：（可选）您要用于新节点组的实例类型。如果您未为此参数指定值，则使用现有 CloudFormation 堆栈中指定的实例类型。
+ NodeGroupName

  类型：字符串

  描述：（可选）您的新节点组的名称。如果您未为此参数指定值，则使用在现有 CloudFormation 堆栈中指定的节点组名称。
+ NodeAutoScalingGroupDesiredCapacity

  类型：字符串

  描述：（可选）创建新堆栈时要扩展到的所需节点数量。此数字必须大于或等于该`NodeAutoScalingGroupMinSize`值且小于或等于`NodeAutoScalingGroupMaxSize`。如果您未为此参数指定值，则使用现有 CloudFormation 堆栈中指定的节点组所需容量。
+ NodeAutoScalingGroupMaxSize

  类型：字符串

  描述：（可选）您的节点组可以扩展到的最大节点数。如果您未为此参数指定值，则使用现有 CloudFormation 堆栈中指定的节点组最大大小。
+ NodeAutoScalingGroupMinSize

  类型：字符串

  描述：（可选）您的节点组可以扩展到的最小节点数。如果您未为此参数指定值，则使用现有 CloudFormation 堆栈中指定的节点组最小大小。
+ NodeImageId

  类型：字符串

  描述：（可选）希望节点组使用的 Amazon Machine Image (AMI) 的 ID。
+ NodeImageIdSSMParam

  类型：字符串

  描述：（可选）希望节点组使用的 AMI 的公共 Systems Manager 参数。
+ NodeVolumeSize

  类型：字符串

  描述：（可选）节点的根卷大小（以 GiB 为单位）。如果您未为此参数指定值，则使用现有 CloudFormation 堆栈中指定的节点卷大小。
+ NodeVolumeType

  类型：字符串

  描述：（可选）您要用于节点根卷的 Amazon EBS 卷的类型。如果您未为此参数指定值，则使用现有 CloudFormation 堆栈中指定的卷类型。
+ KeyName

  类型：字符串

  描述：（可选）您要分配给节点的密钥对。如果您未为此参数指定值，则使用现有 CloudFormation 堆栈中指定的密钥对。
+ 子网

  类型： StringList

  描述：（可选）要用于新节点组的子网 ID 的逗号分隔列表。如果您未为此参数指定值，则使用现有 CloudFormation 堆栈中指定的子网。
+ DisableIMDSv1

  类型：布尔值

  描述：（可选）指定禁`true`用实例元数据服务版本 1 (imdsv1)。默认情况下，节点支持 imdsv1 和 imdsv2。
+ BootstrapArguments

  类型：字符串

  描述：（可选）要传递给节点引导脚本的其他参数。

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。
+ `ssm:StartAutomationExecution`
+ `ssm:GetAutomationExecution`
+ `ssm:GetParameters`
+ `autoscaling:CreateAutoScalingGroup`
+ `autoscaling:CreateOrUpdateTags`
+ `autoscaling:DeleteTags`
+ `autoscaling:DescribeAutoScalingGroups`
+ `autoscaling:DescribeScalingActivities`
+ `autoscaling:DescribeScheduledActions`
+ `autoscaling:SetDesiredCapacity`
+ `autoscaling:TerminateInstanceInAutoScalingGroup`
+ `autoscaling:UpdateAutoScalingGroup`
+ `cloudformation:CreateStack`
+ `cloudformation:DescribeStackResource`
+ `cloudformation:DescribeStacks`
+ `cloudformation:UpdateStack`
+ `ec2:AuthorizeSecurityGroupEgress`
+ `ec2:AuthorizeSecurityGroupIngress`
+ `ec2:CreateLaunchTemplateVersion`
+ `ec2:CreateLaunchTemplate`
+ `ec2:CreateSecurityGroup`
+ `ec2:CreateTags`
+ `ec2:DeleteLaunchTemplate`
+ `ec2:DeleteSecurityGroup`
+ `ec2:DescribeAvailabilityZones`
+ `ec2:DescribeImages`
+ `ec2:DescribeInstanceAttribute`
+ `ec2:DescribeInstanceStatus`
+ `ec2:DescribeInstances`
+ `ec2:DescribeKeyPairs`
+ `ec2:DescribeLaunchTemplateVersions`
+ `ec2:DescribeLaunchTemplates`
+ `ec2:DescribeSecurityGroups`
+ `ec2:DescribeSubnets`
+ `ec2:DescribeVpcs`
+ `ec2:RevokeSecurityGroupEgress`
+ `ec2:RevokeSecurityGroupIngress`
+ `ec2:RunInstances`
+ `ec2:TerminateInstances`
+ `iam:AddRoleToInstanceProfile`
+ `iam:AttachRolePolicy`
+ `iam:CreateInstanceProfile`
+ `iam:CreateRole`
+ `iam:GetInstanceProfile`
+ `iam:GetRole`
+ `iam:PassRole`

 **文档步骤** 
+ DetermineParameterValuesForNewNodeGroup (aws: ExecuteScript)-收集用于新节点组的参数值。
+ CreateStack (aws: CreateStack)-为新节点组创建 CloudFormation 堆栈。
+ GetNewStackNodeInstanceRole (aws: executeAwsApi)-获取节点实例角色。
+ GetNewStackSecurityGroup (aws: executeAwsApi)-该步骤获取节点安全组。
+ AddIngressRulesToNewNodeSecurityGroup (aws: executeAwsApi)-向新创建的安全组添加入口规则，使其可以接受来自分配给您先前节点组的安全组的流量。
+ AddIngressRulesToOldNodeSecurityGroup (aws: executeAwsApi)-向先前的安全组添加入口规则，使其可以接受来自分配给您新创建的节点组的流量。
+ VerifyStackComplete (aws: assertAwsResourceProperty)-验证新的堆栈状态为。`CREATE_COMPLETE`

 **输出** 

DetermineParameterValuesForNewNodeGroup.NewStackParameters -用于创建新堆栈的参数。

GetNewStackNodeInstanceRole.NewNodeInstanceRole -新节点组的节点实例角色。

GetNewStackSecurityGroup.NewNodeSecurityGroup -新节点组的安全组的 ID。

DetermineParameterValuesForNewNodeGroup.NewStackName -新节点组的 CloudFormation 堆栈名称。

CreateStack.StackId -新节点组的 CloudFormation 堆栈 ID。