【发布时间】:2019-06-20 06:09:26
【问题描述】:
我有一组服务要公开为入口负载均衡器。我选择 nginx 作为入口是因为能够强制 http 到 https 重定向。
拥有类似的入口配置
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: api-https
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: true
nginx.ingress.kubernetes.io/force-ssl-redirect: true
nginx.org/ssl-services: "api,spa"
kubernetes.io/ingress.class: nginx
spec:
tls:
- hosts:
- api.some.com
- www.some.com
secretName: secret
rules:
- host: api.some.com
http:
paths:
- path: /
backend:
serviceName: api
servicePort: 8080
- host: www.some.com
http:
paths:
- path: /
backend:
serviceName: spa
servicePort: 8081
gke 创建了 nginx 入口负载均衡器,还创建了另一个带有后端的负载均衡器,例如如果没有选择 nginx 而选择 gcp 作为入口。
下面的屏幕截图以红色显示了两个意外的 LB,蓝色显示了两个 nginx 入口 LB,分别用于我们的 qa 和 prod env。
kubectl 获取服务的输出
xyz@cloudshell:~ (xyz)$ kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
api NodePort 1.2.3.4 <none> 8080:32332/TCP,4433:31866/TCP 10d
nginx-ingress-controller LoadBalancer 1.2.6.9 12.13.14.15 80:32321/TCP,443:32514/TCP 2d
nginx-ingress-default-backend ClusterIP 1.2.7.10 <none> 80/TCP 2d
spa NodePort 1.2.8.11 <none> 8082:31847/TCP,4435:31116/TCP 6d
来自 gcp gke 服务视图的入口的屏幕截图,其中包含错误信息
这是预期的吗?
我是否错过了任何配置来阻止创建这个额外的负载均衡器?
【问题讨论】:
-
您能否包含一些输出来说明您对附加负载平衡器的意思?你在哪里看到的?
-
添加了@RyanDawson
-
如果您在另一个命名空间中有 LoadBalancer 服务,您能否包含“kubectl get services”或“kubectl get services --all-namespaces”的输出。
-
添加了@RyanDawson
标签: nginx kubernetes kubernetes-ingress google-kubernetes-engine nginx-ingress