gpt4 book ai didi

ssl - 您如何在 Openshift 中集中为您的应用程序提供 TLS 证书?

转载 作者:太空宇宙 更新时间:2023-11-03 13:46:04 26 4
gpt4 key购买 nike

我目前正在努力完成以下任务。我不想在我的模板中包含我的 TLS 证书,因为

  1. 我不想在 checkin 模板的同时 checkin 代码管理中的凭据

  2. 我正在使用具有相同证书的多个应用程序,我不想仅仅因为我可能会分发另一个证书而更新存储库

现在我的做法是这样的。我正在使用 Jenkins 作为我的构建管道。我有一个仅用于证书管理的 Repo。它会在更新时运行,并将证书和私钥分发到各个集群上的 Openshift Secrets。

当运行应用程序的模板时,我从 secret 中检索信息并在路由中设置值。这就是事情变得棘手的地方。我只能使用单行值,因为

  1. Openshift 模板不接受 oc 进程的多行参数
  2. Secrets 不会存储多行值

所以解决方案似乎很简单。只需使用\n 存储证书并将其设置在这样的路由中。但是 Openshift 不接受导致错误的单行证书

spec.tls.key: Invalid value: "redacted key data": tls: found a certificate rather than a key in the PEM for the private key

现在的解决方案可能是在处理证书并将其应用到集群之前将证书作为多行直接插入到模板文件中,但这对我来说似乎有点老套。所以我的问题是

您如何集中管理应用程序的 TLS 证书并在您应用的模板中正确设置它们?

最佳答案

secret 可以是多行。您可以使用证书文件创建 secret ,并将该 secret 作为文件装载到您的容器中。请参阅此处了解如何从文件创建 secret :

https://kubernetes.io/docs/concepts/configuration/secret/

使用 openshift 命令行工具代替 kubectl。

对于证书,有一个叫做 cert-manager 的东西:

https://docs.cert-manager.io/en/latest/

这将根据需要生成证书。您可能想看一看。

关于ssl - 您如何在 Openshift 中集中为您的应用程序提供 TLS 证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57712874/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com