繁体   English   中英

通过 CloudFormation 在启动模板中具有容量预留的 EKS 托管节点组不使用容量预留

[英]EKS Managed Nodegroup with Capacity Reservation in Launch Template through CloudFormation does not use Capacity Reservation

我正在使用 CloudFormation 为 EKS 创建托管节点组。

我有一个定义了CapacityReservationSpecification的 EC2 启动模板。

启动模板使用 CloudFormation 链接到托管节点组。 当托管节点组初始化时,启动模板被复制,名称中带有eks-***前缀。 CapacityReservationSpecification不会复制到新生成的启动模板中。 云形成脚本示例:

启动模板:

Resources:
  LaunchTemplateAux:
    Type: 'AWS::EC2::LaunchTemplate'
    Properties:
      LaunchTemplateData:
        InstanceType: t3.medium
        CapacityReservationSpecification:
          CapacityReservationTarget:
            CapacityReservationResourceGroupArn: {{reservation_group_arn}}
        MetadataOptions:
          HttpPutResponseHopLimit: 2
          HttpTokens: optional
        SecurityGroupIds:
          - xxxxx
      LaunchTemplateName: !Sub '${AWS::StackName}Aux'

节点组:

  ManagedNodeGroupAux:
    Type: 'AWS::EKS::Nodegroup'
    Properties:
      AmiType: AL2_x86_64
      ClusterName: test-cluster
      Labels:
        alpha.eksctl.io/cluster-name: test-cluster
        alpha.eksctl.io/nodegroup-name: test-ng-aux
      LaunchTemplate:
        Id: !Ref LaunchTemplateAux
      NodeRole: node-instance-role::NodeInstanceRole'
      NodegroupName: test-nodegroup
      ScalingConfig:
        DesiredSize: 1
        MaxSize: 2
        MinSize: 1
      Subnets:
        - xxx

生成的启动模板如下。 使用以下命令获得aws ec2 describe-launch-template-versions --launch-template-id <template-id> My Launch template Output:

{
    "LaunchTemplateVersions": [
        {
            "LaunchTemplateId": "lt-xx",
            "LaunchTemplateName": "test-cluster-ngAux",
            "VersionNumber": 1,
            "CreateTime": "2022-03-24T12:35:05+00:00",
            "CreatedBy": "xxx:user/xxx",
            "DefaultVersion": true,
            "LaunchTemplateData": {
                "InstanceType": "t3.medium",
                "SecurityGroupIds": [
                    "sg-xxx"
                ],
                "CapacityReservationSpecification": {
                    "CapacityReservationTarget": {
                        "CapacityReservationResourceGroupArn": "arn:aws:resource-groups:xxxxx:group/my-group"
                    }
                },
                "MetadataOptions": {
                    "HttpTokens": "optional",
                    "HttpPutResponseHopLimit": 2
                }
            }
        }
    ]
}

由 EKS API 复制的启动模板:

{
    "LaunchTemplateVersions": [
        {
            "LaunchTemplateId": "lt-xxx",
            "LaunchTemplateName": "eks-xxx",
            "VersionNumber": 1,
            "CreateTime": "2022-03-24T12:35:46+00:00",
            "CreatedBy": "xxx:assumed-role/AWSServiceRoleForAmazonEKSNodegroup/EKS",
            "DefaultVersion": true,
            "LaunchTemplateData": {
                "IamInstanceProfile": {
                    "Name": "xxx"
                },
                "ImageId": "ami-0c37e3f6cdf6a9007",
                "InstanceType": "t3.medium",
                "UserData": "xxx",
                "TagSpecifications": [
                    {
                        "ResourceType": "volume",
                        "Tags": [
                            {
                                "Key": "eks:cluster-name",
                                "Value": "test-cluster"
                            },
                            {
                                "Key": "eks:nodegroup-name",
                                "Value": "test-cluster-ng-aux"
                            }
                        ]
                    },
                    {
                        "ResourceType": "instance",
                "SecurityGroupIds": [
                    "xxx"
                ],
                "MetadataOptions": {
                    "HttpTokens": "optional",
                    "HttpPutResponseHopLimit": 2
                }
            }
        }
    ]
}

这似乎是 AWS 中的一个错误。 他们已经通知我他们会修好它。

https://repost.aws/questions/QUaid5sRdmRu2OFi7SQyxytg#ANF8uJ5RulQtmrVMaabAKZZg

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM