Author Archives: admin

Запускаем собственный ngrok

ngrok действительно очень удобное решение, хотите ли вы показать запущенный локально сайт коллеге, или сделать локальный сервис доступным из сети интернет. Но бесплатный ngrok имеет существенные ограничения, а за цену платной версии $5 / месяц, можно арендовать целый сервер, запустить на нем бог знает что и использовать все его ресурсы.
Альтернативу ngrok я искал давно, пробовал localtunnel и другие варианты, но не так давно в дебрях lowendtalk.com наткнулся на упоминание идеального со всех сторон решения — FRP (fast reverse proxy).
Что нам потребуется:

  • Найденный на lowendbox.com VPS с белым IP (несколько долларов в год) или быстрый дроплет от DigitalOcean за $5 и бонус $100 при регистрации по ссылке
  • Любая ОС и архитектура, хотя я проверял на Debian 9 amd64
  • FRP (fast reverse proxy)
  • Traefik опционально, чтобы иметь бесплатный HTTPS от Let’s Encrypt
  • Домен, опционально, и желательно управляемый через CloudFlare или другого провайдера, для https

Читать далее »

Патчим пакеты brew для macOS

Для примера, будем накладывать изменения на эмулятор xhyve вот из этого не слитого на момент написания Pull Request: https://github.com/mist64/xhyve/pull/119

Нужно получить сам патч

На GitHub.com для этого необходимо в конец адреса добавить .diff и посмотреть какой адрес откроется:

https://patch-diff.githubusercontent.com/raw/mist64/xhyve/pull/119.diff

Загрузить исходники

brew install -s xhyve

Brew загрузит исходные коды и соберет из них приложение
Читать далее »

osimg.ru — автоматически собираемые образы Linux

linux tux penguinНа osimg.ru можно скачать свежие минималистичные образы последних версий самых популярных Linux-дистрибутивов:

  • Arch Linux
  • CentOS 7
  • Debian 9
  • Ubuntu 18.04

В форматах всех самых распространенных средств визуализации:

  • QEMU Qcow2
  • VirtualBox VDI
  • Hyper-V VHDX
  • VMware VMDK

Экспресс-тест RaspberryPi 3, Orange Pi Zero Plus и ODROID-HC2


RaspberryPi 3 vs Orange Pi Zero Plus vs ODROID-HC2 benchmark
Читать далее »

Проблемы PostgreSQL на GlusterFS

Официальный Docker-образ PostgreSQL вполне себе нормально запускается в Kubernetes, и работает. Его даже можно положить на GlusterFS.

Но при попытке записать довольно большой объем данных, например 100-200 тысяч строк за раз, вываливается ошибка ERROR: unexpected data beyond EOF in block 14917 of relation. Это связано с тем, что используемые оптимизации в PostgreSQL накладываются на оптимизации GlusterFS и в итоге все ломается. Соответствующий баг GlusterFS: https://bugzilla.redhat.com/show_bug.cgi?id=1512691

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

SSHeller — собственный VPN сервер в несколько кликов

Чтобы максимально упростить процесс запуска и настройки собственного VPN сервера на базе OpenVPN, была написана и выложена на GitHub утилита SSHeller.

Запускается под Windows, Linux, macOS и удобно, через графический интерфейс, позволяет подключиться к облачному или виртуальному серверу, нажатием большой зеленой кнопки установить и настроить собственный VPN сервер.

Обсуждение на Reddit: https://www.reddit.com/…
Подробная инструкция на geektimes: от регистрации у облачного провайдера до установки клиента на телефон : https://geektimes.com/post/300487/

Если хотите поддержать проект:

Для Linode можно в Google найти промо коды на $10 или $20. Я, например, нашел рабочий здесь.

Linux Format — все?

Нигде в интернет я не нашел информации или обсуждения журнала Linux Format. В связи с этим хочу в двух словах описать, что я увидел, оформив подписку на первое полугодие 2018 года.

Стоит отметить, что прежде чем подписаться, я выбирал между журналами Хакер и Linux Format. Последним аргументом стало наличие у LF печатной версии — так приятно вечером полистать глянцевый журнал…

Что же есть на самом деле, на начало мая:

  • электронная версия есть только за февраль
  • печатной версии нет даже за январь
  • на сайте какой-то левый самоподписанный истекший SSL сертификат

Linux Format — все?

Читать далее »

Полезные веб-микросервисы

Работая над новой программой, нужно было реализовать несколько довольно простых вещей: проверка последней версии и поддержание постоянных ссылок.

Можно было бы обойтись набором из nginx и других уже написанных программ, но я нашел более изящное решение — написать микросервисы. И постараться их более менее унифицировать.

Читать далее »

Выбираем самый быстрый DNS сервер

С появлением DNS 1.1.1.1 от CloudFlare стало интересно, а действительно ли он самый быстрый? Был собран список публичных DNS и написан простой DNS benchmark с использованием утилиты dig (bind-utils).

Я повторил скрипт несколько раз для доменов, которые чаще всего посещаю.

Читать далее »

Kubernetes и GlusterFS

Docker friends gang linux tux go gopherЕсть множество правильных способов развернуть Kubernetes поверх существующей инфраструктуры. Разворачивая поверх OpenStack и vSphere я столкнулся с множеством багов, и в первую очередь, с подсистемой хранения. В результате родилась мысль, что должен быть унифицированный слой инфраструктуры, который бы не зависел от того, на какой именно платформе производится запуск.

Ниже я опишу как производится установка в полу-ручном режиме с ссылками на документацию, чтобы не дублировать текст. По мотивам можно написать Ansible скрипты и использовать их, например, с Terraform, как это делается в Kubespray. С той лишь разницей, что в Kubespray очень уж все усложнили по сравнению с kubeadm.

В связке Kubernetes-GlusterFS есть только одна большая проблема — нужно вручную создавать разделы. Но для решения этой проблемы существует фреймворк Heketi.

Файлы на GitHub.

Читать далее »