Скаффолд уважает непрерывные обновления? - PullRequest
0 голосов
/ 21 февраля 2020

Учитывает ли скаффолд непрерывные обновления при использовании опции --force? Когда я выполняю skaffold run --force с

  replicas: 3
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 0
      maxSurge: 3

Кажется, что всплеск никогда не происходит.

В другом окне терминала я запускаю watch kubectl get pods и никогда не вижу количество реплик для моего развертывания go выше 3. Я подозреваю, что это из-за флага --force, но я не уверен.

Прежде чем люди скажут мне не применять силу, см. https://github.com/GoogleContainerTools/skaffold/issues/3171. Skaffold автоматически изменяет идентификатор запуска, что приводит к сбою развертывания, если ресурсы для развертывания уже существуют. При этом, если есть способ сообщить скаффолду, чтобы он обновлял развертывание, не жалуясь на несовпадающие идентификаторы выполнения, я хотел бы услышать. Я не фанат использования --force.

РЕДАКТИРОВАТЬ:

Глядя на помощь скаффолд, я вижу:

      --force=false: Recreate Kubernetes resources if necessary for deployment, warning: might cause downtime! (true by default for `skaffold dev`)

Слово Recreate предполагает, что стратегия RollingDeployment может не соблюдаться.

1 Ответ

1 голос
/ 21 февраля 2020

После дополнительного тестирования я могу подтвердить, что использование --force приводит к игнорированию стратегии развертывания. Чтобы обойти проблему с идентификатором запуска, я упомянул, что я

  1. сделал принудительное развертывание с -l skaffold.dev/run-id=test
  2. сделал другое развертывание без --force и с тем же идентификатором запуска из предыдущий шаг.

Когда я это сделал, я увидел ожидаемый скачок.

...