我有三个命名空间 dev、test 和 staging。test 和 staging 中没有 pod。在开发中,我有 nginx、入口和前端服务。对于对 nginx 的所有请求,它都会转发到前端服务。
但问题是开发中的 nginx 也试图在测试和暂存命名空间中找到前端服务。它在 3 个命名空间之间进行循环。所以有时页面正在加载,有时是 503 错误。
这是入口:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: frontend-ingress
namespace: dev
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
ingress.kubernetes.io/ssl-redirect: "false"
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: frontend
servicePort: 80
这是nginx的日志:
I0327 07:54:50.867120 1 command.go:76] change in configuration detected. Reloading...
W0327 07:54:50.867339 1 controller.go:841] service test/frontend does not have any active endpoints
W0327 07:54:50.867370 1 controller.go:841] service staging/frontend does not have any active endpoints
W0327 07:54:50.868198 1 controller.go:777] upstream test-frontend-80 does not have any active endpoints. Using default backend
W0327 07:54:50.868219 1 controller.go:777] upstream staging-frontend-80 does not have any active endpoints. Using default backend