【发布时间】:2020-03-25 15:11:15
【问题描述】:
假设我有两个入口 ingress-a 和 ingress-b 用于同一主机但路径不同:
ingress-a:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
name: app-a
namespace: namespace-a
spec:
rules:
- host: myhost.com
http:
paths:
- backend:
serviceName: app-a
servicePort: 8080
path: /path-a
tls:
- hosts:
- myhost.com
secretName: tls-a
ingress-b:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
name: app-b
namespace: namespace-b
spec:
rules:
- host: myhost.com
http:
paths:
- backend:
serviceName: app-b
servicePort: 8080
path: /path-b
tls:
- hosts:
- myhost.com
secretName: tls-b
现在我需要更新证书。假设我在 tls-new 中创建了新秘密,但只更新了 ingress-a 以指向它。这两个入口中的哪一个会获胜?
我想我应该简单地覆盖现有的秘密,但我试图了解入口规则在上述情况下如何工作,即为同一主机引用两个不同的 tls 秘密。
【问题讨论】:
-
你是 Kubernetes Nginx 入口控制器还是 nginxinc 入口控制器?这个设置真的有效吗?
-
是的,使用 Nginx 入口控制器可以正常工作
-
secret tls-a 和 tls-b 是否包含相同的证书?拥有两个 Ingress 有什么意义,因为在您的情况下,在我看来,您都可以拥有一个 Ingress 和两条路径。我认为您不能在不同的 Ingress 对象中使用相同的主机名(仅使用合并选项,但有 TLS 限制)。我一直在尝试,但它不起作用。
标签: ssl kubernetes kubernetes-ingress