我正在 AKS 群集中部署一个容器。
我想将一个配置文件夹(大小 200+ MB)安装到这个容器中。配置文件夹存在于 git repo 中。每个客户都有自己的配置数据,并存储在同一 repo 的单独分支中。
我正在考虑将配置文件夹加载到容器中的以下选项:
- 持久卷声明 - PVC 我将创建一个文件共享并将配置文件夹复制到其中。使用 PVC 将文件共享挂载到容器中。在这种方法中,我需要将存储访问密钥/sas 令牌添加到 kubernetes 机密中。
- 压缩配置文件夹并将其复制到 Blob 存储。在容器启动脚本中,从 blob 存储下载 zio 并挂载到所需位置。在这种方法中,我必须使用 SAS 令牌来访问存储帐户。(此令牌将在 kubernetes 中保存为秘密)
- 在容器启动脚本中,git clone 包含配置文件夹的 repo,下载并复制到所需位置。在这种方法中,我需要使用 PAT 令牌来克隆 git。
- 将 config 文件夹复制到 docker 映像本身。在这种方法中,我不必担心如何在容器中加载配置文件夹。但是,由于配置文件夹是特定于客户的并且有 100 多个客户,因此会产生大约 100 多个图像标签。(我们为客户添加了标签)
你能指导我哪个是最好的选择吗?有没有其他更好的方法。
我已经读到使用 PVC 共享卷存在安全问题,这可能会将节点上的 root 权限授予攻击者。在容器内使用 git 也存在安全问题。您能否提供有关这些安全问题的原因/方式的更多信息?