0
我構建了一個kafka連接碼頭圖像,並使用rancher啓動kafka連接羣集。羣集需要連接啓用kerberos的hdfs。所以我需要將keytab文件放入集羣中。我不想將我的密鑰表文件構建到我創建的映像中,因爲它非常重要且安全。所以我想使用牧場主存儲服務,但我不能將我的密鑰表放到存儲中? 我的問題是:如何管理我的安全文件在牧場主或碼頭?如何將安全文件放置在牧場主存儲中?
我構建了一個kafka連接碼頭圖像,並使用rancher啓動kafka連接羣集。羣集需要連接啓用kerberos的hdfs。所以我需要將keytab文件放入集羣中。我不想將我的密鑰表文件構建到我創建的映像中,因爲它非常重要且安全。所以我想使用牧場主存儲服務,但我不能將我的密鑰表放到存儲中? 我的問題是:如何管理我的安全文件在牧場主或碼頭?如何將安全文件放置在牧場主存儲中?
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編碼,這樣你正在管理它作爲另一個字符串,而不是一份文件。