-
Notifications
You must be signed in to change notification settings - Fork 82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for AWS Managed NodeGroups #280
Conversation
72a742b
to
272178a
Compare
248fad9
to
761a64e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome to see this! A few questions on little details. The one larger question - which I think I know the answer to but would love to hear your thoughts - do we need the createManagedNodeGroup
instead of just allowing folks to use aws.eks.NodeGroup
directly instead? What benefits do uses get from having the API available here? And are there enough benefits to non-managed NodeGroups that you expect we’ll still want them long term here long term?
Great point, I'll refactor.
I believe we should keep self-managed NodeGroups in maintenance mode for now, and reassess later. Keeping it around allows:
As the Support Details in the OP note, some users may want specificity not yet supported in AWS managed node groups, e.g.: |
17e343f
to
236346d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I haven’t looked at backwards compatibility but I love the simplicity of the API in creating the managedNodeGroup - nice work here!
^ Thoughts on support details from OP @stack72 ? |
236346d
to
e287052
Compare
e815fe7
to
c8112c8
Compare
CI is currently broken, but I know where the fix is: the k8s test framework. I have to update it to account for managed nodegroups in addition to CF node groups. PTAL and review. |
@metral so the AWS CLI actually uses InstanceTypes as well - I think this could be for an upcoming feature - I think we should keep that |
c8112c8
to
6c5f7e7
Compare
Set defaults where possible: - clusterName - scalingConfig - subnets
6c5f7e7
to
41fc94a
Compare
CI is ✅ PTAL @lukehoban @joeduffy |
I've addressed feedback where possible, but have not yet identified a path forward for how to manage the aws-auth configmap between self-managed and managed node groups. To summarize what we're working with:
The only "clean" way I see of creating the configmap is that we must Thoughts @lukehoban @lblackstone? |
I believe that we should be able to keep the original model of creating the |
4f7730a
to
50cd020
Compare
50cd020
to
7f06aa6
Compare
Feedback has been addressed and CI is currently running with changes to the nodegroup to now depend on the original This is working as expected on the @lukehoban @lblackstone PTAL |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 🎉
Proposed changes
eks.createManagedNodeGroup()
to create AWS Managed Node Groups.PR includes new examples/test:
examples/managed-nodegroups
.Support Details:
Parity compared to self-managed node groups that use CloudFormation Stacks and ASGs.
kubelet-extra-args
is not supported.instance_types
(plural) to be a set, but EKS accepts a single, string value.pulumi.Output<string>
, which is inline with EKS supportinstanceTypes
(plural per the TF provider), even though its value is singular.References:
Related issues (optional)
Closes #278