How do I optimize Kubernetes / Nodebalancer configuration

Greetings! Long time Linode user, new Kubernetes user. While deploying LoadBalancer Services through Kubernetes, which get mapped to Linode Nodebalancer, I had the following questions / concerns. Any assistance / answers would be highly appreciated.

#1: Nodebalance Private IP / Service Cluster IP

According to Linode documentation, Nodebalancers' public IP are permanent but the private IP, in the 192.168.255.0/24, is subject to change. Inspecting the service via kubectl, a 'Cluster IP' is listed.

Is this cluster IP static? And is it considered a private ip from the perspective of linode networking and billing. The use case here is in the context of deploying our database. We would like to have multiple DB nodes accessible via a single internal ip, with our application nodes (in the same datacenter / kubernetes cluster) connecting to that, without it counting towards the node traffic allocation. Is this possible?

#2: Multiple kubernetes services on a single nodebalancer

Continuing from the above, were we to deploy multiple database pods (via a StatefulSet) and multiple application pods (via a Deployment), both with LoadBalancer services, linode would create two NodeBalancer, charging a separate monthly cost for each. Since both the database and application runs on different ports, it would be ideal if we could combine these services into one NodeBalancer with multiple port configurations. Is this possible?

#3: NodeBalancer cost computation

Finally we'd like to inquire how and when NodeBalancer charges are incurred. Over the last few days, as we ironed out our application's kubernetes configuration, we spun up and tore down many LoadBalancer service deployments. Will we be charged the monthly cost immediately for each of these or is there are hourly breakdown or similar?

Thank you in advance for any insights provided!

2 Replies

To address #2 I got around the multiple LoadBalancer issue by using a 'ClusterIP' for the Database which creates a load balancer internal to the kubernetes cluster but does not create a linode load balancer.

Reading the documentation I'm wondering if it would be accomplishable to address the original use case, multiple configurations in a single node balancer using kubernetes endpoints, but alas I don't need to solve this issue so it will be left as an exercise for you! (let us know how it goes if you try)

As far as #1, I'm pretty sure that the service Cluster IP is static and won't change for the lifetime of the service but can't say for sure… fingers crossed.

And as far as #3 I still have no clue, though if I don't hear an answer will find our during the next linode billing cycle.

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct