eksctl create cluster stuck "waiting for CloudFormation stack"

1/17/2021

I'm trying to create a cluster via eksctl, using defaults options, and AMI user with "AdministratorAccess", I get stuck at "waiting for CloudFormation stack"

 > 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"

I have tried different regions, ran into the same issue.

-- Deano
amazon-eks
eksctl
kubernetes

2 Answers

1/18/2021

I always created CloudFormation stack manually and then chose it during eksctl create cluster command. To be sure you havent missed any step - please refer to nice Deploying a Kubernetes Cluster with Amazon EKS article with step-by-step instruction. Or any official documentation.


Creating a VPC for EKS

To do this, we’re going to use a CloudFormation template that contains all the necessary EKS-specific ingredients for setting up the VPC.

Open up CloudFormation, and click the Create new stack button.

On the Select template page, enter the URL of the CloudFormation YAML in the relevant section:

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

Give the VPC a name, leave the default network configurations as-is, and click Next.

On the Options page, you can leave the default options untouched and then click Next.

On the Review page, simply hit the Create button to create the VPC.

CloudFormation will begin to create the VPC. Once done, be sure to note the various values created — SecurityGroups, VpcId and SubnetIds. You will need these in subsequent steps.


And next, you can create cluster using command

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>

where

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.
-- Vit
Source: StackOverflow

3/15/2021

It takes almost 20 minutes to create the stacks in Cloudformation. When you create the cluster, check the progress of the stack in Cloudformation console: https://console.aws.amazon.com/cloudformation/home.

-- Kiran Reddy
Source: StackOverflow