Skip to content

Improve default cluster availability zones #678

Closed
@deliahu

Description

@deliahu

Description

Currently there are two issues that users can run into regarding availability zones:

  1. EKS is not available in all availability zones within a supported region.
  2. Certain instance types are not available in all availability zones within a supported region.

Additional context

Example error message

[ℹ]  eksctl version 0.8.0
[ℹ]  using region us-east-1
[ℹ]  setting availability zones to [us-east-1e us-east-1c]
[ℹ]  subnets for us-east-1e - public:192.168.0.0/19 private:192.168.64.0/19
[ℹ]  subnets for us-east-1c - public:192.168.32.0/19 private:192.168.96.0/19
[ℹ]  nodegroup "ng-cortex-operator" will use "ami-087a82f6b78a07557" [AmazonLinux2/1.14]
[ℹ]  nodegroup "ng-cortex-worker" will use "ami-087a82f6b78a07557" [AmazonLinux2/1.14]
[ℹ]  using Kubernetes version 1.14
[ℹ]  creating EKS cluster "cortex2" in "us-east-1" region
[ℹ]  2 nodegroups (ng-cortex-operator, ng-cortex-worker) were included (based on the include/exclude rules)
[ℹ]  will create a CloudFormation stack for cluster itself and 2 nodegroup stack(s)
[ℹ]  if you encounter any issues, check CloudFormation console or try 'eksctl utils describe-stacks --region=us-east-1 --cluster=cortex2'
[ℹ]  CloudWatch logging will not be enabled for cluster "cortex2" in "us-east-1"
[ℹ]  you can enable it with 'eksctl utils update-cluster-logging --region=us-east-1 --cluster=cortex2'
[ℹ]  Kubernetes API endpoint access will use default of {publicAccess=true, privateAccess=false} for cluster "cortex2" in "us-east-1"
[ℹ]  2 sequential tasks: { create cluster control plane "cortex2", 2 parallel sub-tasks: { create nodegroup "ng-cortex-operator", create nodegroup "ng-cortex-worker" } }
[ℹ]  building cluster stack "eksctl-cortex2-cluster"
[ℹ]  deploying stack "eksctl-cortex2-cluster"
[✖]  unexpected status "ROLLBACK_IN_PROGRESS" while waiting for CloudFormation stack "eksctl-cortex2-cluster"
[ℹ]  fetching stack events in attempt to troubleshoot the root cause of the failure
[✖]  AWS::EC2::SubnetRouteTableAssociation/RouteTableAssociationPublicUSEAST1E: CREATE_FAILED – "Resource creation cancelled"
[✖]  AWS::EC2::SubnetRouteTableAssociation/RouteTableAssociationPublicUSEAST1C: CREATE_FAILED – "Resource creation cancelled"
[✖]  AWS::EC2::SubnetRouteTableAssociation/RouteTableAssociationPrivateUSEAST1E: CREATE_FAILED – "Resource creation cancelled"
[✖]  AWS::EC2::SubnetRouteTableAssociation/RouteTableAssociationPrivateUSEAST1C: CREATE_FAILED – "Resource creation cancelled"
[✖]  AWS::EC2::NatGateway/NATGateway: CREATE_FAILED – "Resource creation cancelled"
[✖]  AWS::EKS::Cluster/ControlPlane: CREATE_FAILED – "Cannot create cluster 'cortex2' because us-east-1e, the targeted availability zone, does not currently have sufficient capacity to support the cluster. Retry and choose from these availability zones: us-east-1a, us-east-1b, us-east-1c, us-east-1d, us-east-1f (Service: AmazonEKS; Status Code: 400; Error Code: UnsupportedAvailabilityZoneException; Request ID: 9783591e-a9f4-4511-b142-fcd8ba0f08a7)"
[ℹ]  1 error(s) occurred and cluster hasn't been created properly, you may wish to check CloudFormation console
[ℹ]  to cleanup resources, run 'eksctl delete cluster --region=us-east-1 --name=cortex2'
[✖]  waiting for CloudFormation stack "eksctl-cortex2-cluster" to reach "CREATE_COMPLETE" status: ResourceNotReady: failed waiting for successful resource state
[✖]  failed to create cluster "cortex2"

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions