Docker swarm - Поиск правильного роя. Версия при обновлении сервисов - PullRequest
0 голосов
/ 15 октября 2018

Я хочу масштабировать количество реплик в службе, используя Go SDK.

Это функция, которая (я думаю) выполняет это:

func (cli *Client) ServiceUpdate(ctx context.Context, serviceID string, version swarm.Version, service swarm.ServiceSpec, options types.ServiceUpdateOptions) (types.ServiceUpdateResponse, error)

Всякий раз, когда я запускаю егоТем не менее, я получаю сообщение об ошибке:

Error response from daemon: rpc error: code = Unknown desc = update out of sequence

Я почти уверен, что это происходит, потому что последовательность обновления вышла из строя , а версия нет.используется для заказа.

Но я не знаю, как найти правильный индекс версии!

1 Ответ

0 голосов
/ 17 октября 2018

Ах, я понял!

Docker требует, чтобы вы передавали ту же версию и ServiceSpec при обновлении службы, чтобы избежать неупорядоченных обновлений, с которыми я столкнулся.

Вы можете легко получить это через ServiceInspectWithRaw, который возвращает swarm.Service, у которого есть версия в поле Meta.Version.Я полностью пропустил это заранее.

...