- Newest
- Most votes
- Most comments
When updating an EKS cluster's API server endpoint access from Public only to Public + Private, there are several potential reasons why the update might fail.
Based on your cluster configuration, here are some things to check:
-
VPC Configuration: Ensure that your VPC has the necessary DNS settings properly configured. While you mentioned that enableDnsHostnames and enableDnsSupport are set to true, and you have the AmazonProvidedDNS in your DHCP options, verify that these settings are applied correctly.
-
Security Groups and Network ACLs: Check if there are any security groups or network ACLs that might be blocking the required traffic between your VPC and the EKS control plane.
-
Try using eksctl: As an alternative approach, you could try using the eksctl utility to update the cluster configuration:
eksctl utils update-cluster-vpc-config --cluster=<cluster-name> --public-access=true --private-access=true --public-access-cidrs=0.0.0.0/0
- Check update status: After attempting an update, you can check the status of the update operation to get more details about why it might be failing:
aws eks describe-update --name <cluster-name> --update-id <update-id>
The update ID would be returned in the output of your update-cluster-config command.
-
Subnet Configuration: Ensure that your private subnet has proper routing configured. For private API endpoint access, the EKS control plane needs to be able to communicate with the VPC.
-
AWS Service Quotas: Verify that you haven't hit any service quotas that might prevent the update.
If the issue persists, you might need to check the CloudTrail logs for more detailed error information or contact AWS Support for assistance with your specific cluster configuration.
Sources
Cluster Access - Eksctl User Guide
Use UpdateClusterConfig with a CLI - AWS SDK Code Examples
Securely access EKS cluster API server endpoint from within a VPC | AWS re:Post
UpdateClusterConfig - Amazon EKS
