azure - 具有 AGIC 和应用程序网关的 AKS

标签 azure certificate azure-aks azure-application-gateway ingress-controller

我有一个启用了附加 AGIC 的 AKS 集群(将在不久的将来尝试将其转换为基于 Helm 的 AGIC)。目前,我在此集群上有一个应用程序,其入口设置为应用程序网关。目前这在端口 80 上运行得很好。

如果我想启用 SSL,我是否只需要在应用程序网关添加证书,然后在部署中引用该证书? (示例取自 https://thewindowsupdate.com/2021/10/19/what-does-it-mean-for-the-application-gateway-ingress-controller-agic-to-assume-full-ownership/

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: aspnetapp
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/appgw-ssl-certificate: <name of your certificated added to Application Gateway>
    appgw.ingress.kubernetes.io/ssl-redirect: "true"
spec:
  rules:
  - http:
      paths:
      - path: /
        backend:
          serviceName: aspnetapp
          servicePort: 80

虽然上面服务端口设置为80,但是App GW会自动应用TLS吗?上面的服务端口应该是80还是443?或者既然设置了 SSL 重定向就没有关系了?另外,这会自动加密哪些方面?

  • 外部 -> 应用程序 GW?
  • 应用程序 GW -> 入口?

此外,我还需要为 App GW 的外部提供另一个证书吗?或者我只需要一个证书?

最佳答案

汉德将创建:

  • 2 个监听器:端口 80 上的 HTTP 和端口 443 上的 HTTPS。HTTPS 监听器将使用来自 appgw.ingress.kubernetes.io/appgw-ssl-certificate 的 SSL 证书进行配置
  • 2 条路由规则:一条将 http 监听器流量重定向到 https 监听器。 https 监听器将配置为以 AKS 上的后端为目标。

默认情况下,AGIC 将执行 TLS 终止,因此应用程序网关和 aks 集群之间的流量将使用 HTTP(而不是 HTTPS)协议(protocol)。配置的端口将是您服务的 targetPort 中配置的端口。

另一方面,您之前应该已经看到过此警告:

extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress

您应该更新 AGIC 以使用 latest version并更改您的 list 以使用 networking.k8s.io/v1 Ingress:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: aspnetapp
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/ssl-redirect: "true"
    appgw.ingress.kubernetes.io/appgw-ssl-certificate: "<name of your certificate added to Application Gateway>"
spec:
  rules:
...

关于azure - 具有 AGIC 和应用程序网关的 AKS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72481002/

相关文章:

azure - 如何使用 Terraform 完全部署容器化 Azure Function App

azure - 无法启动namenode : Cannot assign requested address

Azure WebApp Linux 和 KissLog 无法访问/tmp 路径

ssl - 使用 Swarm 部署的 Hyperledger Fabric 区 block 链网络上的证书问题

docker - 更新 docker 上的根证书

kubernetes - 使用现有设置将 AKS 中的 Pod 公开到 Internet

kubernetes - Aks : Can we use Azure Dev Spaces to deploy Release build of Web app to Azure Kubernetes

azure - Azure DevOps 任务如何使用先前 Azure DevOps 任务的输出

azure - 为什么更新 aks 集群也会更新节点镜像

VeriSign 证书上的 Eclipse 信任证书窗口