Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
add apiserver-count fix proposal #939
referenced this pull request
Aug 29, 2017
Aggregated API servers use the service concept to present themselves to the system, so there's no need for them to do anything special here. (Yes, perhaps technically it should just be endpoints, but the service concept works and is easy.) (We should make the main apiserver work the same way eventually, IMO)…
On Wed, Aug 30, 2017 at 8:34 AM, Jordan Liggitt ***@***.***> wrote: ***@***.**** commented on this pull request. ------------------------------ In contributors/design-proposals/apiserver-count-fix.md <#939 (comment)>: > +instances within the Endpoints does not get cleaned up, or in the latter case +the endpoints start to flap. + +## Known Issues + +Each apiserver’s reconciler only cleans up for it's own IP. If a new +server is spun up at a new IP, then the old IP in the Endpoints list is +only reclaimed if the number of apiservers becomes greater-than or equal +to the masterCount. For example: + +* If the masterCount = 3, and there are 3 API servers running (named: A, B, and C) +* ‘B’ API server is terminated for any reason +* The IP for endpoint ‘B’ is not +removed from the Endpoints list + +There is logic within the aggregated servers can either delegate to service dns names (and therefore kube-proxy) or route to an IP selected from the endpoints for the service (and therefore take advantage of whatever mechanism removes unhealthy IP addresses from those endpoints) — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#939 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AAnglmmiTgX3JudGoDB3ICiS3vAlsynoks5sdYEegaJpZM4O625Y> .
That's a great point, we should make the default behavior flag-disableable so that it's possible to experiment with fully self hosted configurations.…
On Thu, Aug 31, 2017 at 5:31 AM, Kristian Klausen ***@***.***> wrote: Yeah, this would definitely be the way to go if all installations of Kubernetes were self-hosted. Unfortunately that is not the case. Just a question. Is there anyway to disable the default reconciler? So I can try with selector already now. — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#939 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AAnglmpyDSH0VhNGjHQTMp7XGkRCUfr8ks5sdqe8gaJpZM4O625Y> .
At the SIG meeting yesterday we collectively decided that using the storage interface directly was the least bad way of implementing this.
Note that other apiservers won't have this problem (they can use services & endpoints), it is unique to kube-apiserver.
The storage.Interface go interface is what apiserver uses to talk to etcd.…
On Thu, Aug 31, 2017 at 2:49 PM, Lucas Käldström ***@***.***> wrote: @lavalamp <https://github.com/lavalamp> what "storage interface" are you regerring to in this context? This will still use Endpoints, but in an other way, right? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#939 (comment)>, or mute the thread <https://github.com/notifications/unsubscribe-auth/AAnglnqarsdOuD6IN8mXUUZJG_hVLUFyks5sdyp8gaJpZM4O625Y> .