Kubectl run — Как передать некоторые команды для выполнения до достижения интерактивного терминала?

При использовании kubectl run -ti с интерактивным терминалом я хотел бы иметь возможность передать несколько команд в команду kubectl run, которая будет выполняться до появления интерактивного терминала, например такие команды, как apt install zip. Таким образом, мне не нужно ждать, пока появится интерактивный терминал, а затем запускать эти общие команды. Есть ли способ сделать это?

Спасибо

Запустите образ, в котором уже есть нужные вам инструменты

Software Engineer 19.12.2020 18:40

Спасибо. Это вариант, который я использую. Однако я хотел бы посмотреть, возможно ли это непосредственно из команды запуска kubectl.

imriss 19.12.2020 18:47
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
1
2
112
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать exec оболочки, чтобы передать управление от вашего первоначального «внешнего» bash, отвечающего за выполнение необходимых шагов инициализации, на новый (свежий в том смысле, что он не имеет -c и может быть оболочкой входа в систему). ), который запускается после ваших предварительных шагов:

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

Другие вопросы по теме