Любую подобную команду я могу запустить в kubernetes как «docker run -ti --rm alpine ls /»

В докере я могу запустить контейнер с опцией --rm, чтобы после завершения команды контейнер исчез. Например, я могу запустить команду ниже, чтобы вывести список корневых каталогов контейнера Alpine, и он удалит себя после запуска:

$ docker run -ti --rm alpine ls /
bin    etc    lib    mnt    proc   run    srv    tmp    var
dev    home   media  opt    root   sbin   sys    usr

Как я могу сопоставить аналогичную команду в kubectl?

Вы смотрели документацию Kubernetes, в которой объясняются команды и доступные параметры?

Daniel Mann 19.12.2020 18:29
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
1
1
436
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Это должна сделать следующая команда:

kubectl run alpinepod --rm -it --image=alpine --restart=Never -- /bin/ls /

Команда «kubectl run» аналогична «запуску контейнера докеров», за исключением того, что она запускает модуль, а не просто контейнер. [Создайте и запустите определенный образ в модуле.] Ниже приводится объяснение параметров, которые мы использовали в приведенной выше команде (из kubectl run --help)

--image='': The image for the container to run. 
--rm=false: If true, delete resources created in this command for attached containers.
-i, --stdin=false: Keep stdin open on the container(s) in the pod, even if nothing is attached.
-t, --tty=false: Allocated a TTY for each container in the pod.
--restart='Always': The restart policy for this Pod.  Legal values [Always, OnFailure, Never].
we have used "Never" so that pod wont go for continuous reboot after the command completion

Это выглядит правильно, но SO обычно предпочитает немного больше текста вокруг ответа. Не могли бы вы добавить объяснение?

Software Engineer 19.12.2020 18:00

@SoftwareEngineer только что добавил объяснение.

confused genius 19.12.2020 18:24

Gr8, kubectl run также поддерживает --rm.

Bill 20.12.2020 21:15

Другая важная часть — это --restart=Never, я могу понять --rm, но я никогда не думал ставить вместе --restart=Never, чтобы эта команда работала должным образом.

Bill 20.12.2020 21:29

На самом деле я могу написать задание kubernetes, чтобы сделать подобное, его можно запустить с помощью kubectl apply -f, но (1) пакет заданий не исчезнет после завершения (2) я не могу запустить задание с помощью команды kubectl run напрямую. Спасибо за ответ.

Bill 20.12.2020 21:29

@Bill Я согласен, я обновил ответ, описывающий значение «--restart=Never». Спасибо, что указали на это :).

confused genius 21.12.2020 13:34

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