我们正在Kubernetes中运行一个Pod,该Pod需要在运行时加载文件。该文件具有以下属性:
- 在构建时就知道了
- 应将其以只读方式安装在多个Pod(相同类型)上
- 它可能会更改(在群集外部),需要更新
- 出于各种原因(安全是主要考虑因素),文件不能位于docker映像内
- 它可能很大,理论上最大为100 MB,但实际上在200kB-10MB之间。
我们考虑了各种选择:
- 创建持久卷,将卷安装在临时容器中以写入(更新)文件,卸载卷,然后将其安装在具有ROX(只读多个)声明的服务中。这种解决方案意味着我们在升级过程中需要停机,而且很难自动化(由于时间安排)。
- 使用Kubernetes的秘密管理创建多个秘密,然后在将文件加载到init容器或类似容器中之前对其进行“汇编”。
这两种解决方案都感觉有些破烂-是否有更好的解决方案可供我们用来解决此问题?