【问题标题】:How to increase nginx ingress loadbalancer replicas?如何增加 nginx 入口负载均衡器副本?
【发布时间】:2021-05-02 07:36:11
【问题描述】:

我通过helm chart 安装了 nginx 入口控制器。

现在我不想拥有多个负载均衡器,如何扩展它们?

编辑

我不想扩展 nginx 控制器部署。 helm 图表还添加了负载均衡器,我想知道我是否可以创建一个新的负载均衡器,或者我是否必须添加一些注释或 smth。像这样?

新的负载均衡器还会自动将流量转发到现有的 nginx 控制器吗?

【问题讨论】:

  • 为什么需要多个负载均衡器?就每秒处理数百万个请求而言,网络负载均衡器已经非常强大。万一负载均衡器以某种方式中断,是为了冗余吗?您打算如何将流量从您的站点重定向到多个负载均衡器?
  • 与几周或几个月前一样,Digital Ocean 只提供了 3 种类型的负载均衡器。首先,我们不能 100% 确定负载均衡器是否是瓶颈。它们也是 Kubernetes 集群中唯一不可扩展的部分。现在 Digital Ocean 提供负载均衡器,我认为它可以动态扩展至每秒一百万个请求。

标签: kubernetes load-balancing kubernetes-ingress nginx-ingress


【解决方案1】:

您可以使用 kubectl 简单地扩展 Nginx 部署副本

kubectl scale deployment <nginx-deployment-name> --replicas=5

例子

kubectl scale deployment nginx-ingress-controller -n ingress-nginx --replicas=5

编辑

您可以在入口文件中配置和添加注释。

例如:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: unifonic-service-ingress
  annotations:
    kubernetes.io/ingress.class: "nginx"
    cert-manager.io/cluster-issuer: staging
    nginx.ingress.kubernetes.io/proxy-read-timeout: "3600"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "3600"
    nginx.ingress.kubernetes.io/proxy-body-size: "50m"
spec:
  tls:
  - hosts:
    - example.com
    secretName: staging
  rules:
  - host: example.com
    http:
      paths:
      - path: /test
        backend:
          serviceName: main-service
          servicePort: 80

如果您需要运行多个入口 nginx 控制器来管理公共和内部流量,这可能会有所帮助:https://kubernetes.github.io/ingress-nginx/user-guide/multiple-ingress/#multiple-ingress-nginx-controllers

https://docs.nginx.com/nginx-ingress-controller/installation/running-multiple-ingress-controllers/#running-multiple-nginx-ingress-controllers

如果你想运行多个入口后端,你可以按类划分它们:

 annotations:
    kubernetes.io/ingress.class: "nginx"

 annotations:
    kubernetes.io/ingress.class: "gce"

【讨论】:

  • 我不想升级 nginx 控制器,我真的想升级负载均衡器 - 请参阅编辑。
  • 注解可以追加到入口对象或文件中。
  • 我说的是负载均衡器而不是入口,或者我可以添加一个负载均衡器。
  • 您可以将服务添加为负载均衡器,但为什么要为单个入口控制器运行多个 LB?
  • 我们已经有多个入口控制器,我们实际上将它们作为 DaemonSet 运行,但我想知道我是否可以添加一个新的 Loablancer 服务以及该服务器是否需要一些标签或其他东西?
猜你喜欢
  • 2019-08-05
  • 1970-01-01
  • 1970-01-01
  • 2017-12-18
  • 2021-05-21
  • 1970-01-01
  • 2013-04-28
  • 2022-01-03
  • 1970-01-01
相关资源
最近更新 更多