В каком порядке Skaffold запускает развертывание и есть ли способ указать порядок? - PullRequest
0 голосов
/ 21 января 2020

По сути, мне нужно ускорить развертывание базы данных перед развертыванием API. Если база данных не работает, она выдает ошибку в API.

Я запутался с заказом в artifacts:, а также в:

deploy:
  kubectl:
    manifests:
      - manifests/ingress.yaml 
      - manifests/postgres.yaml      
      - manifests/client.yaml
      - manifests/api.yaml

Но, похоже, это не имеет никакого отношения к порядку их запуска.

Единственное, что я могу думать, это то, что это алфавит. Раньше у меня не было проблем: база данных запускалась бы 49/50 до API. Теперь речь идет об обратном. Единственное, что я изменил, - это новый компьютер, и я переименовал server в api, что ставит его в первую очередь по алфавиту.

Итак, два вопроса:

  1. Как определяется порядок развертывания в Skaffold?
  2. Есть ли способ установить порядок?

1 Ответ

0 голосов
/ 31 января 2020

Что мне нужно было сделать, это настроить livenessProbe и readinessProbe.

          livenessProbe:
            tcpSocket:
              port: 5000
            initialDelaySeconds: 2
            periodSeconds: 2
          readinessProbe:
            tcpSocket:
              port: 5000
            initialDelaySeconds: 2
            periodSeconds: 2

При этом Django не сможет (т.е. не может подключиться к базе данных), и если он продолжает пытаться перераспределить его, пока не сделает. Это был единственный способ, который я смог найти.

...