kubernetes(k8s)如何使用kubectl run在进入终端(命令行)之前预先执行一些其他的命令?

发表于: 2020-12-20   最后更新时间: 2020-12-20 23:03:05   1,674 游览

我使用kubernetes(k8s),当在我在终端上使用kubectl run -ti时,我希望能够在kubectl run命令中预传递一些命令,在终端出现之前运行,例如apt install zip等命令。这样一来,我就不需要等终端出现后再运行那些常用的命令了。有什么办法可以这样做吗?

感谢!

发表于 2020-12-20

你可以使用shell的exec将控制权从你最初的"外层"bash(负责完成你想要的初始化步骤)移交给一个新的bash(新的意思是它没有-c,可以选择是一个登录的shell),它在你的预步骤之后运行,如下。

kubectl run sample -it --image=ubuntu:20.04 -- \
    bash -c "apt update; apt install -y zip; exec bash -il"
你的答案

查看kubernetes相关的其他问题或提一个您自己的问题