Мы едем в Нью-Йорк!

Назад в Нью-Йорк

Ура! На горизонте, наконец, замаячило завершение эпопеи с получением канадского ПМЖ. Ведь чтобы официально «залэндиться» нам оставалось только выехать и вернуться назад в Канаду. Но с тремя белорусскими паспортами и одним канадским совсем непонятно, в какую страну выезжать. Проблема решилась. У нас на руках теперь есть три американские визы и мы едем в Нью-Йорк! Читать далее Мы едем в Нью-Йорк!

Конфигурация VM с Vagrant и Ansible

Ansible vagrant

А я тем временем продолжаю выискивать, чем бы ещё автоматизировать настройку хостов. До сих пор я пользовался связкой Vagrant + bash/PowerShell для линуксовых или виндовых хостов, но каким-то странным образом пропустил тулзу, которая подходит под это дело лучше, чем просто скриптовать всё подряд, — Ansible. Она существует уже лет пять, и, как я заметил, превратилась практически в синоним фразы «автоматическая конфигурация». Сегодня, наконец, я её пожмякаю. Посмотрим, так ли уж Ansible удобнее, чем старый добрый bash.

Читать далее Конфигурация VM с Vagrant и Ansible

Рейд на канадскую ферму

Канадская ферма

А мы нашли ещё один способ интересно провести выходной и выгулять детей. Местные фермы, оказывается, это не только клубнику собирать и кукурузу выращивать, но и вполне такой способ выгулять детей на колоритной площадке, посмотреть через забор на природу и закупиться экологическими вкусняшками.

В этом месяце мы умудрились побывать сразу на нескольких, и во время последней поездки я, наконец, догадался начать фотографировать. О ней и расскажу.

Читать далее Рейд на канадскую ферму

Непрерывная интеграция и развёртывание (CI/CD) в GitLab

GitLab logo

В прошлом месяце мы, наконец, переехали со своей старой CI/CD (continuous integration and delivery) системы домашней выделки на GitLab Community Edition, и этот факт делает моё лицо счастливым до сих пор. Всё-таки так приятно, когда и репозитории, и коммиты, и компиляция, и тесты, и результаты всего этого, и даже так кнопка «Одобрям-с», которая отправляет релиз-кандидата в репозиторий одобренных релизов — когда всё это лежит в одном месте и прекрасно интегрируется друг с другом.

От чего я действительно фанатею в Гитлабе, так это насколько легко в нём всё это настраивать. Настолько просто, что сегодня мы настроим полнофункциональную CI/CD систему от начала и до конца. От установки GitLab и до выкатывания релиза после успешных тестов.

Ну что, будем начинать?

Читать далее Непрерывная интеграция и развёртывание (CI/CD) в GitLab

Гугл, купи меня, или сказ о том, как я на рынке торговал

рынок

Прочитав с утра новости, что Гугл купил белорусский стартап, я решил не выплёскивать эмоции дома и донёс их до работы. Там, устроив засаду у кофеварки, дождался появления двух ничего подозревающих коллег и в нужный момент выпалил:

— А знаете что? Гугл сегодня купил белорусский стартап!

— У-у-у-у, ну хорошо! Отлично! Good for you. Читать далее Гугл, купи меня, или сказ о том, как я на рынке торговал

Как перенести WordPress сайт в Docker

WordPress в Docker

Ни один из моих блогов на WordPress не установлен в Docker контейнерах, и об этом я жалею с самого момента их создания. Мне хватило всего пары недель, чтобы забыть, как именно настроены сервера, зачем на них включена та или иная фича, и теперь во время каждого апдэйда приходится молиться всем известным богам программирования, потому что если что-то пойдёт не так, я уже без понятия, как это разруливать. Даже просто перенести сайт на новый сервер было бы подвигом.

С Докер контейнерами таких проблем бы не было. Взял Dockerfile или docker-compose.yml, взял volumes с данными, перенёс на другую машину, и всё. Можно было бы даже запустить реплики блогов дома, чтобы на них экспериментировать, проверять апдэйты и надругивать новые фичи.

Но не всё потеряно. Прогрессирующее старпёрство мне уже не позволит просто так вот взять и выкатить Docker в свой «продакшен», но создать локальную докеризированную реплику одного из блогов определённо можно. А там, если всё пойдёт нормально, можно и в большой интернет. Читать далее Как перенести WordPress сайт в Docker

Где выгуляться папе с сыном в Онтарио

collage

Собирался писать о чём-то умном и нудном, но выдалась такая упоротая неделя, во время которой постоянно хотелось спать, и чтобы других людей не было, что меня хватит разве что на красивые картинки и подписи к ним. Например, красивые картинки о том, где можно выгуляться папе с сыном в нашем районе Онтарио (GTAH).

Внезапно выяснилось, что старшему сыну уже скоро четыре, а в этом возрасте у него появляется много интересов, которые его не сильно преклонных лет папа всё ещё способен разделить: самолёты, корабли, пушки, акулы, крокодилы и то, как растёт табак (последнее уже от меня, но было интересно обоим). В результате, за последние два месяца мы объездили неожиданно много новых мест. Итак, по списку. Читать далее Где выгуляться папе с сыном в Онтарио

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

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

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

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

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

monty-python-run-away

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

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

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

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

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

Размышления об эмиграции, жизни, и вообще