docker - Kubernetes 上的暂存和生产

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

我为 2 个命名空间共享同一个集群:stagingproduction。两个命名空间之间的唯一区别是:

  1. 安装到某些 pod 的卷(显然,stagingproduction 之间的持久性分开!)
  2. 几个用于相对寻址的网址
  3. 几个用于复杂持久性的数据库 IP

我已设法按如下方式处理 (2)(3),以便为所有 < em>ReplicationControllers:

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

但是,我无法找到令人满意的方法来获得 gcePersistentDiskpdName 的引用em> - 我似乎无法使用 ConfigMap,因此有点难过。解决这个问题的适当方法是什么?最好的选择似乎是使用不同的字符串维护 2 个单独的 YAML 文件,但这有一种代码气味,因为它违反了 DRY

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

最佳答案

您可能可以创建一个 PersistentVolumeClaim在每个命名空间中。看看Can a PVC be bound to a specific PV?关于如何将 PersistentVolumes“预绑定(bind)”到 PersistentVolumeClaims。

可能不是一个理想的解决方案,但它可能在 PVC 支持标签选择器之前有效。

关于docker - Kubernetes 上的暂存和生产,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37298546/

相关文章:

Kubernetes - 如何通过休息请求从 pod 中的 Web 服务器访问服务

shell - 如何将文件从远程服务器的docker容器复制到本地机器

hadoop - 如何在防火墙(谷歌计算引擎)中打开传入端口 50070

openshift - 在 Kubernetes/OpenShift 中的容器之间共享持久卷声明

google-cloud-platform - 无法将 `google_dns_record_set` 从 count 转换为 for_each

google-cloud-platform - Cloud Run 是否需要 NGINX?

kubernetes - Kubernetes 上的私有(private) docker 注册表

docker - 无法更改 nginx.conf 文件

sql-server - 无法从同一主机上的Web应用程序Docker访问Docker托管的SQL Server

docker - Docker内部版本:xz(stdin):无法识别文件格式