kubernetes-helm - 舵。执行 bash 脚本以选择正确的图像
问题描述
头盔文件:
spec:
containers:
- name: {{ .Values.app.name }}
image: {{ .Values.image.name }} --> execute shell script here
imagePullPolicy: Always
ports:
- containerPort: 8081
env:
- name: BACKEND_HOST
value: {{ .Values.backend.host }}
我想执行 bash 脚本来检查这个图像是否存在。如果没有,则将拍摄其他图像。helm如何做到这一点?或者有什么解决办法吗?
解决方案
Helm 无法调用其他进程、建立网络连接或执行任何其他类型的外部查找(有一个特定例外,它可以从集群中读取 Kubernetes 对象)。当您运行helm install
命令时,您必须传递此值:
helm install release-name ./chart-directory \
--set image.name=$(the command you want to run)
如果这是从某个较大进程的一部分运行的,您可能会发现编写可以传递给helm install -f
选项的 JSON 或 YAML 文件比动态调用脚本更容易;该helm install --set
选项有一些不寻常的语法和行为。您甚至可以更进一步,将每个安装的 YAML 文件检查到源代码控制中,并在部署管道中的另一个步骤通知提交并实际执行安装(“GitOps”样式)。
推荐阅读
- php - 如何找到我的 Wordpress 垃圾邮件 URL 注入?
- java - 为什么我的视图不在线性布局中水平居中?
- javascript - 删除包含重复属性的嵌套对象
- hadoop - 在许多 with 语句之后在 Hue 中创建表
- r - ggplot,在条形组之间添加网格线
- ios - 设置视频阵列视图
- javascript - 如何获得随机数而不是随机数和字母?
- python - django.db.utils.IntegrityError: FOREIGN KEY 约束失败
- java - 使用 Selenium Java 在窗口屏幕中拟合对象
- vb.net - MigraDoc 旋转图像 (vb.net)