You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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:
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.
The text was updated successfully, but these errors were encountered:
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 arenode-role.kubernetes.io/master
andalpha.service-controller.kubernetes.io/exclude-balancer
. See functiongetNodeConditionPredicate
: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:ingress-gce/pkg/controller/utils.go
Line 202 in 5642218
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.
The text was updated successfully, but these errors were encountered: