k8s / gke / gcr - 将图像范围限定为命名空间

时间:2017-07-28 13:51:15

标签: kubernetes google-kubernetes-engine google-container-registry

我有一个包含许多不同命名空间的gke集群。我希望能够实际命名我的图像,就像我的其他资源被命名空间一样。也就是说,我希望不同命名空间中的pod能够使用相同的名称引用图像,但是根据它们所在的命名空间来获取不同的图像。实现此目的的一种方法(如果它受支持)可能是将名称空间的名称替换为yml中的图像名称,例如:

containers:
- image: eu.gcr.io/myproject/$(NAMESPACE)-myimage
  name: myimage

然后我可以推送eu.gcr.io/myproject/mynamespace-myimage使我的图像可用于命名空间mynamespace

有没有任何整洁的方法来实现这种事情。如果没有,并且因为我一直无法找到其他人提出类似的问题,那么有什么方法可以做这件坏事吗?

1 个答案:

答案 0 :(得分:1)

我不认为这是可能的。 Kubernetes支持commandargs等字段的扩展。这允许您使用容器的env字段中的变量集替换,该字段可以来自configmap / secret。示例:many things

但我不认为变量扩展适用于image字段。 :(

您尝试做的事情似乎并不是一个好主意:在多个环境中拥有不同的图像会破坏测试/登台环境的目的。

相反,您应该使用相同的图像在所有平台上进行测试,方法是更改​​env vars,configMaps等。

相关问题