Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

224
Views
How to scale a nginx-ingress/loadbalancer?

So I am using the kubernetes NGINX Ingress Controller and installed it via the helm chart.

I didn't find any real documentation for the chart but referencing the values.yaml, I changed the controller.kind value to DaemonSet.

So the first part of this question, is this a good practice. I couldn't find any information about this, but one controller might not be enough to handle all incomming traffic, also we ran into some issues, where the node running ingress controller was down. I hope having the controller run as DaemonSet is sufficient, both regarding the availability and also regarding performance?

The second and more important part of the question is, how could I have multiple loadbalancers in such a setup? Since one loadbalancer might not be able to handle all traffic, we want to add multiple Loadbalancers, but as far as I understand, there will be one Service of type Loadbalancer created. How can I have multiple Loadbalancers?

Also is it possible to do this through a helm chart configuration?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Nginx Ingress Controller is not a load balancer, so when you say one load balancer would not be enough, I guess you mean one Ingress Controller pod would not be enough. In that case, creating several load balancers would not really help, as you would get more cloud provider load balancers pointing to the same Ingress Controller.

Now, Having a DaemonSet for IC might seem a good idea, but it is not. Especially when you have tens or hundreds of nodes, in which case you might have tens or hundreds of IC pods that you don't really need. You might need 5, for 40 nodes.

The proper way would be to change the object back to Deployment, create a HorizontalPodAutoscaler object for that Deployment, to scale based on a threshold that you will set. You might need to install metrics server for that. If you have the issue of having a node autoscaler, for example, that might take a node down at any moment, you should set a PodDisruptionBudget object, to prevent these cases. PDBs will prevent a node from being drained, and the node autoscaler would take down another node. You could also set an Anti-affinity against itself to prevent two IC pods to be deployed on the same node, to do the extra mile.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!