【问题标题】:kubectl run - How to pass some commands to be executed before reaching the interactive terminal?kubectl run - 如何在到达交互式终端之前传递一些要执行的命令?
【发布时间】:2020-12-19 16:07:35
【问题描述】:

kubectl run -ti 与交互式终端一起使用时,我希望能够在kubectl run 命令中传递一些命令,以便在交互式终端出现之前运行,例如apt install zip 之类的命令。这样,我就不需要等待交互式终端出现,然后再运行那些常用命令。有没有办法做到这一点?

谢谢

【问题讨论】:

  • 运行一个已经有你想要的工具的镜像
  • 谢谢。这是我使用的一个选项。但是,我想看看是否可以直接通过 kubectl run 命令实现。

标签: kubernetes parameter-passing kubectl interactive


【解决方案1】:

您可以使用 shell 的 exec 将控制权从最初的“外部”bash 移交给新的 bash(负责执行所需的初始化步骤)(新鲜的意思是它没有 -c并且可以选择是登录外壳)在您的预先步骤之后运行:

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

【讨论】:

    猜你喜欢
    • 2016-07-28
    • 1970-01-01
    • 2023-02-08
    • 2016-03-11
    • 2012-02-20
    • 1970-01-01
    • 1970-01-01
    • 2019-06-22
    • 1970-01-01
    相关资源
    最近更新 更多