2017-05-27 58 views
0

我構建了一個kafka連接碼頭圖像,並使用rancher啓動kafka連接羣集。羣集需要連接啓用kerberos的hdfs。所以我需要將keytab文件放入集羣中。我不想將我的密鑰表文件構建到我創建的映像中,因爲它非常重要且安全。所以我想使用牧場主存儲服務,但我不能將我的密鑰表放到存儲中? 我的問題是:如何管理我的安全文件在牧場主或碼頭?如何將安全文件放置在牧場主存儲中?

回答

1

base64對您的keytab進行編碼並將其作爲環境變量傳遞給容器。創建一個entrypoint腳本,將base64解碼值放入keytab文件中。

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

在您的入口點腳本:

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

歸根結底,管理密鑰表,可以管理所有其他容器祕密以同樣的方式 - 只需使用Base64編碼,這樣你正在管理它作爲另一個字符串,而不是一份文件。