我有 2 个命名空间,分别是dev
和stage
在两个命名空间中,我都有类似的设置。在这两个命名空间中,我都有称为前端的服务。
我想为此设置一个入口。我使用以下配置在两个命名空间中设置入口:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-ingress
spec:
rules:
- host: dev.myapp.io
http:
paths:
- backend:
serviceName: frontend
servicePort: 80
在舞台上刚刚将主持人改为stage.myapp.io
.它不适用于其中一个命名空间。 我的方法是否正确?或者我需要在另一个名称中设置入口(也许是 Kube 系统(并在同一入口中点路径?
PS:如果我更改服务名称并保持不同,则2入口工作正常,但我想使用相同的命名空间设置服务,因为它简化了我的其他部署。
你应该在入口中包含命名空间注释。考虑到这一点,您的yaml文件应如下所示:
开发:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-ingress-dev
namespace: dev
spec:
rules:
- host: dev.myapp.io
http:
paths:
- backend:
serviceName: frontend
servicePort: 80
阶段:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-ingress-stage
namespace: stage
spec:
rules:
- host: stage.myapp.io
http:
paths:
- backend:
serviceName: frontend
servicePort: 80