Определение зависимостей развертывания - PullRequest
0 голосов
/ 19 марта 2020

У меня есть приложение, которое имеет 14 различных услуг. Некоторые из этих услуг зависят от других услуг. Я пытаюсь найти хороший способ развернуть их в правильной последовательности без использования спящих потоков.

  1. Есть ли способ сообщить kuberentes дерево развертывания службы, например не развертывать службу B или службу C, пока служба A не окажется в контейнере и статус не будет запущен? \
  2. Есть ли хороший способ использовать kubectl для опроса службы A, чтобы я мог некоторое время сделать l oop, пока не узнаю, что он работает и запустить сценарии для развертывания службы B и C?

Ответы [ 2 ]

1 голос
/ 19 марта 2020

Это не то, как работает Kubernetes. Вы можете использовать его с помощью initContainer, который блокирует, пока не станут доступны зависимости (обычно через kubectl через некоторое время l oop, но вам кажется, что вы можете попробовать использовать --wait).

Но ожидается, что вы настроите свои приложения на «в конечном итоге согласованность», когда речь заходит о межсервисных зависимостях. На практике это обычно означает просто сбой, если зависимый сервис недоступен, и он будет просто перезапущен, пока что-то не получится.

0 голосов
/ 20 марта 2020

Вы можете использовать датчик готовности, чтобы поразить API проверки работоспособности развертываемого приложения, и в этих API проверки работоспособности вы можете проверить доступность других модулей службы, нажав их API или службу

...