TGViewer
этогик // DevOps, Infrastructure, Productivity этогик // DevOps, Infrastructure, Productivity @etogeek · 4.38K subscribers
Post #358 4.46K
Немного бомбления про Docker Swarm.

Есть опция max_replicas_per_node - позволяет ограничить количество реплик сервиса на одну ноду.

Кейс простой: две ноды, две реплики сервиса → хочу строго 1+1, чтобы не было перекоса по памяти.

Ставлю:
max_replicas_per_node: 1

Логично? Логично.

Дальше деплой новой версии с start-first (это как rolling update в кубе, чтобы без даунтайма):

- Поднимается новый контейнер
- Ждём healthcheck
- Гасим старый
- Повторяем

Но тут начинается веселье.

У нас уже есть по одной реплике на каждой ноде.
Swarm пытается поднять новую реплику → и не может:

- на node1 уже 1 → нельзя
- на node2 уже 1 → нельзя
- других нод нет

И всё. Деплой просто блокируется с no suitable node.

Почему?

Потому что в Swarm это правило жёсткое. Он не умеет временно нарушать placement constraints, даже ради rolling update.

Что с этим делать?

Да фиг его знает ¯\_(ツ)_/¯
  • 😁 17
  • 👏 6
  • 🔥 5
  • 🤯 2
  • 👨‍💻 2
More from @etogeek
  1. Sep 4, 2026Баланс в EdTech Подписан на канал Mischa van den Burg и там недавно вышло видео, где автор…
  2. Aug 31, 2026Чтобы немного подвести итог серии постов про бекапы (раз и два), расскажу как я ими управл…
  3. Aug 25, 2026Мониторинг бекапов В прошлый раз я говорил про PITR-бекапы для PostgreSQL, теперь хочу нем…
  4. Aug 21, 2026Про бекапы. Хочу немного поделиться своим опытом в нескольких постах. Это больше информаци…
  5. Aug 13, 2026Когда я преподавал в Практикуме (был такой период, да. еще и видео снимал), студенты часто…
  6. Jun 25, 2026Некоторое время назад столкнулся с тем, что какой-то сервис отправил мне огромное количест…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →