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

IPs are allocated to ENIs in an inconsistent way #377

Closed
nckturner opened this issue Apr 4, 2019 · 2 comments
Closed

IPs are allocated to ENIs in an inconsistent way #377

nckturner opened this issue Apr 4, 2019 · 2 comments

Comments

@nckturner
Copy link
Contributor

nckturner commented Apr 4, 2019

When IPAMD attempts to meet pod IP demands by allocating ENIs and IP addresses, it allocates new IP addresses and attaches them to the ENI in an inconsistent way. This behavior is easy to reproduce.

# Using https://github.com/aws/aws-k8s-tester:
aws-k8s-tester eks create config --path ./cni-test.yaml

Check some of the config values:

# cni-test.yaml
kubernetes-version: "1.11"
...
worker-node-asg-desired-capacity: 1
worker-node-asg-max: 1
worker-node-asg-min: 1
worker-node-instance-type: m3.xlarge
aws-k8s-tester eks create cluster --path ./cni-test.yaml

After cluster is ready and KUBECONFIG is set to generated kubeconfig file:

k run nginx --image nginx -r 50

Using the aws cli or console, detach an unused IP address, (determine it is unused by any pod by choosing one and cross referencing with kubectl get pod -o wide --all-namespaces.

Then, scale nginx to 60 replicas. The deployment should never get passed 55 pods in RUNNING state, when it should be 56.

@mogren mogren added bug needs investigation priority/P0 Highest priority. Someone needs to actively work on this. labels Apr 4, 2019
@mogren mogren removed the priority/P0 Highest priority. Someone needs to actively work on this. label Jul 18, 2019
@mogren mogren added the testing label Jan 29, 2020
@mogren
Copy link
Contributor

mogren commented Jan 29, 2020

We should verify that the reconcile loop in ipamd detects this and removes the detached IP from the data-store.

@mogren
Copy link
Contributor

mogren commented Sep 4, 2020

This has been added in #1177 where we check with EC2 in the reconcile loop in the case where the datastore and IMDS does not match.

@mogren mogren closed this as completed Sep 4, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants