gpt4 book ai didi

kubernetes - 如何运行 Kubernetes pod,其唯一目的是针对它运行 exec?

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

请在评论或回答之前,这个问题是关于 CLI 程序,而不是服务。显然 90% 的 Kubernetes 都与运行服务有关,因此 CLI 程序的文档很少,这些 CLI 程序旨在成为管道工作流的一部分。

我有一个将标准输出用于 JSON 结果的命令行程序。

我有一个用于命令行程序的 docker 镜像。

如果我将容器创建为 Kubernetes 作业,则 stdout 和 stderr 会混合在一起,并且需要启发式清理以获取纯 JSON。

标准错误消息来自我直接控制之外的 native 库。

假设,如果我运行 kubectl exec针对正在运行的 pod,我将获得正常的 stdout/stderr 管道。

有没有办法让 pod 在没有入口点(或一些虚拟服务入口点)的情况下运行,其唯一目的是运行 kubectl exec反对?

最佳答案

Is there a way to just have the pod running without an entrypoint [...]?



一个 pod 由一个或多个容器组成,每个容器都有一个单独的入口点。当然可以使用虚拟命令运行容器,例如,您可以使用以下命令构建镜像:
CMD sleep inf

这将运行一个容器,该容器将持续存在直到您将其杀死,您可以愉快地 docker exec进去。

您可以将相同的解决方案应用于 k8s。您可以如上所述构建镜像并将其部署在 pod 中,或者您可以使用现有镜像并简单地设置命令,如下所示:
spec:
containers:
- name: mycontainer
image: myexistingimage
command: ["sleep", "inf"]

关于kubernetes - 如何运行 Kubernetes pod,其唯一目的是针对它运行 exec?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47927304/

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