I am experiencing problems with my Kubernetes Load Balancer
Reviewed on 06 March 2025 • Published on 06 March 2025
If you are experiencing errors with your Kubernetes Kapsule Load Balancer, this page may help you find solutions to some of the most common problems.
ImportantYou should never try to create or modify a Kubernetes Kapsule’s Load Balancer via the Scaleway console, the API, or any other developer tools.
This leads to unexpected and unreliable behaviour, as the cluster’s Cloud Controller Manager is unaware of the Load Balancer and attempts to overwrite configurations made in the console.
Always provision and modify Kubernetes Load Balancers via the CCM. Use annotations to configure your cluster’s Load Balancer.
I’m experiencing connectivity issues with my Kubernetes Load BalancerLink to this anchor
You may find that your Load Balancer is not connecting to nodes in your Kapsule cluster, meaning that health checks are failing and your application is inaccessible from the internet
A configuration issue is preventing successful communication between your Load Balancer and the cluster’s nodes.
- Ensure that you provisioned and configured your Load Balancer via Kubernetes and not via the Scaleway console, which provokes unexpected behaviors and errors.
- Verify that the required service is running on all nodes. If it is missing from some nodes, this could be causing health checks to fail.
- Check your cluster’s
externalTrafficPolicy
setting. If it is set to Local
instead of Cluster
, this could be causing the issue. Change the policy to Cluster
.
- Try enabling or disabling Cloudflare’s Proxy Mode, which may be affecting connectivity.
My certificate is not being resolved when accessing my Kubernetes Load Balancer from within the clusterLink to this anchor
You may be able to reach applications from outside your cluster, but when trying to reach your Load Balancer from inside your Kapsule cluster, experience the following error message:
routines:ss3_get_record:wrong version number:../ssl/record/ssl3_record.c:331
The Load Balancer is not properly configured to handle requests from within the cluster. Specifically, it is not using the hostname to route requests.
Add an annotation to the Load Balancer configuration, to use the hostname to route requests:
service.beta.kubernetes.io/scw-loadbalancer-use-hostname: "true"
By adding this annotation, the Load Balancer will use the hostname to route requests from within the cluster.