【问题标题】:How to generate Certificate Signing Request (CSR) for setting up TLS in GKE如何生成证书签名请求 (CSR) 以在 GKE 中设置 TLS
【发布时间】:2019-01-04 03:06:43
【问题描述】:

我正在 GKE 中运行一项服务,并且有一个用于设置 LTS 的 Ingress。 我已经尝试过我的自签名证书,我可以通过 https 协议访问我的网站。这看起来不错的样子。 请注意,我已经有一个 Ingress 的静态 IP 和一个域名。

但是现在我要创建一个真实的证书并尝试创建一个 CSR 并将其发送到 CA,但在阅读了这些帖子后我很困惑:

Manage TLS Certificates in a Cluster

Certificates

我有一些问题:

我只想制作 *.crt 和 *.key 文件以在我的服务上设置 https。 (我读过一些关于 Let's Encrypt 的博文,但我不想使用它)。

感谢您的阅读。

【问题讨论】:

标签: ssl https kubernetes google-kubernetes-engine


【解决方案1】:

让我们先回顾一下你的每个问题:

Pod 的 DNS、Pod 的 Ip 和 Service 的 Ip 是什么?

在集群中,每个 pod 都有自己的内部 IP 地址和 DNS 记录。服务也是如此。您可以阅读 Kubernetes 中的 DNS here 并阅读有关 IP 地址的更多信息 here

我必须为 pod 和服务创建 DNS 吗?

对于在集群中使用,系统会自动为您处理。如果您想公开一个 pod/服务并通过 DNS 记录从外部访问它,您必须在某个地方创建它,就像您为任何其他服务器/服务/其他东西所做的那样。

我可以从本地 PC 生成 *.csr 文件吗?

如果我按照步骤创建服务器证书身份验证...

对于 GKE 和 Ingress,可以通过两种不同的方式处理证书。您只需将证书添加到您的项目并告诉 Ingress 控制器使用它。 Here in this page 您可以找到有关如何执行此操作的精彩说明,here 是在控制台中创建证书的页面。此页面还向您展示了如何通过使用机密来做到这一点,尽管我个人更喜欢使用作为我项目一部分的证书来增加可见性。

【讨论】:

  • 是否可以回答“我可以从本地 PC 生成 *.csr 文件”的问题吗?顺便说一句,如果人们发现 GKE 入口和 SSL 配置“毫不费力”,就不会有那么多开发人员询问如何去做。 ;-)
  • 你好!哎呀,我不是故意听起来居高临下的,对不起!请给我一点时间来回答你的这个问题。
  • 据我所知,没有办法向 Kubernetes 的 CA 提交 CSR,您必须通过其他方法创建证书并使用我在帖子中描述的方法来使用说证书。
  • 另外,我已经更改了原帖的措辞,以免听起来居高临下,谢谢您指出!
  • 最后一件事:集群的 CA 生成的证书在暴露时不会被 Pod 使用,它们将使用您在 Pod 的 YAML 中配置的任何证书。这意味着不需要让集群的 CA 签署一个由公开服务使用的证书:只需在其他地方生成一个证书并告诉 pod/service/whatever 使用该证书。因此,直接回答您的问题:您可以在 PC 中创建 CSR,但不能将该 CSR 提交给 GKE 的主人。将该 CSR 提交给实际的 CA,并使用生成的证书来公开内容。
猜你喜欢
  • 2010-09-15
  • 2020-01-17
  • 1970-01-01
  • 2015-11-28
  • 1970-01-01
  • 2013-06-21
  • 2016-12-21
  • 2016-02-23
  • 2017-06-05
相关资源
最近更新 更多