我们有10个不同的kubernetes Pod,它们在私有VPN中运行,这些Pod是 HTTP 服务端点(不是HTTPS)。但是,该服务将与 HTTPS 服务端点进行交互。从逻辑上讲,要从HTTP服务窗格调用HTTP-S服务端点,需要SSL服务器证书信任。因此,我们决定将SSL证书存储在每个HTTP服务窗格中,以调用HTTPS服务窗格。
我想知道是否有其他方法可以跨Kubernetes集群中的不同Pod管理SSL证书? kubeadm用于K8s证书管理怎么样?有什么建议吗?
答案 0 :(得分:2)
这更像是一个一般的SSL证书问题,而不是特定于Kubernetes。
如果提供HTTPS终结点的容器/吊舱已经正确配置了SSL,并且您使用的SSL证书是从已知的受信任的CA(例如letencrypt或那里的任何已知的受信任的证书公司)购买/生成的),那么没有理由将其他与HTTPS终结点服务Pod建立连接的容器应用程序存储在其中的任何特殊内容。
唯一的例外是,如果您有自己的专用CA,并且已在内部生成了证书,并将其安装在HTTPS服务容器中。 (或者,如果您正在生成自签名证书)。然后,连接到https端点的吊舱/容器将需要了解CA证书。这是处理这种情况的堆栈溢出问题/答案:
How do I add a CA root certificate inside a docker image?
最后,在容器和容器调度程序(如Kubernetes)中有更好的模式来管理SSL。这一切都取决于您的设计/架构。
一些一般性想法:
希望有帮助。