在 443 (https) 上为 Azure Kubernetes 启用 App Gateway 入口
Enable App Gateway ingress for Azure Kubernetes on 443 (https)
我是 AKS 的新手,正在尝试设置集群并通过应用程序网关入口控制器公开它。虽然我能够使用 az 命令设置集群,并且能够使用 HTTP 部署和访问它。我在通过 443 应用程序内网关入口启用 HTTPS 时遇到了一些挑战,希望获得一些帮助。
- 下面是我们的工作流程,我正在尝试在端口 443 上设置应用程序网关侦听器
- 下面是我们用于启用入口的 k8。如果我申请时没有 ssl 证书,它会起作用,但如果我提供 ssl 证书,我会得到一个 502 错误的网关。
- 证书已上传到 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
此 link 可以帮助您在 App GW 上获得 KV add-on 证书:https://azure.github.io/application-gateway-kubernetes-ingress/features/appgw-ssl-certificate/
我使用不同的配置在 Appgw 上设置证书。
- 我正在通过 akv2k8s 工具获取证书。这会在 k8s 集群上创建秘密。
- 然后我在入口配置中使用这些证书。请检查规范下的 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
我是 AKS 的新手,正在尝试设置集群并通过应用程序网关入口控制器公开它。虽然我能够使用 az 命令设置集群,并且能够使用 HTTP 部署和访问它。我在通过 443 应用程序内网关入口启用 HTTPS 时遇到了一些挑战,希望获得一些帮助。
- 下面是我们的工作流程,我正在尝试在端口 443 上设置应用程序网关侦听器
- 下面是我们用于启用入口的 k8。如果我申请时没有 ssl 证书,它会起作用,但如果我提供 ssl 证书,我会得到一个 502 错误的网关。
- 证书已上传到 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
此 link 可以帮助您在 App GW 上获得 KV add-on 证书:https://azure.github.io/application-gateway-kubernetes-ingress/features/appgw-ssl-certificate/
我使用不同的配置在 Appgw 上设置证书。
- 我正在通过 akv2k8s 工具获取证书。这会在 k8s 集群上创建秘密。
- 然后我在入口配置中使用这些证书。请检查规范下的 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