【问题标题】:eksctl create cluster stuck "waiting for CloudFormation stack"eksctl 创建集群卡住“等待 CloudFormation 堆栈”
【发布时间】:2021-03-15 13:58:13
【问题描述】:

我正在尝试通过 eksctl 创建一个集群,使用默认选项,并且使用“AdministratorAccess”的 AMI 用户,我卡在“等待 CloudFormation 堆栈”

 > eksctl create cluster --name dev
[ℹ]  eksctl version 0.36.0
[ℹ]  using region us-west-2
[ℹ]  setting availability zones to [us-west-2a us-west-2c us-west-2b]
[ℹ]  subnets for us-west-2a - public:192.168.0.0/19 private:192.168.96.0/19
[ℹ]  subnets for us-west-2c - public:192.168.32.0/19 private:192.168.128.0/19
[ℹ]  subnets for us-west-2b - public:192.168.64.0/19 private:192.168.160.0/19
[ℹ]  nodegroup "ng-fa4af514" will use "ami-0532808ed453f9ca3" [AmazonLinux2/1.18]
[ℹ]  using Kubernetes version 1.18
[ℹ]  creating EKS cluster "dev" in "us-west-2" region with un-managed nodes
[ℹ]  will create 2 separate CloudFormation stacks for cluster itself and the initial nodegroup
[ℹ]  if you encounter any issues, check CloudFormation console or try 'eksctl utils describe-stacks --region=us-west-2 --cluster=dev'
[ℹ]  CloudWatch logging will not be enabled for cluster "dev" in "us-west-2"
[ℹ]  you can enable it with 'eksctl utils update-cluster-logging --enable-types={SPECIFY-YOUR-LOG-TYPES-HERE (e.g. all)} --region=us-west-2 --cluster=dev'
[ℹ]  Kubernetes API endpoint access will use default of {publicAccess=true, privateAccess=false} for cluster "dev" in "us-west-2"
[ℹ]  2 sequential tasks: { create cluster control plane "dev", 3 sequential sub-tasks: { no tasks, create addons, create nodegroup "ng-fa4af514" } }
[ℹ]  building cluster stack "eksctl-dev-cluster"
[ℹ]  deploying stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"
[ℹ]  waiting for CloudFormation stack "eksctl-dev-cluster"

我尝试了不同的地区,遇到了同样的问题。

【问题讨论】:

  • 我已经用了 20 分钟的时间和尽可能多的“等待...”行。仅控制平面步骤就花费了 12 分钟以上。您可以在 CloudFormation Web 控制台中跟踪进度。单击正在进行的堆栈并查看“事件”选项卡。
  • @seanswe 你是对的,这是一个等待游戏,它也花了 20 分钟左右才开始构建集群。
  • 同样的问题。 CloudFormation 堆栈已完成,但 eksctl 等待又等待。然后等待。

标签: kubernetes amazon-eks eksctl


【解决方案1】:

在 Cloudformation 中创建堆栈大约需要 20 分钟。创建集群时,在 Cloudformation 控制台中检查堆栈的进度:https://console.aws.amazon.com/cloudformation/home

【讨论】:

    【解决方案2】:

    我总是手动创建 CloudFormation 堆栈,然后在 eksctl create cluster 命令期间选择它。 为确保您没有错过任何步骤 - 请参阅带有分步说明的漂亮 Deploying a Kubernetes Cluster with Amazon EKS 文章。或任何官方文档。


    为 EKS 创建 VPC

    为此,我们将使用 CloudFormation 模板,其中包含设置 VPC 所需的所有 EKS 特定成分。

    打开 CloudFormation,然后单击创建新堆栈按钮。

    在选择模板页面,在相关部分输入 CloudFormation YAML 的 URL:

    https://amazon-eks.s3-us-west-2.amazonaws.com/cloudformation/2019-01-09/amazon-eks-vpc-sample.yaml

    为 VPC 命名,保持默认网络配置不变,然后单击下一步。

    在“选项”页面上,您可以保持默认选项不变,然后单击“下一步”。

    在 Review 页面上,只需点击 Create 按钮即可创建 VPC。

    CloudFormation 将开始创建 VPC。 完成后,请务必记下创建的各种值 - SecurityGroups、VpcId 和 SubnetIds。您将在后续步骤中需要这些。


    接下来,您可以使用命令创建集群

    aws eks --region <region> create-cluster --name <clusterName> --role-arn <EKS-role-ARN> --resources-vpc-config subnetIds=<subnet-id-1>,<subnet-id-2>,<subnet-id-3>,securityGroupIds=<security-group-id>
    

    在哪里

    subnetIds — a comma-separated list of the SubnetIds values from the AWS CloudFormation output that you generated in the previous step.
    security-group-id — the SecurityGroups value from the AWS CloudFormation output that you generated in the previous step.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-24
      • 2021-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多