gpt4 book ai didi

kubernetes - 通过 Helm 钩子(Hook)运行脚本

转载 作者:行者123 更新时间:2023-12-03 09:51:40 25 4
gpt4 key购买 nike

我为我的 Helm 图表编写了升级前和升级后的钩子(Hook),当我进行 helm 升级时会调用它们。我的升级前 Hook 应该将一些信息写入共享持久存储卷中的文件。不知何故,我没有看到这个文件被创建,尽管我能够看到钩子(Hook)被调用。

这是我的升级前钩子(Hook)的样子:

apiVersion: batch/v1
kind: Job
metadata:
name: "{{.Release.Name}}-preupgrade"
labels:
heritage: {{.Release.Service | quote }}
release: {{.Release.Name | quote }}
chart: "{{.Chart.Name}}-{{.Chart.Version}}"
annotations:
"helm.sh/hook": pre-upgrade
"helm.sh/hook-weight": "0"
"helm.sh/hook-delete-policy": hook-succeeded
spec:
template:
metadata:
name: "{{.Release.Name}}"
labels:
heritage: {{.Release.Service | quote }}
release: {{.Release.Name | quote }}
chart: "{{.Chart.Name}}-{{.Chart.Version}}"
spec:
restartPolicy: Never
containers:
- name: pre-upgrade-job
image: {{ .Values.registry }}/{{ .Values.imageRepo }}:{{ .Values.imageTag }}
imagePullPolicy: {{ .Values.imagePullPolicy }}
volumeMounts:
- mountPath: {{ .Values.pvc.shared_storage_path }}/{{ template "fullname" . }}
name: shared-pvc
command: ['/bin/sh -c scripts/preUpgradeScript.sh {{ .Values.pvc.shared_storage_path }}/{{ template "fullname" . }}']
volumes:
- name: shared-pvc
persistentVolumeClaim:
claimName: {{ template "fullname" . }}-shared-pv-claim

我的期望是钩子(Hook)应该能够将信息写入在升级之前已经创建的 PVC 卷。当我对升级 pod 进行描述时,我可以看到以下错误:
Error: failed to start container "pre-upgrade-job": Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "exec: \"/bin/sh -c scripts/preUpgradeScript.sh /opt/flink/share/myfl-flink\": stat /bin/sh -c scripts/preUpgradeScript.sh /opt/flink/share/myfl-flink: no such file or directory"

在运行命令之前,钩子(Hook)不是先挂载卷吗?另外,我正在用 docker 图像打包脚本,所以我相信它应该在那里。
当钩子(Hook) pod 进入失败状态时,我无法执行它。
谁能帮我这个?

[更新] 我添加了一个 sleep 命令进入 pod 并检查脚本是否可用以及挂载路径是否存在。一切看起来都很好。我不明白为什么会出现这个错误。

最佳答案

看起来我需要以不同的方式给出命令:

command: ["/bin/sh", "-c", "scripts/preUpgradeScript.sh","{{ .Values.pvc.shared_storage_path }}/{{ template "fullname" . }}"]

关于kubernetes - 通过 Helm 钩子(Hook)运行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51068712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com