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

Exclude Master and ExcludeBalancer nodes from Instance Groups #295

Closed
lbernail opened this issue Jun 1, 2018 · 1 comment
Closed

Exclude Master and ExcludeBalancer nodes from Instance Groups #295

lbernail opened this issue Jun 1, 2018 · 1 comment

Comments

@lbernail
Copy link
Contributor

lbernail commented Jun 1, 2018

The list of nodes added to instance groups is not consistent with the service controller.

In the service controller, when calling ensureLoadBalancer the node list provided to the cloud controller is built without Master and ExcludeBalancer nodes (with the feature gate ServiceNodeExclusion). Labels filtered out are node-role.kubernetes.io/master and alpha.service-controller.kubernetes.io/exclude-balancer. See function getNodeConditionPredicate:

https://github.com/kubernetes/kubernetes/blob/97fdf8ac70dfdaf07074dee6b6cb345be71e96ec/pkg/controller/service/service_controller.go#L585

This function then filters out nodes that are not ready.

In GCE, the load-balancer controller then creates instance groups based on these nodes.

However the logic is different in the ingress-gce controller: the getReadyNodeNames function lists Ready nodes and filters out Unschedulable nodes:

func getReadyNodeNames(lister listers.NodeLister) ([]string, error) {

This is an issue for us because we want to use both Internal Load Balancers and GCLB ingress and the list of nodes do not match (we run Kubernetes on GCE and we have kubelets on masters). In addition, our masters are behind an ILB and the ingress controller can't add them to instance groups because they are already part of load-balanced one.

If this makes sense, I'm happy to provide a PR.

@lbernail
Copy link
Contributor Author

lbernail commented Jun 1, 2018

I've just realized that this is a duplicate of #292
(I discovered the issue with @octplane earlier and did not recheck the issues before submitting)

I'm keeping it opened if you want some context on why this is an issue for us but feel free to close it

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