我为不同的环境创建了两个不同的命名空间。一个是devops-qa,另一个是devops-dev。我在不同的命名空间中创建了两个入口。因此,在devops-qa命名空间中创建qa env入口时,qa入口内写入的规则工作正常。意味着我可以访问qa env的网页。我将在devops-dev命名空间中创建dev env的入口时,我将能够访问dev env的网页,但无法访问qa的网页。当我删除dev入口时,我将可以访问qa env网站在kubernetes中的不同命名空间中的不同入口
下面是dev和qa env的入口。
开发入口
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
QA入口
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
在入文件中提到的令牌是每个命名空间的。并且nginx入口控制器正在QA命名空间中运行 如何运行入口并能够获得部署在dev和qa env中的所有网站?
什么是Ingress控制器? –
我正在使用nginx-plus –
每个标记是'default-token-jdnqf'还是'default-token-drk6n'是你自己创建并自签名的TLS证书? – daniely