【发布时间】:2021-12-22 21:37:09
【问题描述】:
假设有一个后端应用程序,其私钥存储在 .env 文件中。
对于项目文件结构:
|-App files
|-Dockerfile
|-.env
如果我在本地运行 docker 映像,则可以在 API 请求期间使用有效的公钥正常访问应用程序。但是,如果我使用相同的 docker 映像将容器部署到 AKS 集群中,应用程序将失败。
我想知道 AKS 群集中的容器如何处理 .env 文件。我应该怎么做才能解决这个问题?
【问题讨论】:
-
您可以尝试将您需要的私钥变量作为环境变量添加到 kubernetes 部署/Pod 对象中,或者如果您需要保护它们,您可以将它们作为 kubernetes 机密传递
-
在 docker 上有效的东西不适用于开箱即用的 kubernetes。主要目标是什么?使用容器将公钥传输到 pod?有几种方法可以实现。
-
@VishwasKarale 我理解传递 kubernetes 机密是一种方式。但我想知道为什么它在 docker 中有效,但在 kubernetes 中无效。
-
@moonkotte 我是 kubernetes 的新手,为什么会发生这种情况?对于我的情况,我想在 GET 请求中传输我的公钥,然后存储在应用程序中的私钥将对其进行身份验证并返回正确的响应。如果我想使用和docker类似的方式,你有什么建议吗?
-
@WytrzymałyWiktor 嗨,最后我使用 kubernetes secret 将凭据传递到 pod,因为我找不到其他方法来处理它。
标签: docker kubernetes environment-variables containers azure-aks