我通过helm图表安装了nginx入口控制器。
现在我不想拥有多个负载均衡器,如何扩展它们?
编辑
我不想扩展 nginx 控制器部署。舵图还添加了负载平衡器,我想知道是否可以创建一个新的负载平衡器,或者是否必须添加一些注释或其他东西。就这样?
新的负载均衡器是否会自动将流量转发到现有的 nginx 控制器?
您可以使用
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 控制器
如果你想运行多个入口后端,你可以按类别划分它们:
annotations:
kubernetes.io/ingress.class: "nginx"
或
annotations:
kubernetes.io/ingress.class: "gce"
如果现在有人提出这个问题,您可以通过在 nginx-ingress-controller 上添加注释来自定义 DigitalOcean 负载均衡器的节点数
controller.service.annotations.service.beta.kubernetes.io/do-loadbalancer-size-unit: 2
这将添加 2 个节点(记住,它的成本也会加倍)。