kubernetes kubctl在使用stdin/stderr/stdout时运行作业

hivapdat  于 2023-03-12  发布在  Kubernetes
关注(0)|答案(1)|浏览(175)

对于在新pod上运行一些时间有限的操作,以下哪种方法更好:

  1. kubectl run以创建pod
    1.创建常规Kubernetes作业,例如kubectl apply -f job.yaml
    要求:
    我有两种使用情形:
    1.我必须通过stdin将二进制内容传递给pod。对于kubectl run -i,这是微不足道的,它可以工作。对于一个作业,我不知道如何做到这一点。
    1.我必须通过stdout从pod和stderr日志输出中获取二进制内容。对于kubectl run --attach,这也是微不足道的,而且它可以工作。对于一个作业,我可以使用kubectl logs,但不知道如何从stderr中分离stdin
    使用作业而不是pod是否可以获得更好的可伸缩性或任何其他优势(从错误中恢复)?
kxe2p93d

kxe2p93d1#

对于stdout的情况,我设法使用了job
作业的pod对调用pod执行kubectl cp,并传输所有需要的文件。
通过这种方式,我不需要使用标准输出,并且可以指定资源的限制。
其优点是节点的自动缩放确实有效。

相关问题