【问题标题】:GKE Autopilot: How to add/manage SSL Certificate to GKE autopilotGKE Autopilot:如何向 GKE Autopilot 添加/管理 SSL 证书
【发布时间】:2021-10-13 05:09:34
【问题描述】:

我最近设置了一个 GKE 自动驾驶仪,但意识到它不支持 cert-manager 所依赖的 webhook。向 GKE 自动驾驶集群添加/管理 SSL 证书还有哪些其他选项?

【问题讨论】:

  • 您打算在哪里/如何使用 SSL 证书?
  • 你需要通配符证书吗?
  • 我不需要通配符。我希望能够使用cert-manager 在 google 自动驾驶仪集群中管理我的 SSL。
  • 当然 - 但是您是否希望同时管理 Ingress 或其他对象的 SSL 证书?
  • 可能只是为了入口

标签: ssl kubernetes google-kubernetes-engine


【解决方案1】:

自 2021 年 5 月起,GKE Autopilot 不再支持第 3 方 Webhook。没有 webhook,很多 Kubernetes 插件比如 cert-manager 就无法正常运行。 Cert-manager 使用自定义的 mutating admission webhook 来管理证书,该证书在 GKE Autopilot 上是不可变的。

要为 Autopilot 集群添加/管理 SSL 证书,您应该首先从这个 GCP 官方文档 Google-managed SSL certificates 开始。

您可以使用 ManagedCertificate 自定义资源配置 Google 管理的 SSL 证书,该资源在不同的 API 版本中可用,具体取决于您的 GKE 集群版本。建议您使用更新的 API 版本。

  • ManagedCertificate v1beta2 API 在 GKE 集群版本中可用 1.15 及更高版本。
  • ManagedCertificate v1 API 在 GKE 集群版本中可用 1.17.9-gke.6300 及更高版本。

注意:内部 HTTPS 负载平衡器目前不支持 Google 管理的 SSL 证书。对于内部 HTTPS 负载平衡器,请改用自我管理的 SSL 证书。此功能仅适用于 Ingress for External HTTP(S) Load Balancing,可以阅读更多here

要配置 Google 管理的 SSL 证书并将其与 Ingress 相关联,请先执行两个基本步骤:

  • 在与 入口。
  • 通过添加一个将 ManagedCertificate 对象关联到一个 Ingress 向 Ingress 注释networking.gke.io/managed-certificates。 此注解是以逗号分隔的 ManagedCertificate 列表 资源,例如 cert1、cert2、cert3。 里面有详细提到here

你要关注一些prerequisites:

  • 您必须拥有该域名(Google Domains 或其他注册商)。
  • 您的“kubernetes.io/ingress.class”必须是“gce”。
  • 创建一个保留的(静态)外部 IP 地址。如果您不预订 一个地址,它可能会改变,需要你重新配置你的域 DNS 记录。

要设置 Google 管理的证书,请通过 sample ManagedCertificate manifest

【讨论】:

【解决方案2】:

cert-manager is now compatible 与 GKE Autopilot。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-11
    • 2022-10-19
    • 1970-01-01
    • 2021-10-26
    • 2023-03-11
    • 2021-08-08
    • 1970-01-01
    • 2021-12-02
    相关资源
    最近更新 更多