问题描述
我想在一个文件中为特定容器定义 yaml,然后在构建 depyment 时将该容器配置拉入部署配置。是否可以这样做,因为单独的容器不是 Kubernetes 资源?
解决方法
目前,这是不可能的。
- 补丁将不起作用,因为 podTemplate 的路径在所有工作负载资源类型中并不总是相同。
- 变量目前不支持整个对象(我相信在 github 上有一些讨论),但只支持字符串。
- 在某些版本的 k8s 上,您可以使用称为 PodPreset 的东西,但它似乎不再受支持。
为避免跨所有资源的 podTemplate 之间出现差异,您可以做的最好的事情是隔离相似和/或容易出错的部分,并使用特定的转换器/生成器。
例如,使用 images
转换器确保您的所有 pod 使用相同的图像。使用 ConfigMap 生成器和 envFrom
保持所有环境变量相同。