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

Utilising Endpoints instead of EndpointSlices #272

Open
WJay-tec opened this issue Feb 24, 2023 · 2 comments
Open

Utilising Endpoints instead of EndpointSlices #272

WJay-tec opened this issue Feb 24, 2023 · 2 comments

Comments

@WJay-tec
Copy link

WJay-tec commented Feb 24, 2023

Based on my current observation and the problem encountered in this issue #270 , i realise the current implementation of the MCS controller obtains the EndpointSlices object instead of the Endpoints object when it comes to updating the cloud map with ip's of running pod.

This will cause issues related to RollingUpdate, as EndpointSlices is updated with newly created pod's ip even though the service have not passed its ReadinessProbe check. This should be mitigated if we instead take the info from Endpoints object instead, which only adds the pod's ip if it passes the readiness check.

@runakash
Copy link
Member

runakash commented Feb 25, 2023

Using EndpointSlice was a deliberate design choice to support large number of endpoints. And also is par with the Kubernetes's recommendation.

This will cause issues related to RollingUpdate, as EndpointSlices is updated with newly created pod's ip even though the service have not passed its ReadinessProbe check.

This is quite interesting. Is this documented behavior?

The Ready condition in EndpointSlice maps to Pod's ready.

@WJay-tec
Copy link
Author

WJay-tec commented Feb 25, 2023

Ah i see, then is the code checking the condition before updating cloud map? From what i see the unready ip was already updated in all the clusters before the pod was up. I could be wrong @runakash

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants