Kubernetes的分期和生产

Ang*_*gad 7 docker google-cloud-platform kubernetes google-kubernetes-engine

我正在为2个名称空间共享相同的集群:登台和生产.两个名称空间之间的唯一区别是:

  1. 安装到某些pod的卷(分段和生产之间的单独持久性,显然!)
  2. 一些用于相对寻址的web-URL
  3. 用于复杂持久性的数据库的几个IP

我已设法解决(2)和(3)如下,以便为所有ReplicationControllers维护一个YAML文件:

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

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

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

jay*_*yme 2

您或许可以在每个命名空间中创建一个PersistentVolumeClaim。看一下PVC 可以绑定到特定的 PV 吗?关于如何将 PersistentVolumes“预绑定”到 PersistentVolumeClaims。

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