ogb*_*jnr 5 docker kubernetes clickhouse
我需要在 kubernetes 的 clickhouse 数据库中运行命令。
当我用 docker 尝试它时,它工作正常:
docker run -it yandex/clickhouse-client -h 172.19.0.1 --database=test --query="SYSTEM RELOAD DICTIONARIES"
但是当我在 kub 中运行它时:
kubectl run --quiet -it --rm clickhouse-client --image=yandex/clickhouse-client -- -h clickhouse-server --database=test --query="SYSTEM RELOAD DICTIONARIES"
Run Code Online (Sandbox Code Playgroud)
第二个命令挂起。Pod 处于 CrashLoopBackOff 并 Back-off 重新启动失败的容器/ 且容器的日志包含查询结果。
为什么结果没有刷新到tty?
这个命令对我有用:
kubectl run busybox --quiet -it --rm --restart=Never --image=busybox -- nslookup foobar
和click-house客户端有什么区别?
@ogbofjnr 这可能是因为查询完成后 pod 就会被杀死。Kubernetes 会重启 pod,执行查询后它会再次死亡。这就是您看到重启循环的原因。
对于繁忙的盒子,入口点是一个长时间运行的命令,例如 sleep 3600 https://github.com/kubernetes/kubernetes/blob/master/hack/testdata/recursive/pod/pod/busybox.yaml#L10-L12。
如果您的想法是按计划运行查询,您应该尝试类似的操作,或者尝试 Kubernetes cron 作业。
| 归档时间: |
|
| 查看次数: |
6276 次 |
| 最近记录: |