kubernetes service type=LoadBalancer always creates a linode NodeBalancer
hi, I have my own balancer that I want to use on linode kubernetest, but each time I want to create a service a linode netbalancer will be created. Is there a way to avoid this and have my own?
tks
Guillermo
3 Replies
LKE is a managed service that comes with certain features included that can't be removed; one of those is the Linode Cloud Controller Manager (CCM). When you deploy Load Balancer Service with CCM, a NodeBalancer is automatically deployed and configured. So, while there may be some sort of workaround to get your own balancer into your cluster in some way, the easiest way to use your own load balancer would be to instead deploy an unmanaged K8s Cluster.
While our CCM can be installed on an unmanaged cluster, as long as you don't do that, you should be able to deploy a load balancer service without creating a NodeBalancer.
If you can tell us more about your use case, like what you plan to use for load balancing and any reasons you prefer that to a NodeBalancer, we may be able to provide some additional information, but I'm not able to find a way to create a service of that type on LKE without creating a NodeBalancer.
I have several use cases where I absolutely do not need a public facing LoadBalancer, let alone a dedicated load balancing service.
I just want to annotate it with "spec.loadBalancerClass: tailscale" to use the LoadBalancer from the Tailscale operator.
As mentioned, this is one of the inherent trade-offs between using a managed service versus self administering a cluster. If there are features you need to enable/disable outside of the scope of LKE, you may need to consider administering a cluster using kubeadm
: