如何使用 DNS

问题描述

我在 azure 上创建了一个 k8s 集群,然后我在上面部署了 nginx-ingressnginx-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 它将起作用。

enter image description here

如何使用通配符 * 将其创建到每个子域,例如 myapp2.uksouth.cloudapp.azure.com myapp3.uksouth.cloudapp.azure.com 等等?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)