gpt4 book ai didi

kubernetes - 在 Helm Chart 中执行命令

转载 作者:行者123 更新时间:2023-12-02 12:26:06 25 4
gpt4 key购买 nike

我有一个 Cassandra 的 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 中定义的同一容器似乎很奇怪。我做错了什么吗?

最佳答案

你的 pod/container 那时可能还没有启动。在后期生命周期下使用它。

  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
"]

关于kubernetes - 在 Helm Chart 中执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63075208/

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