ingress-nginx 的多个外部 IP(负载均衡器)
Multiple external IP (load balancers) for ingress-nginx
如何使用 ingress-nginx 在单个集群中配置多个外部 IP?
我可以看到 ingress-nginx 使用外部 IP 创建了一个负载均衡器服务。我假设我需要创建另一个负载均衡器服务?我如何在入口中指示要使用哪个负载均衡器?
PS 我正在使用 GKE。
创建多个入口控制器。在新控制器中定义一个 class 名称,(此处 nginx-internal)
spec:
template:
spec:
containers:
- name: nginx-ingress-internal-controller
args:
- /nginx-ingress-controller
- '--election-id=ingress-controller-leader-internal'
- '--ingress-class=nginx-internal'
- '--configmap=ingress/nginx-ingress-internal-controller'
然后创建一个 Ingress
kubernetes.io/ingress.class: "nginx-internal"
注释。
例如,使用以下 yaml
创建一个 hello-world ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: hello-world
annotations:
kubernetes.io/ingress.class: "nginx-internal"
spec:
tls:
- secretName: tls-secret
rules:
- http:
paths:
- backend:
serviceName: hello-world-svc
servicePort: 8000
点击here查看官方文档
如何使用 ingress-nginx 在单个集群中配置多个外部 IP?
我可以看到 ingress-nginx 使用外部 IP 创建了一个负载均衡器服务。我假设我需要创建另一个负载均衡器服务?我如何在入口中指示要使用哪个负载均衡器?
PS 我正在使用 GKE。
创建多个入口控制器。在新控制器中定义一个 class 名称,(此处 nginx-internal)
spec:
template:
spec:
containers:
- name: nginx-ingress-internal-controller
args:
- /nginx-ingress-controller
- '--election-id=ingress-controller-leader-internal'
- '--ingress-class=nginx-internal'
- '--configmap=ingress/nginx-ingress-internal-controller'
然后创建一个 Ingress
kubernetes.io/ingress.class: "nginx-internal"
注释。
例如,使用以下 yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: hello-world
annotations:
kubernetes.io/ingress.class: "nginx-internal"
spec:
tls:
- secretName: tls-secret
rules:
- http:
paths:
- backend:
serviceName: hello-world-svc
servicePort: 8000
点击here查看官方文档