gpt4 book ai didi

kubernetes - 无法在 nginx-ingress 上添加具有相同主机的多个 Ingress

转载 作者:行者123 更新时间:2023-12-02 12:13:42 30 4
gpt4 key购买 nike

我正在尝试添加多个应该共享同一主机的 Ingress。
一个 Ingress 应该处理对 www.example.de/some 的请求,一个 Ingress 应该处理所有其他请求。

这是 Ingress 配置的截图

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: some-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: "www.example.de"
http:
paths:
- path: "/some"
backend:
serviceName: some-svc
servicePort: 8585
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: other-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
spec:
rules:
- host: "www.example.de"
http:
paths:
- backend:
serviceName: other-svc
servicePort: 8080

作为入口 Controller ,我安装了 nginx-stable/nginx-ingress通过 Helm
helm install my-ingress nginx-stable/nginx-ingress

当尝试从上面创建两个 Ingress 时,只有一个在尝试访问 www.example.de 时有效(这在我的/etc/hosts 中映射到 127.0.0.1)。

在 nginx-ingress 日志中看到以下警告:

2020/01/08 09:33:51 [warn] 560#560: conflicting server name "www.example.de" on 0.0.0.0:80, ignored

2020/01/08 09:33:51 [warn] 560#560: conflicting server name "www.example.de" on 0.0.0.0:443, ignored

最佳答案

原来我用错了nginx-ingress Controller 。 nginxinc/kubernetes-ingress Controller 不支持将 Ingress 规则与同一主机合并(仅通过 Mergeable Ingresses )。
取而代之的是 kubernetes/ingress-nginx 应该使用。
列出了这些 Controller 之间的差异 here .
删除旧 Controller 并安装 kubernetes/ingress-nginx而是使用以下命令修复了问题。

helm install my-nginx stable/nginx-ingress
https://kubernetes.github.io/ingress-nginx/deploy/#using-helm

关于kubernetes - 无法在 nginx-ingress 上添加具有相同主机的多个 Ingress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59664998/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com