when i use the klipper-lb , and make service as layer-4 mode , the slb will create two pods , the loadbalancerIp config seems not apply. if the klipper-lb is similar to metallb, I think the balancerIP is important and I think only one pods for the slb is enough.
BTW, I deplyed the metallb, the rancher(v2.2.0) will always update the service (sometimes , it update once for a few minutes, some times it update service one by one.) , I don't know why... some wrong in k3s? or rancher?
the metallb-controller logs:
{"caller":"main.go:89","error":"Operation cannot be fulfilled on services \"gitlab-pages\": the object has been modified; please apply your changes to the latest version and try again","msg":"failed to update service status","op":"updateServiceStatus","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:01.572523153Z"}
2019/3/27 涓嬪崍10:46:01 {"caller":"main.go:90","event":"endUpdate","msg":"end of service update","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:01.572793252Z"}
2019/3/27 涓嬪崍10:46:01 {"caller":"main.go:49","event":"startUpdate","msg":"start of service update","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:01.57303711Z"}
2019/3/27 涓嬪崍10:46:01 {"caller":"main.go:72","event":"noChange","msg":"service converged, no change","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:01.573241503Z"}
2019/3/27 涓嬪崍10:46:01 {"caller":"main.go:73","event":"endUpdate","msg":"end of service update","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:01.573345273Z"}
2019/3/27 涓嬪崍10:46:01 {"caller":"main.go:49","event":"startUpdate","msg":"start of service update","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:01.593114953Z"}
2019/3/27 涓嬪崍10:46:01 {"caller":"main.go:72","event":"noChange","msg":"service converged, no change","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:01.593443635Z"}
2019/3/27 涓嬪崍10:46:01 {"caller":"main.go:73","event":"endUpdate","msg":"end of service update","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:01.593545231Z"}
2019/3/27 涓嬪崍10:46:37 {"caller":"main.go:49","event":"startUpdate","msg":"start of service update","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:37.345761489Z"}
2019/3/27 涓嬪崍10:46:37 {"caller":"service.go:67","event":"clearAssignment","msg":"user requested a different IP than the one currently assigned","reason":"differentIPRequested","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:37.346103774Z"}
2019/3/27 涓嬪崍10:46:37 {"caller":"service.go:88","event":"ipAllocated","ip":"10.0.4.106","msg":"IP address assigned by controller","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:37.346163836Z"}
2019/3/27 涓嬪崍10:46:37 {"caller":"main.go:93","event":"serviceUpdated","msg":"updated service object","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:37.35287754Z"}
2019/3/27 涓嬪崍10:46:37 {"caller":"main.go:95","event":"endUpdate","msg":"end of service update","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:37.352937604Z"}
2019/3/27 涓嬪崍10:46:37 {"caller":"main.go:49","event":"startUpdate","msg":"start of service update","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:37.545828621Z"}
2019/3/27 涓嬪崍10:46:37 {"caller":"main.go:72","event":"noChange","msg":"service converged, no change","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:37.54595554Z"}
2019/3/27 涓嬪崍10:46:37 {"caller":"main.go:73","event":"endUpdate","msg":"end of service update","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:37.545975494Z"}
2019/3/27 涓嬪崍10:46:44 {"caller":"main.go:49","event":"startUpdate","msg":"start of service update","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:44.945778022Z"}
2019/3/27 涓嬪崍10:46:44 {"caller":"service.go:67","event":"clearAssignment","msg":"user requested a different IP than the one currently assigned","reason":"differentIPRequested","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:44.945906547Z"}
2019/3/27 涓嬪崍10:46:44 {"caller":"service.go:88","event":"ipAllocated","ip":"10.0.4.106","msg":"IP address assigned by controller","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:44.946032428Z"}
2019/3/27 涓嬪崍10:46:44 {"caller":"main.go:93","event":"serviceUpdated","msg":"updated service object","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:44.952686066Z"}
2019/3/27 涓嬪崍10:46:44 {"caller":"main.go:95","event":"endUpdate","msg":"end of service update","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:44.952723558Z"}
2019/3/27 涓嬪崍10:46:45 {"caller":"main.go:49","event":"startUpdate","msg":"start of service update","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:45.146124187Z"}
2019/3/27 涓嬪崍10:46:45 {"caller":"service.go:67","event":"clearAssignment","msg":"user requested a different IP than the one currently assigned","reason":"differentIPRequested","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:45.146360936Z"}
2019/3/27 涓嬪崍10:46:45 {"caller":"service.go:88","event":"ipAllocated","ip":"10.0.4.106","msg":"IP address assigned by controller","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:45.146861054Z"}
2019/3/27 涓嬪崍10:46:45 {"caller":"main.go:93","event":"serviceUpdated","msg":"updated service object","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:45.151691313Z"}
2019/3/27 涓嬪崍10:46:45 {"caller":"main.go:95","event":"endUpdate","msg":"end of service update","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:45.151730168Z"}
2019/3/27 涓嬪崍10:46:45 {"caller":"main.go:49","event":"startUpdate","msg":"start of service update","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:45.345672972Z"}
2019/3/27 涓嬪崍10:46:45 {"caller":"main.go:72","event":"noChange","msg":"service converged, no change","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:45.345801153Z"}
2019/3/27 涓嬪崍10:46:45 {"caller":"main.go:73","event":"endUpdate","msg":"end of service update","service":"kube-public/gitlab-pages","ts":"2019-03-27T14:46:45.345821
Could you provide more info on the services (kubectl get service --all-namespaces) and the svclb- pod logs?
@erikwilson not the svclb error , this is use the metallb on k3s , the metallb controller will update service once by once.
the kilper-lb always deploy two pods , and the loadbalancerIP of service doesn't effect.
@xrain0610 the reason I asked for more info is the above logs or text don't really provide me enough to understand what is going on here. It looks like something is misconfigured but I am not sure. If you could provide more information as far as the steps to reproduce or the data from kubectl services that would be awesome, it may help me to fix this issue.
I haven't really tried using metallb much, so I am interested in the steps you are taking to configure k3s and launch services, or any potential port conflicts. It could be that the --no-deploy server flag may help with disabling traefik or servicelb to allow metallb to work.
The constant updates visible in this log spam are caused by the servicelb and metallb each updating the services' ingress IP. You're going to have to disable servicelb with --no-deploy=servicelb in order to be able to use metallb.
Most helpful comment
The constant updates visible in this log spam are caused by the servicelb and metallb each updating the services' ingress IP. You're going to have to disable servicelb with
--no-deploy=servicelbin order to be able to use metallb.