В докере я могу запустить контейнер с опцией --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
?
Это должна сделать следующая команда:
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 обычно предпочитает немного больше текста вокруг ответа. Не могли бы вы добавить объяснение?
@SoftwareEngineer только что добавил объяснение.
Gr8, kubectl run
также поддерживает --rm
.
Другая важная часть — это --restart=Never
, я могу понять --rm
, но я никогда не думал ставить вместе --restart=Never
, чтобы эта команда работала должным образом.
На самом деле я могу написать задание kubernetes, чтобы сделать подобное, его можно запустить с помощью kubectl apply -f
, но (1) пакет заданий не исчезнет после завершения (2) я не могу запустить задание с помощью команды kubectl run
напрямую. Спасибо за ответ.
@Bill Я согласен, я обновил ответ, описывающий значение «--restart=Never». Спасибо, что указали на это :).
Вы смотрели документацию Kubernetes, в которой объясняются команды и доступные параметры?