首页 文章

自定义域和Azure Kubernetes与入口控制器AKS

提问于
浏览
0

我从microsoft Deploy an HTTPS ingress controller on Azure Kubernetes Service (AKS)跟踪了这个文档,并成功部署了一个带有nginx入口控制器的托管Kubernetes集群(AKS) . 它可以按预期使用https .

但是,响应格式 subdomain.eastus2.cloudapp.azure.com 的域 . 但是,我想使用我自己的自定义域 www.somedomain.com . 然后我将CNAME条目添加到我的自定义域,指向kubernetes集群配置的公共IP地址 .

但是,当我这样做时,我会在浏览器上得到回复

default backend - 404

看起来我需要更改Azure(或某个地方)的公共IP地址,以便它了解它将被自定义域以及天蓝色子域使用 .

我看过这个命令:

az网络

命令 . 但是,这是否是正确的命令使用还不是很清楚 . 有谁知道如何进行所需的更改,以便我的自定义FQDN可以正确地路由到我的kubernetes集群?

谢谢

3 回答

  • 0

    “默认后端404”表示它正在命中入口控制器 . 如果它被拒绝或没有达到,我期望没有“默认后端”位的通用404 . 这个响应意味着它正在击中入口控制器,但是入口控制器不知道将它发送到哪里 . 这是因为没有入口路由/资源匹配该请求的主机 . 创建该路由/资源的步骤特定于域,因此入口规则仅匹配azure域而不是自定义域 . 我认为您需要返回并重复自定义域的入口资源和证书步骤,因为这些步骤是特定于域的 .

  • 2

    这是适合我的yaml .

    apiVersion: extensions/v1beta1
                kind: Ingress
                metadata:
                  name: webapp-ingress
                  annotations:
                    kubernetes.io/ingress.class: nginx
                    certmanager.k8s.io/cluster-issuer: letsencrypt-staging
                    nginx.ingress.kubernetes.io/rewrite-target: /
                spec:
                  tls:
                  - hosts:
                    - subdomain.eastus2.cloudapp.azure.com
                    - subdomain.domain.com
                    secretName: tls-secret
                  rules:
                  - host: subdomain.eastus2.cloudapp.azure.com
                    http:
                      paths:
                      - path: /
                        backend:
                          serviceName: aks-helloworld
                          servicePort: 80
                  - host: subdomain.domain.com
                    http:
                      paths:
                      - path: /
                        backend:
                          serviceName: aks-helloworld
                          servicePort: 80
    

    通过示例查看此处:Deploy an HTTPS ingress controller on Azure Kubernetes Service (AKS)

  • 2

    我在过去几天遇到了同样的问题并遇到了一个awesome step-by-step guide,它允许我使用自定义域和使用Letsencrypt配置证书 .

    如果您想使用自己的自定义证书,可能需要follow this article instead

相关问题