Skip to content
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

[EKS] Custom AMI for managed worker nodes #741

Closed
cshivashankar opened this issue Feb 7, 2020 · 10 comments
Closed

[EKS] Custom AMI for managed worker nodes #741

cshivashankar opened this issue Feb 7, 2020 · 10 comments
Assignees
Labels
EKS Managed Nodes EKS Managed Nodes EKS Amazon Elastic Kubernetes Service Proposed Community submitted issue

Comments

@cshivashankar
Copy link

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Tell us about your request
As of date, managed nodes can only run only on predefined options of AMI.
I see only 2 options at present. Provide option of choosing custom AMI in managed nodes.

Which service(s) is this request for?
EKS

Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?
What outcome are you trying to achieve, ultimately, and why is it hard/impossible to do right now?
A custom AMI, based out of "https://github.com/awslabs/amazon-eks-ami " is being used in EKS cluster which I am managing. Even though there are little changes from the "aws-eks-ami" those changes are critical.
This can be overcome by configuring the nodes after they are alive and present in cluster.But this adds overhead of initial configuration and periodic checks for new nodes.
What is the impact of not having this problem solved? The more details you can provide, the better we'll be able to understand and solve the problem.
Its not possible to move to managed node groups.

Are you currently working around this issue?
Yes, I am not using managed node groups.

Additional context
None

Attachments
None

@cshivashankar cshivashankar added the Proposed Community submitted issue label Feb 7, 2020
@Pratima
Copy link

Pratima commented Feb 11, 2020

We would love to have a BYO AMI feature for EKS (similar to ECS). We need to get our compute CIS and docker benchmark compliant. AND we would need to get SSM connected to the AMI in order to access the instances.

@tabern
Copy link
Contributor

tabern commented Feb 11, 2020

This should be solved by #585

@tabern tabern added the EKS Amazon Elastic Kubernetes Service label Feb 11, 2020
@cshivashankar
Copy link
Author

Thanks @tabern , Any ETA for shipping this feature?

@mikestef9 mikestef9 changed the title Custom AMI for managed node workers [EKS] Custom AMI for managed node workers Feb 20, 2020
@mikestef9 mikestef9 changed the title [EKS] Custom AMI for managed node workers [EKS] Custom AMI for managed worker nodes Feb 20, 2020
@mikestef9
Copy link
Contributor

Hi @cshivashankar and @Pratima

Do you build your custom AMIs based off the EKS Optimized AMI template?
https://github.com/awslabs/amazon-eks-ami/blob/master/files/bootstrap.sh

How would you expect worker node bootstrapping to work?
Today, EKS Managed Nodes set EC2 user data that includes a command to call the bootstrap script with cluster name and certificate authority

This is required for a node to join the cluster. Would you want managed nodes to continue to include this user data and merge with any other user data you have? Or you would rather have full control over what user data is passed in that is need for your custom AMI based worker node to join the cluster?

@mikestef9 mikestef9 self-assigned this Feb 20, 2020
@cshivashankar
Copy link
Author

Hi @mikestef9 ,

Yes I do consume files based on EKS optimized AMI template.
User data is used for joining the cluster .

I would say managed nodes should continue including the basic user data so that basic functionalities like joining the cluster are still automated.
However Either through additional user data or some option of running custom configurations will be helpful. It might be installing required templates and customization or it could be some other configuration in the server itself.
An oversimplified example will be to install the Zabbix agent and connect to the central Zabbix server at boot or maybe a customized daemon configs, however, there might be other complicated cases.

@bneelima84
Copy link

Related #596

@MeghanaSrinath
Copy link

MeghanaSrinath commented Jun 8, 2020

We also have a case wherein we would need an option to specify the AMI for the managed worker nodes. So basically, we use the base AMIs, encrypt them with KMS encryption (also encrypt the volumes that gets attached to the instances) and then specify this encrypted image (on the fly) for the managed nodes that we bring up in EKS. Our application requires the encryption at all the stages. Hence it'd be great if an option to specify the AMIs can be provided while bringing up managed worker nodes in AWS EKS.

@mikestef9 mikestef9 added the EKS Managed Nodes EKS Managed Nodes label Jun 11, 2020
@MeghanaSrinath
Copy link

@mikestef9 Is there any ETA on this feature?

@mikestef9
Copy link
Contributor

Moved to coming soon, can't give any more fine grained details that that in this forum

@mikestef9
Copy link
Contributor

Closing as this feature request is addressed by launch template support. See #585 for details!

See EKS docs for specific details on using custom AMIs with managed node groups.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
EKS Managed Nodes EKS Managed Nodes EKS Amazon Elastic Kubernetes Service Proposed Community submitted issue
Projects
None yet
Development

No branches or pull requests

6 participants