问题描述
我在 azure 上创建了一个 k8s 集群,然后我在上面部署了 nginx-ingress。 nginx-ingress
根据截图,到目前为止一切正常。因此,我为它部署了两个应用程序: helloworld pods and services
接下来,我已经将入口部署到集群中,它的创建也没有问题:
apiVersion: networking.k8s.io/v1
kind: Ingress
Metadata:
name: hello-world-ingress
annotations:
kubernetes.io/ingress.class: Nginx
Nginx.ingress.kubernetes.io/rewrite-target: /$1
Nginx.ingress.kubernetes.io/use-regex: "true"
cert-manager.io/cluster-issuer: letsencrypt
spec:
tls:
- hosts:
- **helloworld.test.lab**
secretName: tls-secret
rules:
- host: **helloworld.test.lab**
http:
paths:
- path: /hello-world-one(/|$)(.*)
pathType: Prefix
backend:
service:
name: aks-helloworld-one
port:
number: 80
- path: /hello-world-two(/|$)(.*)
pathType: Prefix
backend:
service:
name: aks-helloworld-two
port:
number: 80
- path: /(.*)
pathType: Prefix
backend:
service:
name: aks-helloworld-one
port:
number: 80
---
apiVersion: networking.k8s.io/v1
kind: Ingress
Metadata:
name: **helloworld.test.lab**
annotations:
kubernetes.io/ingress.class: Nginx
Nginx.ingress.kubernetes.io/rewrite-target: /static/$2
Nginx.ingress.kubernetes.io/use-regex: "true"
cert-manager.io/cluster-issuer: letsencrypt
spec:
tls:
- hosts:
- helloworld.test.lab
secretName: tls-secret
rules:
- host: **helloworld.test.lab**
http:
paths:
- path:
pathType: Prefix
backend:
service:
name: aks-helloworld-one
port:
number: 80
path: /static(/|$)(.*)
我希望能够访问 helloworld.test.lab,显然它不起作用,然后我尝试在 DNS 区域上创建一个 DNS 条目作为 helloworld.test.lab 并链接它使用入口外部 IP 和我的 k8s 公共 ip 接口。没有运气..
在互联网上寻找答案 我得出的结论是,我可能必须拥有一个私有域并将其链接到 azure 才能访问 mydomain.co.uk。
现在,我想在我的入口配置中使用 azure 的自制域 .uksouth.cloudapp.azure.com 作为我的主机地址。如果我将其更改为 myapp.uksouth.cloudapp.azure.com 它将起作用。
如何使用通配符 * 将其创建到每个子域,例如 myapp2.uksouth.cloudapp.azure.com myapp3.uksouth.cloudapp.azure.com 等等?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)