Локальный Docker реестр в Swarm

container stackВ одном из прошлых постов про проверку состояния контейнеров в Docker ближе к концу поста мне удалось запустить Swarm сервис из локально собранного образа. Ну как удалось.. Собрал и запустил. Но что меня удивило, Docker в Swarm режиме мне это позволил. Всё-таки в нём могло быть больше, чем один хост, а образ я создавал только на первом. Что если бы Swarm запустил сервис на ноде, где образа не было? Или отмасштабировал? Он же не стал бы автоматически копировать образы между хостами, так ведь? Или всё-таки стал бы?

Попробуем-ка сегодня мы отмасштабировать сервис на базе кастомного образа и посмотрим, получится ли. Спойлер: без локального реестра образов получится так себе.

Читать далее Локальный Docker реестр в Swarm

Как фитнесс трекер и Дуров заставили меня побежать

monty-python-run-away

В школе я никогда не был бегуном. Ну вообще никак. Сто метров пробежать мог, конечно, без проблем, но какие-нибудь полтора-два километра… Бегали мы вокруг школы, и обычно ко второму кругу я выплёвывал остаток лёгких, вывешивал язык на плечо, и смирялся, что не моё это.

Но потом, когда мы готовились к погоду в горы, случилась интересная штука. Чтобы готовить лёгкие к более разреженному воздуху, нам, будущим ходокам с ледорубами, нужно было бегать. И я честно пару раз в неделю выбирался на свои болота навернуть кружок-другой. Во время одной из таких вылазок я заметил, что альбом Энигмы в плейере успел начаться и закончиться, а я всё ещё бегу. И самая большая проблема в процессе — не лёгкие и ноги, а скука. Так я выяснил, что «не моё» на самом деле бывает очень относительным. Выяснил, и благополучно забыл. Читать далее Как фитнесс трекер и Дуров заставили меня побежать

Что же всё-таки такое kubernetes

kubernetesKubernetes (он же K8s) — это ещё одна инструментина для управления контейнерами в кластере. Она решает, в какой части кластера контейнер будет запущен, следит, чтобы его запрошенная конфигурация («запущен», «пять реплик») выполнялась, чтобы у контейнера была сеть и айпишка, настроен доступ извне (если нужно), обновления приходили в нужном порядке, и т.п.

Изначально Kubernetes разрабатывался Гуглом, но те передали его в open source, так что теперь K8s свободен, как бесплатное пиво. Читать далее Что же всё-таки такое kubernetes

Два года канадской эмиграции

The Lumberjack Song

Я тут с удивлением обнаружил, что в Канаде мы живём уже 2 года. Можно было бы сказать «как быстро летит время…», но это сильно попахивает старостью, поэтому просто расскажу, как оно.

Читать далее Два года канадской эмиграции

Проверка состояния контейнера в Docker

Проверка состояния контейнераКаким-то непонятным образом я пропустил новость о том, что начиная с версии 1.12 Docker контейнерам можно навешивать проверку состояния. И речь тут идёт не о проверке, запущен ли ещё контейнер, а о том, делает ли он всё ещё то, ради чего создавался. Например, мы можем проверять, отзывается ли веб-сервер внутри контейнера на входящие запросы, вменяемое ли количество памяти он использует, встречаются ли в логах фразы вроде «epic fail!!!»… Много чего можно проверить, ведь проверка делается через запуск какого-нибудь стороннего скрипта или приложения, а её результат зависит от кода, с которым это приложение завершилось.

В обычном режиме контейнер, последние несколько проверок которого оказались «так себе», получит атрибут «unhealthy», в Docker events появится соответствующая запись (health_status), и на этом история закончится. Но если речь идёт о Swarm режиме, то проблемный контейнер без лишних разговоров усыпят и автоматически запустят новый. Вот так жестоко. Читать далее Проверка состояния контейнера в Docker