首页 > 解决方案 > 如何生成证书签名请求 (CSR) 以在 GKE 中设置 TLS

问题描述

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

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

管理集群中的 TLS 证书

证书

我有一些问题:

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

感谢您的阅读。

标签: sslhttpskubernetesgoogle-kubernetes-engine

解决方案


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

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

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

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

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

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

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

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


推荐阅读