我为不同的环境创建了两个不同的命名空间,一个是devops-qa,另一个是devops-dev。我在不同的命名空间中创建了两个ingress。因此,当我在devops-qa命名空间中创建qa环境的ingress时,写在qa ingress内部的规则能够正常工作,也就是说,我能够访问qa环境的网页。一旦我在devops-dev命名空间中创建dev环境的ingress,我将能够访问dev环境的网页,但无法访问qa环境的网页。当我删除dev ingress后,我再次能够访问qa环境的网站。
以下是dev和qa环境的ingress: Dev Ingress
以下是dev和qa环境的ingress: Dev Ingress
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: "nginx"
name: cafe-ingress-dev
namespace: devops-dev
spec:
tls:
- hosts:
- cafe-dev.example.com
secretName: default-token-drk6n
rules:
- host: cafe-dev.example.com
http:
paths:
- path: /
backend:
serviceName: miqpdev-svc
servicePort: 80
质量保证入口
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: "nginx"
name: cafe-ingress-qa
namespace: devops-qa
spec:
tls:
- hosts:
- cafe-qa.example.com
secretName: default-token-jdnqf
rules:
- host: cafe-qa.example.com
http:
paths:
- path: /greentea
backend:
serviceName: greentea-svc
servicePort: 80
- path: /blackcoffee
backend:
serviceName: blackcoffee-svc
servicePort: 80
在ingress文件中提到的令牌是每个命名空间的。而nginx ingress控制器正在QA命名空间中运行。如何同时运行ingress并能够获取部署在开发环境和QA环境的所有网站?
default-token-jdnqf
或default-token-drk6n
是否都是您自己创建并自签名的 TLS 证书? - daniely