首页 > 解决方案 > 如何在 Google Kubernetes 上添加 SSL/TLS 证书

问题描述

我正在开发一个 Web 项目,其中前端基于 react 并使用 gh-pages 托管在 github 上。现在后端建立在 node.js 上,并使用 kubernetes 引擎托管在谷歌云上。

问题是前端在 https 上,后端在 Http 上,因此我面临混合内容错误。我已经尝试添加入口,但事情对我来说并不奏效。这是我第一次在谷歌云上托管一些东西。

我不知道如何正确地将 ssl 证书添加到 kubernetes 以将 http 转换为 http(s)。我已经尝试了谷歌云文档中存在的所有东西,但仍然不知道出了什么问题。

而且我没有任何域。

标签: kubernetesgoogle-cloud-platformgcloudkubectl

解决方案


查看文档,GCP 似乎支持将 SSL/TLS 添加到集群的 K8s 标准方式:

https://cloud.google.com/kubernetes-engine/docs/concepts/ingress-xlb

这意味着,您必须将 Ingress 实体配置为使用 TLS 密钥:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: my-ingress-2
spec:
  tls:
  - secretName: secret-name
  rules:
  - http:
      paths:
      - path: /*
        backend:
          serviceName: service-name
          servicePort: 60000

您需要存储在K8s TLS Secret中的有效证书。要获得这样的证书 - 而不仅仅是让客户提出额外提示的自签名证书 - 您确实需要一个有效的域名。

有关完整的演练,请参阅本文


推荐阅读