如何将安全的文件放置在牧场主存储?

我构build了一个kafka连接docker镜像,我使用rancher启动kafka连接集群。集群需要连接启用kerberos的hdfs。 所以我需要将keytab文件放入集群。 我不想将我的密钥表文件构build到我创build的映像中,因为它是重要的和安全的。 所以我想使用牧场主存储服务,但我不能把我的密钥表放入存储? 我的问题是:如何pipe理我的安全文件在牧场主或docker?

base64编码您的密钥表,并将其作为环境variables传递给容器。 创build一个entrypoint脚本,将base64解码值放入keytab文件中。

 export KEYTAB=$(cat /etc/krb5.keytab | base64) docker run -e KEYTAB my_image 

在你的入口脚本中:

 printenv KEYTAB | base64 -d > /etc/krb5.keytab 

最终,pipe理你的密钥表,就像pipe理所有其他容器的秘密一样 – 只需要base64编码,这样你就可以把它作为另一个string而不是文件来pipe理。