Kubernetes:将证书填充到密钥库中

Jor*_*rdi 6 java kubernetes

猜猜您已经部署了使用证书的服务,以便创建tls / https通信。

因此,我需要部署必须信任这些证书的Java客户端容器。

不过,java在信任库中查找以检查证书是否有效。

如您所见,我无法使用这些证书创建映像,因为它们在构建时是未知的。

我的意思是Dockerfile,由于/var/run/secrets/kubernetes.io/certs/tls.crt不在构建时,因此我无法创建这种代码段。

RUN keytool -import -alias vault -storepass changeit -keystore truststore.jks -noprompt -trustcacerts -file /var/run/secrets/kubernetes.io/certs/tls.crt
Run Code Online (Sandbox Code Playgroud)

因此,在部署/启动容器/吊舱时,如何填充填充有这些证书的信任库?

我希望我已经解释得很好。

Jam*_*per 7

RedHat 有一个关于如何在 OpenShift 上执行此操作的教程:

https://developers.redhat.com/blog/2017/11/22/dynamically-creating-java-keystores-openshift/

它使用内置在 CA 中的 OpenShifts 来实际生成和提供证书,因此如果使用 vanilla k8s,您需要自己执行此操作,但是一旦您在 pod 上的文件中拥有证书,方法就完全相同。