aws / containers-roadmap

This is the public roadmap for AWS container services (ECS, ECR, Fargate, and EKS).
https://aws.amazon.com/about-aws/whats-new/containers/
Other
5.22k stars 321 forks source link

Ability to set VPC CNI configuration variables per instance type #1834

Open olileach opened 2 years ago

olileach commented 2 years ago

Community Note

Tell us about your request What do you want us to build?

I would like to be able to set VPC CNI configuration variables https://github.com/aws/amazon-vpc-cni-k8s#cni-configuration-variables per instance type using userdata (or another mechanism). When the VPC CNI pod starts on the host, I would like it to check for any variables I've set on the node and use those values instead of the global values set via the VPC CNI.

For example, MINIMUM_IP_TARGET and WARM_IP_TARGET configuration for the VPC CNI is a global setting and is applied to all instances deployed via kubernetes, regardless of whether these nodes are deployed via mechanisms like the Kube API, CloudFormation, EKSCTL, Cluster Autoscaler or Karpenter etc.

I would like to have the ability to set MINIMUM_IP_TARGET and WARM_IP_TARGET for either specific instance types deployed by CAS or Karpenter, for example.

Which service(s) is this request for? This could be EKS, Fargate

Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?

I am trying to solve the over allocation of IPs when using MINIMUM_IP_TARGET for all instance types. Say I have a batch workload which scale up, I want use 60 IPs for large instance types and a MINIMUM_IP_TARGET. But for smaller nodes in other node groups that manage other types of pods, will use this value and consume unnecessary IPs.

By setting these values on the node via userdata, I can control different instance types MINIMUM_IP_TARGET variable value. Different instance types can run different numbers of pods, therefore the MINIMUM_IP_TARGET can and should be different. Smaller instance types could have a smaller MINIMUM_IP_TARGET value whereas larger instance types could have a larger MINIMUM_IP_TARGET value.

It is currently hard to set these values per instance type using custom code as these are global settings applied via teh VPC CNI.

Are you currently working around this issue?

We're not but we are experimenting with init containers to see I we can set values ourselves

Additional context Anything else we should know?

I logged a similar feature request here but was told to log it within the containers roadmap.

Attachments If you think you might have additional information that you'd like to include via an attachment, please do - we'll take a look. (Remember to remove any personally-identifiable information.)

olileach commented 2 years ago

Any update on this, please?

virtualdom commented 2 months ago

Hi Any updates on this?

abbshr commented 1 month ago

@mikestef9 Any plan for this?