-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Closed
Labels
Description
What were you trying to accomplish?
I'm trying to create Amazon EKS clusters on AWS Outpost Rack environment.
What happened?
The creation process fails, reporting that 1 error(s) occurred and cluster hasn't been created properly. When checking the Amazon CloudFormation the stacks completed successfully, and on Amazon EKS console we see the cluster reporting as healthy.
How to reproduce it?
Try to create a EKS Extended/Local Cluster on AWS Outpost Rack server, following the examples provided in the documentation.
https://eksctl.io/usage/outposts/
Logs
$ eksctl create cluster -f temp.yaml
2024-07-16 14:37:31 [ℹ] eksctl version 0.187.0
2024-07-16 14:37:31 [ℹ] using region us-west-2
2024-07-16 14:37:34 [ℹ] subnets for us-west-2a - public:192.168.0.0/19 private:192.168.32.0/19
2024-07-16 14:37:34 [ℹ] using Kubernetes version 1.28
2024-07-16 14:37:34 [ℹ] creating EKS cluster "outpost-localcluster" in "us-west-2" region with
2024-07-16 14:37:34 [ℹ] will create a CloudFormation stack for cluster itself and 0 nodegroup stack(s)
2024-07-16 14:37:34 [ℹ] will create a CloudFormation stack for cluster itself and 0 managed nodegroup stack(s)
2024-07-16 14:37:34 [ℹ] if you encounter any issues, check CloudFormation console or try 'eksctl utils describe-stacks --region=us-west-2 --cluster=outpost-localcluster'
2024-07-16 14:37:34 [ℹ] Kubernetes API endpoint access will use provided values {publicAccess=false, privateAccess=true} for cluster "outpost-localcluster" in "us-west-2"
2024-07-16 14:37:34 [ℹ] CloudWatch logging will not be enabled for cluster "outpost-localcluster" in "us-west-2"
2024-07-16 14:37:34 [ℹ] 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=outpost-localcluster'
2024-07-16 14:37:34 [ℹ] default addons vpc-cni, kube-proxy, coredns were not specified, will install them as EKS addons
2024-07-16 14:37:34 [ℹ]
2 sequential tasks: { create cluster control plane "outpost-localcluster",
2 sequential sub-tasks: {
1 task: { create addons },
wait for control plane to become ready,
}
}
2024-07-16 14:37:34 [ℹ] building cluster stack "eksctl-outpost-localcluster-cluster"
2024-07-16 14:37:36 [ℹ] deploying stack "eksctl-outpost-localcluster-cluster"
2024-07-16 14:38:06 [ℹ] waiting for CloudFormation stack "eksctl-outpost-localcluster-cluster"
2024-07-16 14:38:37 [ℹ] waiting for CloudFormation stack "eksctl-outpost-localcluster-cluster"
2024-07-16 14:39:39 [ℹ] waiting for CloudFormation stack "eksctl-outpost-localcluster-cluster"
2024-07-16 14:40:40 [ℹ] waiting for CloudFormation stack "eksctl-outpost-localcluster-cluster"
2024-07-16 14:41:42 [ℹ] waiting for CloudFormation stack "eksctl-outpost-localcluster-cluster"
2024-07-16 14:42:43 [ℹ] waiting for CloudFormation stack "eksctl-outpost-localcluster-cluster"
2024-07-16 14:43:45 [ℹ] waiting for CloudFormation stack "eksctl-outpost-localcluster-cluster"
2024-07-16 14:44:46 [ℹ] waiting for CloudFormation stack "eksctl-outpost-localcluster-cluster"
2024-07-16 14:45:47 [ℹ] waiting for CloudFormation stack "eksctl-outpost-localcluster-cluster"
2024-07-16 14:46:49 [ℹ] waiting for CloudFormation stack "eksctl-outpost-localcluster-cluster"
2024-07-16 14:46:59 [!] 1 error(s) occurred and cluster hasn't been created properly, you may wish to check CloudFormation console
2024-07-16 14:46:59 [ℹ] to cleanup resources, run 'eksctl delete cluster --region=us-west-2 --name=outpost-localcluster'
2024-07-16 14:46:59 [✖] unknown OIDC issuer URL
Error: failed to create cluster "outpost-localcluster"
Anything else we need to know?
Looks like the issue is related to this code block, when eksctl try to pull the OIDC URL but it doesn't verify if the cluster is on AWS Outpost and thinks the URL is malformed.
Lines 165 to 167 in 02c41d5
| if c.Status.ClusterInfo.Cluster == nil || c.Status.ClusterInfo.Cluster.Identity == nil || c.Status.ClusterInfo.Cluster.Identity.Oidc == nil || c.Status.ClusterInfo.Cluster.Identity.Oidc.Issuer == nil { | |
| return nil, &iamoidc.UnsupportedOIDCError{Message: "unknown OIDC issuer URL"} | |
| } |
Versions
$ eksctl info
eksctl version: 0.187.0
kubectl version: v1.30.2
OS: darwin
Reactions are currently unavailable