Как уже было сказано в других ответах, вы не можете определить порядок инициализации между POD за пределами развертывания.
Каждое развертывание (POD) должно быть независимым блоком, у которого должен быть собственный жизненный цикл, если один POD зависит от других POD, которые будут запущены для инициализации, вам, вероятно, потребуется пересмотреть свой дизайн.
- Что произойдет, если POD заработает при запуске и выйдет из строя после запуска другого POD?
- Если POD B обновляется, а POD A обновляется позже?
Вы должны проектировать свои системы с идеей, что они всегда будут давать сбои, если служба B запустится раньше службы A, POD будет вести себя так же, как если бы они были запущены в правильном порядке, а служба A (которая зависит от B) после этого вышла из строя. .
Ваше приложение должно обрабатывать их, а не перекладывать их на оркестратор.
.
Если вам действительно нужно реализовать упорядочивание и изменение приложений, вы можете использовать init containers
для отправки запросов к конечным точкам работоспособности (готовности) в других контейнерах, так же, как K8s проверяет, готов ли ваш контейнер , когда они отвечают успешным ответом, вы затем завершаете выполнение инициализации и позволяете POD запускать другие контейнеры.
person
Diego Mendes
schedule
08.07.2019
https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#wait
- person Suresh Vishnoi   schedule 08.07.2019