【发布时间】:2019-05-10 20:53:41
【问题描述】:
我有一个尝试在 Docker 容器中运行的 Java 应用程序。该应用程序使用密钥库和信任库与数据库(也将是一个容器)和外部身份验证服务机制(如 LDAP)进行安全通信。
计划是使用 Kubernetes/Swarm/Openshift 来运行和管理容器。我计划运行应用程序的多个实例,并且还想利用 Kubernetes/Docker 如何管理容器之间的通信(即,我不希望不必在我运行的每个容器实例上设置主机名/IP)。
我看过那里的文档,看起来我可以使用证书并根据证书创建 Docker 机密。我还看到了如何将秘密放置在容器中的正确位置。
问题是——我在用于创建 Docker 机密的证书中放入了什么? CN 用什么? IP?
当我们生成证书时,我们通常将 FQDN 作为 CN 并将主机名和 IP 放在 SAN 下。我是 Docker 和秘密的新手,不知道这些东西在幕后是如何工作的,但我想 Docker 动态生成的 IP 将与我的证书中的 IP 不匹配,除非我指定容器的主机名和 IP 去成为,我试图避免。 有没有办法创建一个适用于多个应用程序实例的证书?或者我是否需要为每个实例创建一个证书,并为每个容器实例定义主机名和 IP 地址,以使证书/机密工作。 提前致谢
【问题讨论】:
标签: docker kubernetes certificate swarm docker-secrets