【问题标题】:Nginx Ingress Looking for Service in all Custom NamespacesNginx Ingress 在所有自定义命名空间中寻找服务
【发布时间】:2018-03-27 08:02:49
【问题描述】:

我有三个命名空间 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

【问题讨论】:

标签: docker nginx kubernetes openshift kubernetes-ingress


【解决方案1】:

在部署 nginx pod 时指定 --force-namespace-isolation=true 参数。并将图片更新为quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.12.0

【讨论】:

    【解决方案2】:

    我想详细说明@Narayan-Prusty 的回答。

    我必须添加--force-namespace-isolation=true 并将图像设置为quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.12.0,但还必须添加--watch-namespace=$(POD_NAMESPACE)

    【讨论】:

      猜你喜欢
      • 2019-07-09
      • 1970-01-01
      • 2018-08-05
      • 2021-09-22
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 2019-02-25
      • 2017-08-24
      相关资源
      最近更新 更多