-
Notifications
You must be signed in to change notification settings - Fork 748
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 Windows IPAM options as Environment Variables #2726
Comments
@tip-dteller this configurability is already added in the EKS addon configuration for VPC CNI VPC CNI For the EKS addon API you linked above, using
The EKS addon for |
@jdn5126 - Thanks for the reply, Also, why in the helm chart the ConfigMap is created as an objected but isnt attached to the daemonset? is that by design? |
Correct
The ConfigMap is consumed by the controller: https://github.com/aws/amazon-vpc-resource-controller-k8s. In Windows deployments, the AWS VPC CNI is not used, as the controller handles all of the pod networking setup. These Windows variables are present in this helm chart only to make it easier for customers to use the same helm chart across Linux and Windows environments. This is where the AWS VPC CNI is prevented from being scheduled on Windows nodes: https://github.com/aws/amazon-vpc-cni-k8s/blob/master/config/master/aws-k8s-cni.yaml#L561 |
Hmm I suppose it should be documented under some section in the documentation, since this part confused me, if you hadnt mentioned it, i'd be chasing a tail, trying to figure out what consumes those variables and how. |
Which part should be documented? I see it covered pretty well in https://aws.github.io/aws-eks-best-practices/networking/prefix-mode/index_windows/ and https://docs.aws.amazon.com/eks/latest/userguide/windows-support.html |
|
I just want to add more context on why it might be misleading when using Helm chart. During the upgrade to And it took some time to understand how it will (or not) affect our configuration. Moreover when reading documentation you might think that - "Ok, Linux is using env vars for configuration, while Windows using config file entries", but as far as I remember from this discussion on IPv6 Disablement config file is just a config file that's not tied to the target OS and you may have some common configuration here. For me it would make more sense to have all windows-related setting to be configurable not only in the atomic way, but also to have main switch for the Helm chart, like |
@VLZZZ yeah, the naming for these ConfigMap variables was a big miss. The names are fixed because that is what the VPC Resource Controller looks at for Windows Prefix Delegation (https://github.com/aws/amazon-vpc-resource-controller-k8s/blob/master/pkg/config/type.go#L76). We need to update the names in a future release. |
What would you like to be added:
Would like to add the following as environment variables.
Why is this needed:
When running an EKS hybrid cluster - linux and windows. it is required per AWS documentation to add
'enable-windows-ipam=true' as a VPC-CNI ConfigMap, making IPs available for allocation to Windows Pods.
There's no easy to add this when building a cluster using Terraform or any other IaC tool.
The steps required are:
It would be far simpler to apply already in EKS Addon section of Terraform:
Env Vars should be loaded from the aws-vpc-cni\main.go - main.go
Subsequent logic should be added in relevant functions.
The text was updated successfully, but these errors were encountered: