我有一个在Kubernetes Pods中运行的应用程序。它需要对某些外部服务进行https调用。并且此外部服务要求提供SSL证书。我了解如果没有Kubernetes,则可以在Linux机器上的某个位置下载证书,该机器上的应用程序通过路径引用该证书。但是如何为Kubernetes集群安装证书?最佳做法是什么?
以下是我通过在线搜索收集的一些信息,如果我输入错了,请更正我。但只是找不到我的问题的答案。
我想到了在群集中预先安装ssl证书 机器。但是
1)可以自动在 安全的方式?
2)看起来是从主机共享文件的Pod是 反模式,甚至可能不受Kubernetes支持,尤其是 在Google Kubernetes Engine(我们使用GKE)中。
因此,我们将不胜感激任何见解或建议。谢谢!
答案 0 :(得分:2)
我认为您的问题不是关于Kubernetes的问题,而是关于如何在打包容器映像的方式中添加证书(可能使用Docker)。
您可以通过运行以下命令轻松地将CA证书安装到容器映像中:
如果您使用的是基于debian / ubuntu的映像:
apt-get install -qqy ca-certificates
如果您使用的是基于高山的图像:
apk add --no-cache ca-certificates
这将确保您的容器具有用于验证公共网站/服务提供的TLS证书的有效性的最新根CA证书。
答案 1 :(得分:0)
您可以通过3种方式完成此操作,根据您的方便选择仅一个:
1.via仅通过应用程序中的几行代码更改-this leads burden on developer
。
2.via仅在构建容器时在Dockerfile中很少有其他行图像-this set responsibility on either developer or devops based on who owns dockercontainer creation.
-this is one time activity put entire responsibility on dev ops and will automatically apply on all future apps.
关于每个步骤的详细步骤,包括优点和缺点,示例在这里: