question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[aws-eks] Remove support for non-kubectlEnabled clusters

See original GitHub issue

Currently when instantiating an EKS cluster, a user can configure kubectlEnabled: false:

new eks.Cluster(this, 'Cluster', {
  kubectlEnabled: false
});

This will cause the resource to fallback to its pure CfnCluster implementation, which is more limited than the implementation with the custom resource.

Lets remove this code path and simply have all clusters be implemented with a custom resource, and thus all with kubectlEnabled: true by default.

Use Case

Supporting both scenarios creates a big maintenance burden and some strange quirks. For example, private cluster endpoint access is not supported by CfnCluster, but its not strictly related to the ability to run kubectl commands, so forcing the user to enable kubectl in order to configure private endpoint access is un natural.

On the other hand, supporting this feature for the pure CfnCluster use-case requires a big investment without good cause. I believe this code deviation is just a consequence of development cycles, and not necessarily intentional. There really is no reason why customers would opt to only use the pure CfnCluster.

Proposed Solution

Simply drop the kubectlEnabled flag, and use the custom resource implementation for all resources.

Other

  • 👋 I may be able to implement this feature request
  • ⚠️ This feature might incur a breaking change

This is a 🚀 Feature Request

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Reactions:2
  • Comments:8 (7 by maintainers)

github_iconTop GitHub Comments

1reaction
iliapolocommented, Aug 23, 2020

I see. So this means that in regions where this layer isn’t published, one would now use eks.LegacyCluster instead of using eks.Cluster with kubectlEnabled: false.

I agree that since we plan on removing eks.LegacyCluster eventually, this issue needs to be resolved. Taking this into consideration - Thanks!

0reactions
kaylanmcommented, Aug 23, 2020

@kaylanm Could you explain why? What in this change affects the layer?

This change makes the layer mandatory. The layer isn’t published in SAR for all partitions, and there is no way to specify the ARN of your own SAR publication, so it’s not possible to use this construct in that case.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Deleting an Amazon EKS cluster - AWS Documentation
You can delete a cluster with eksctl , the AWS Management Console, or the AWS CLI. Select the tab with the name of...
Read more >
Updating an Amazon EKS cluster Kubernetes version
Update the Kubernetes version of your Amazon EKS control plane. Replace my-cluster with your cluster name. Replace 1.24 with the Amazon EKS supported...
Read more >
EKS Managed Nodegroups - eksctl
Amazon EKS managed nodegroups is a feature that automates the provisioning and lifecycle management of nodes (EC2 instances) for Amazon EKS Kubernetes clusters....
Read more >
Fully Deleting AWS EKS Clusters - Medium
Delete all workloads inside your EKS Cluster. This should initiate the teardown of any external resources that were being managed by kubernetes ......
Read more >
terraform-aws-eks ) module
Terraform module to create an Elastic Kubernetes (EKS) cluster and associated ... Support for creating Karpenter related AWS infrastructure ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found