kubernetes在所有pod副本中只读一个目录

问题描述 投票:0回答:1

在pod中安装外部目录的最佳方法是:

  1. 对该目录的pod访问是只读的
  2. 可以在pod中访问整个目录树
  3. 对目录内容的任何更改或此目录中新文件和目录的创建都会立即反映到pod中
  4. pod的所有副本都看到相同的目录树

显然,使用ConfigMaps的任何解决方案都不满足条件2和3。

kubernetes persistent-volumes configmap
1个回答
1
投票

使用configMap-s可以实现所有要求(1)至(4)除了部分(3) - 对现有文件内容的更改(通过更改其configMap-s)将立即反映在pod中(几乎)但是新文件或目录不会。

以下脚本 - 请参阅here - 实现该方法。

请注意:

  • (1)现在是从1.9.6开始的默认值 - 请参阅this进行讨论。
  • (2)的关键是使用projected volumes
  • (4)与here一样,是开箱即用的功能,除了使用subPath时。
  • 对所有文件使用单个configMap可能会导致“...错误:ConfigMap”“无效:[]:太长:必须最多1048576个字符”。
  • 对于文件内容,每个文件使用configMap也有大约1MB的大小限制(这是一个etcd限制)。
© www.soinside.com 2019 - 2024. All rights reserved.