0

我是 AKS 的新手,正在尝试设置集群并通过应用网关入口控制器公开它。虽然我能够使用 az 命令设置集群,并且能够使用 HTTP 部署和访问它。我在通过 443 个应用内网关入口启用 HTTPS 并寻求帮助方面遇到了一些挑战。

  1. 以下是我们的工作流程,我正在尝试在端口 443 上设置应用程序网关侦听器
  2. 下面是我们用于启用入口的 k8。如果我申请没有 ssl 证书,它可以工作,但如果我提供 ssl 证书,我会得到一个 502 错误网关。
  3. 证书已上传到 KV,并且集群已安装 KV 插件。但我不确定如何将这个特定的 kv 附加到集群以及证书是否应该上传到网关或 Kubernetes。

在此处输入图像描述

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: frontend-web-ingress
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/appgw-ssl-certificate: workspace-dev-cluster-cert
    appgw.ingress.kubernetes.io/cookie-based-affinity: "true"
    appgw.ingress.kubernetes.io/request-timeout: "90"
    appgw.ingress.kubernetes.io/backend-path-prefix: "/"
spec:
  rules:
    - http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: frontend-svc
                port:
                  number: 80
4

1 回答 1

0

此链接可以帮助您在 App GW 上使用 KV 插件证书:https ://azure.github.io/application-gateway-kubernetes-ingress/features/appgw-ssl-certificate/

我使用不同的配置在 Appgw 上设置证书。

  1. 我通过akv2k8s工具获得证书。这会在 k8s 集群上创建秘密。
  2. 然后我在入口配置中使用这些证书。请检查规范下的 tls 定义。
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: frontend-web-ingress
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/appgw-ssl-certificate: workspace-dev-cluster-cert
    appgw.ingress.kubernetes.io/cookie-based-affinity: "true"
    appgw.ingress.kubernetes.io/request-timeout: "90"
    appgw.ingress.kubernetes.io/backend-path-prefix: "/"
spec:
  tls:
    - hosts:
      - yourdomain.com
      secretName: your-tls-secret-name
  rules:
    - http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: frontend-svc
                port:
                  number: 80
于 2022-03-04T07:48:30.777 回答