shell - k8s:创建部署时使用参数化图像标签
问题描述
我想以kubernetes
如下方式运行部署:
apiVersion: v1
kind: Deployment
metadata:
name: my-deployment
namespace: my-namespace
spec:
replicas: 1
template:
spec:
containers:
- name: my-app
image: our-own-registry.com/somerepo/my-app:${IMAGE_TAG}
env:
- name: FOO
value: "BAR"
这将交付给开发人员,以便他们可以使用他们偏好的图像标签执行按需部署。
传递标签变量的最佳方式/推荐模式是什么?
在命令行上执行导出以使其在kubectl
运行命令的 shell 上作为 env var 可用?
解决方案
不幸的是,通过原生 kubernetes 工具是不可能的。从这里:
kubectl 永远不会支持变量替换。
但是,该问题案例也有一些很好的解决方法。最好的方法是使用模板通过图表部署您的应用程序Helm
推荐阅读
- google-tag-manager - 将复杂数据层中的值放入 GTM 变量中
- javascript - Nativescript ios - 命令 xcodebuild 失败,退出代码为空
- javascript - 如何对多行字符串进行排序?
- laravel - Laravel Eloquent:使用 OrWhere 的多个 Wheres
- sql - 按日期透视 DateTime 字段
- ios - 在 Tableview Swift 中删除 Header View Section 的白色边框底部
- html - angular 5 动态反应形式
- c# - C# 使用自定义环境变量以管理员身份启动子进程(在 CMD 窗口中)
- three.js - 是否可以在three.js中渲染阴影而不必从对象投射
- sql - 我怎样才能使它成为一个插入语句