Closed michalschott closed 1 year ago
/kind documentation @michalschott Hi, this is actually a feature we introduced since v2.5.0 version. The webhook will automatically mutate services to make it reconciled by this controller unless u specified a loadbalancerClass. You can disable this feature via featureFlag on controller: --feature-gates=enableServiceMutatorWebhook=false see more https://github.com/kubernetes-sigs/aws-load-balancer-controller/releases/tag/v2.5.0
we shall update the documentation to reflect this.
BTW, Services powered this controller provides a super set of feature as the in-tree controller, the only difference i can see is Services provisioned by this controller are "internal-facing" by default for security reasons, unless service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing
annotation is specified.
@M00nF1sh thanks for an explanation. I assume since I do not provide this key, it is being picked and filled wby mutationwebhook.
Any idea what would be the value for now if I'd like to stick to in-tree controller until I figure out what is wrong with LB provided by ALB controller?
Indeed the only diff I have noticed is name, but also upstream healthcheck default value changed from 30s to 10s. Basically behavior I see is nginx-ingress returns 504 for all requests.
@M00nF1sh interesting, it works in "ip" mode (service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip
). In "instance" mode traffic is not forwarded to nginx pods at all - might be something to do with kube-proxy
?
update
updated default kube-proxy from 1.24.7
to 1.24.9
and problem is gone.
@M00nF1sh that problem still appeared recently.
Describe the bug
Given service manifest:
As you can see theres no
spec.loadBalancerClass
key set, but while describing this service from k8s key is set:Figured out this must be mutated by webhook:
Documentation snippet:
For some reason NLB provided by controller does not work the same way as the one provided by in-tree controller. For now, I'd like to skip controller taking over and stick to in-tree.
Is that a typo in documentation? The only way I could achieve sticking to in-tree is by removing above webhook snipped from mutatingwebhookconfiguration, potentially I could also extend
matchExpressions
.Steps to reproduce
Expected outcome A concise description of what you expected to happen.
Environment