【问题标题】:Kubernetes Service Object ExternalName pointing to Azure CDN指向 Azure CDN 的 Kubernetes 服务对象 ExternalName
【发布时间】:2021-05-01 21:53:25
【问题描述】:

我的应用正在使用 AKS 的 Windows 容器上运行。现在我们正在尝试将我们的静态资产迁移到 Azure Blob/Azure CDN 并从那里而不是我们的应用程序提供资产。根据各种文章,我设置了以下方式但没有成功。

apiVersion: v1
kind: Service
metadata:
  name: app-fe
  namespace: fe-ns
  labels:
    app.kubernetes.io/name:app-fe
    helm.sh/chart: os-20210118.1
    app.kubernetes.io/instance: prod
    app.kubernetes.io/managed-by: Helm
spec:
  type: ExternalName
  externalName: fe-assets.azureedge.net

入口文件

annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
spec:
  rules:
    - host: "domain.com"
      http:
        paths:
          - path: /
            backend:
              serviceName: app-fe
              servicePort: 80/443 (tried with both)

对此的任何线索表示赞赏。谢谢

【问题讨论】:

  • 您是否从集群中的任何 pod 运行 curl app-fe.default:80 并正确到达 url。对于 https,我认为您可能需要提供 TLS 详细信息

标签: nginx kubernetes containers


【解决方案1】:

显然这不起作用,因为 Kubernetes 使用 IP 地址而不是主机名进入 CDN。所有 CDN 都会返回类似 503 的信息作为回报,因为这不是它们应有的工作方式。

【讨论】:

  • 那么从 AKS 读取托管在 Azure blob 中的静态资产的最佳方法是什么?
  • 所以建议将我的域配置为指向 Azure CDN 并从 Azure 执行 api 路由以将其他请求发送到 AKS。
  • 为 CDN 端点设置自定义域有效吗??
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-23
  • 2022-12-14
相关资源
最近更新 更多