【发布时间】:2023-01-21 19:05:53
【问题描述】:
我正在尝试在 Azure 上设置 aks。根据文档,我已经运行了 pod 并设置了 nginx 入口控制器。
我有两个服务想在两个不同的子域下运行。 zoo.example.com 和 circus.example.com。我有一个 ingress-controller.yaml 文件,我在其中指定入口控制器的主机和配置。
使用这个 yaml 文件,我可以毫无问题地从 zoo.example.com 访问 zoo 服务。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-service
annotations:
cert-manager.io/cluster-issuer: letsencrypt
spec:
ingressClassName: nginx
tls:
- hosts:
- zoo.example.com
secretName: tls-secret
rules:
- host: zoo.example.com
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: zoo-ui
port:
number: 80
但是,当我尝试将 zoo.example.com 和 circus.example.com 放在同一个文件中时,我在尝试访问任一域时收到 404 not found。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-service-2
annotations:
cert-manager.io/cluster-issuer: letsencrypt
spec:
ingressClassName: nginx
tls:
- hosts:
- zoo.example.com
- circus.example.com
secretName: tls-secret
rules:
- host: zoo.example.com
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: zoo-ui
port:
number: 80
- host: circus.example.com
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: circus-ui
port:
number: 80
关于为什么会发生这种情况的任何想法?
我也尝试过将两个主机放入不同的入口资源,但这使得 zoo.example.com 和 circus.example.com 都指向同一个 ui 服务,我不确定为什么会这样。
感谢任何帮助。
【问题讨论】:
标签: kubernetes kubernetes-helm kubernetes-ingress azure-aks nginx-ingress