我有一个卡桑德拉的Helm Chart,它运行得很好,我可以连接到它并运行cqlsh命令。
我想在图表中添加一个Helm Hook。我已经设法做到了,但是,我不能在容器中执行cqlsh。这是我希望在post-install阶段执行的Kubernetes作业。
apiVersion: batch/v1
kind: Job
metadata:
name: my-job
spec:
template:
metadata:
name: hook-job
annotations:
"helm.sh/hook": post-install
"helm.sh/hook-delete-policy": hook-succeeded
spec:
containers:
- name: cqlsh-cmd
image: <cassandra-image>
command: ["bin/sh", "-c", "cqlsh"]
restartPolicy: OnFailure但是,找不到cqlsh命令。
一般来说,这看起来很奇怪,我不得不重用我在Helm Chart中定义的同一个容器。我做错了什么吗?
发布于 2020-07-31 01:25:31
此时,您的pod/容器可能不会打开。在post生命周期下使用它。
spec:
containers:
- name: cqlsh-cmd
image: <cassandra-image>
lifecycle:
postStart:
exec:
command: ["/bin/sh", "-c", "
set -x\n
while true;\n
do\n
echo 'looking cassandra...,'\n
timeout 1 bash -c 'cat < /dev/null > /dev/tcp/localhost/9042'\n
exitCode=$?\n
if [ $exitCode = 0 ]; then\n
cqlsh /** your command **/ \n
break;\n
fi\n
sleep 1s\n
done\n
"]https://stackoverflow.com/questions/63075208
复制相似问题