繁体   English   中英

带有入口控制器 AKS 的自定义域和 Azure Kubernetes

[英]Custom domain and Azure Kubernetes with ingress controller AKS

我遵循了微软在 Azure Kubernetes 服务 (AKS) 上部署 HTTPS 入口控制器的这篇文档,并成功部署了一个带有 nginx 入口控制器的托管 Kubernetes 集群 (AKS)。 它按预期与 https 一起使用。

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

但是,当我这样做时,我在浏览器上收到了响应

默认后端 - 404

看起来我需要更改 Azure(或某处)中的公共 ip 地址,以便它了解它将被自定义域以及 azure 子域使用。

我看过命令:

az网络

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

谢谢

这是对我有用的 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

请参见此处的示例:在 Azure Kubernetes 服务 (AKS) 上部署 HTTPS 入口控制器

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

过去几天我一直面临同样的问题,并遇到了一个很棒的分步指南,它允许我使用自定义域并通过 Letsencrypt 配置证书。

如果您想使用自己的自定义证书,则可能需要按照本文进行操作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM