在Kubernetes上的分期和生产

我为两个名称空间共享相同的集群: 分段生产 。 这两个命名空间的唯一区别是:

  1. 将卷装载到特定的窗格(显然,在分段生产之间是分开的)。
  2. 一些相对寻址的url
  3. 一些IP用于复杂的持久性数据库

我设法解决(2)(3) ,如下所示,以便为所有ReplicationController维护单个YAML文件:

  • 对命名空间使用本地ConfigMaps来定义通过环境variables传递到窗格中的任何configuration
  • 使用端点 服务处理指向不同内部IP的DNS条目

然而,我无法find一个令人满意的方式来引用一个gcePersistentDiskpdName – 我似乎无法使用ConfigMap ,因此有点难倒。 这将是什么适当的方式呢? 最好的select似乎是使用不同的string来维护2个独立的YAML文件,但是这样会产生代码异味,因为它违反了DRY

另外,我上面提到的其他设置的任何build设性的评论是高度赞赏:-)

您可能可以在每个名称空间中创build一个PersistentVolumeClaim 。 看看一个PVC可以绑定到一个特定的PV? 关于如何将PersistentVolumes“预先绑定”到PersistentVolumeClaims。

可能不是一个理想的解决scheme,但它可能有效,直到PVC支持标签select器。