Kubernetes的分期和制作

时间:2016-05-18 11:40:54

标签: docker google-cloud-platform kubernetes google-kubernetes-engine

我为2个名称空间共享相同的群集暂存生产。两个名称空间之间的唯一区别是:

  1. 安装到某些pod的卷(暂存生产之间的单独持久性,显然!)
  2. 一些用于相对寻址的网址
  3. 用于复杂持久性的数据库的几个IP
  4. 我已设法按如下方式处理(2)(3),以便为所有<维护 YAML 文件EM> ReplicationControllers :

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

    但是,我无法找到一种令人满意的方式来获取 gcePersistentDisk pdName <的参考资料/ strong> - 我似乎无法使用 ConfigMap ,因此有点难过。什么是适当的方式来解决这个问题?最好的替代方案似乎是使用不同的字符串维护2个单独的 YAML 文件,但这有一个代码气味,因为它违反了 DRY

    此外,如上所述,我对其余设置的任何建设性评论都非常感激: - )

1 个答案:

答案 0 :(得分:2)

您可以在每个命名空间中创建一个PersistentVolumeClaim。看看Can a PVC be bound to a specific PV?如何预先绑定&#34; PersistentVolumes to PersistentVolumeClaims。

可能不是一个理想的解决方案,但它可能会起作用,直到PVC支持标签选择器。