Pull to refresh
37
0

Пользователь

Send message

Ныряем в готовые кластеры Kubernetes с Deckhouse и werf

Reading time 8 min
Views 5.3K


Российские облачные провайдеры начали предоставлять неплохие managed-решения для Kubernetes. Однако многие из них требуют доводки до ума и установки большого количества компонентов, направленных на сбор логов, мониторинг и доступ к кластеру. Это вынуждает пользователей собирать свой собственный бандл с Prometheus, Grafana и т.д., что крайне неудобно и требует дополнительных усилий.

Вот и я, столкнувшись с Managed Kubernetes от Selectel, захотел использовать что-то готовое, желательно от российских разработчиков. Я обратил внимание на платформу Deckhouse, которую к тому моменту можно уже было ставить в готовые кластеры k8s. В этой статье я расскажу про свой путь интеграции D8 и werf в инфраструктуру Selectel и те проблемы, с которыми столкнулся в процессе.
Читать дальше →
Total votes 49: ↑49 and ↓0 +49
Comments 0

Доступ к VM в разных облаках по RDP и SSH (Windows и Linux)

Reading time 6 min
Views 7K

IAP Desktop — полезная программа под Windows, которая управляет несколькими удалёнными десктопами и устанавливает туннели SSH/RDP к разным виртуальным машинам под Linux и Windows. Она сочетает преимущества стандартного менеджера RDP-соединений с безопасностью и гибкостью Identity-Aware Proxy (IAP-прокси).

В 2022 году такой инструмент очень актуален, с распространением облачных сервисов и хостингов, где могут крутиться наши виртуальные машины и контейнеры. А также в связи с необходимостью удалённого доступа по RDP и SSH к разным корпоративным виртуалкам.
Читать дальше →
Total votes 30: ↑30 and ↓0 +30
Comments 6

Простой CI/CD на Ansible Semaphore

Reading time 3 min
Views 17K

CI/CD стал неотъемлемой частью процесса разработки ПО, как в крупных, так и в небольших компаниях и проектах, в том числе open source.

Самыми популярными CI/CD-системами является GitLab и Jenkins. Обе эти системы являются мощными, расширяемыми и включают множество дополнительных возможностей. С помощью этих систем можно построить CI/CD любой сложности.

Но часто бывает, что что нужно максимально простое и прямолинейное решение, а не функциональность.

В этом случае Ansible Semaphore это то что нужно.

Читать далее
Total votes 14: ↑13 and ↓1 +12
Comments 9

LVM — это просто!

Reading time 4 min
Views 608K
Собственно, хочется просто и доступно рассказать про такую замечательную вещь как Logical Volume Management или Управление Логическими Томами.
Поскольку уже давно пользуюсь LVM-ом, расскажу что он значит именно для меня, не подглядывая в мануалы и не выдёргивая цитаты из wiki, своими словами, чтобы было понятно именно тем кто ничего о нем не знает. Постараюсь сразу не рассказывать о всяческих «продвинутых» функциях типа страйпов, снапшотов и т.п.
Читать дальше →
Total votes 58: ↑54 and ↓4 +50
Comments 75

Новая жизнь для XMPP. Делаем мессенджер, который не получится заблокировать

Reading time 4 min
Views 52K


Идея сделать независимый от корпораций P2P мессенджер не нова, однако разработка нового протокола и клиентских приложений для него достаточно дорогой и долгий процесс. А что, если использовать старый добрый XMPP, в котором уже все давно продумано и запилено?


Но это же не настоящий peer-to-peer, скажете вы, для работы XMPP нужен собственный сервер и домен. Это так, но мы можем запустить сервер на локалхосте, а для связи с серверами других пользователей использовать скрытый сервис в виртуальной сети I2P. Использование I2P избавит нас от необходимости платить за домен с хостингом, а так же защитит наши коммуникации от преступной онлайн-слежки.


Таким образом, получаем:


  • Гибридный P2P мессенджер, который можно запускать и на пользовательских устройствах, и на полноценном сервере.
  • Фичи, которых не хватает другим P2P мессенджерам: оффлайн сообщения, хранение контактов и истории "в облаке", работа нескольких клиентов с одним аккаунтом.
  • Готовые клиентские приложения на любой вкус.
  • За счет использования I2P, неуязвим для различных *надзоров (сори за мат).

Приступим же к реализации...

Читать дальше →
Total votes 42: ↑40 and ↓2 +38
Comments 58

Увеличение LVM диска в виртуальной машине на лету

Reading time 3 min
Views 50K
Продолжая тему, описанную здесь habrahabr.ru/post/252973, опять пишу про увеличение дисков виртуальных машин.
Конфигурация следующая:
Гипервизор сервер Supermicro с KVM и libvirt на Ubuntu.
Гости — Ubuntu с LVM2.
Задача:
Увеличить размер системного дисков без выключения/перезагрузки гостевой ОС.

В комментариях к предыдущей статье habrahabr.ru/post/252973/#comment_8330673 farcaller написал:
Системный тоже можно на лету отресайзить. Для этого в libvirt есть команда:
virsh qemu-monitor-command resized-virtual-machine --hmp «block_resize $DRIVENAME $NEWSIZE»

Для HA проектов это очень важный момент, необходимо непрерывное функционирование сервиса.
Я решил попробовать изменить размер диска при помощи virsh.
Ниже результаты этого успешного эксперимента.
Читать дальше →
Total votes 18: ↑14 and ↓4 +10
Comments 7

Рекурсивное множественное добавление IP для блокировки в файл .htaccess

Reading time 2 min
Views 5.4K
Задача. На web-сервере в домашней папке ~/public_html привычным образом располагаются каталоги различных сайтов. Таким же привычным образом в каждом каталоге сайта располагается файл .htaccess. Известно, что с помощью этого файла, в том числе, ограничивается доступ по IP. В моём случае этот файл выглядит так:

Order Allow,Deny
Allow from all
Deny from 194.87.147.196

Эта запись (блок) встречается в каждом файле .htaccess каждого сайта в папке public_html всего один раз. И если требуется заблокировать доступ ко всем сайтам по IP, например 194.165.16.76 – в каждый файл, после строки «Allow from all» добавляется новая строка:

Deny from 194.165.16.76

Вопрос: что же делать, когда на сервере не 2 и не 3 сайта, а намного больше?
Вот как я попытался решить эту задачу.
Читать дальше →
Total votes 19: ↑11 and ↓8 +3
Comments 16

Instagram Like Bot

Reading time 1 min
Views 66K
Все началось с того, что супруга завела аккаунт в Инстаграме, начала постить кучу фоток и обижаться, если я вовремя их не лайкую. Пришлось заняться автоматизацией семейных отношений.

Заказчик в моем лице определил следующие требования:
1. Симуляция работы в Инстаграме как обычный пользователь, лайкание в одном треде (чтобы Instagram не забанил моего бота).
2. Возможность авто-лайкания произвольного количества аккаунтов с произвольной глубиной лайков.
3. Запуск через шедулер, работа в бэкграунде.

Выбор пал на nodejs. Почему nodejs? Потому на Perl'е (который я использую время от времени уже несколько лет) делать не хотелось, а nodejs привлек внятным менеджеров пакетов, нативной поддержкой JSON и вообще Javascript в браузере роднее чем какой-нибудь Python.

Читать дальше →
Total votes 44: ↑28 and ↓16 +12
Comments 34

Let's Encrypt выходит в публичную бету: HTTPS всюду, каждому, отныне и навсегда бесплатно

Reading time 3 min
Views 67K
Let's Encrypt

Let's Encrypt — это некоммерческая инициатива, предоставляющая бесплатный, автоматизированный и открытый CA (certificate authority — центр сертификации), созданный ISRG на благо общества:

  • бесплатно: владелец всякого доменного имени может воспользоваться Let's Encrypt и получить доверенный (читать как «признаётся любым современным браузером») TLS-сертификат (TLS — наследник SSL) совершенно бесплатно;
  • автоматизированно: Let's Encrypt предоставляет бесплатное и свободное программное обеспечение (клиент), которое, будучи настроенным на веб-сервере, может полностью автоматически запрашивать безвозмездно предоставляемые сертификаты Let’s Encrypt, автоматически конфигурировать и обновлять их;
  • безопасно: Let’s Encrypt строится как платформа для продвижения наилучших практик безопасности TLS как на стороне центра сертификации (CA), так и на стороне веб-сайтов, помогая администраторам должным образом настраивать веб-серверы;
  • прозрачно: информация о выпуске и отзыве каждого сертификата Let's Encrypt доступна вполне и публично так, что любой желающий изучить её сможет это сделать;
  • свободно: протоколы взаимодействия со CA, позволяющие автоматизировать процессы выпуска и обновления сертификатов, будут опубликованы как открытый стандарт для максимального внедрения;
  • кооперативно: как и любой протокол, лежащий в основе Интернета и Всемирной паутины, Let’s Encrypt является совместным, неподконтрольным какой-либо конкретной организации некоммерческим проектом созданным исключительно для того, чтобы принести пользу обществу.

Читать дальше →
Total votes 72: ↑71 and ↓1 +70
Comments 138

Как я делал веб-версию KeePass

Reading time 6 min
Views 80K
Как-то мне надо было добавить в админку просмотр списка паролей. База хранилась на сервере в формате KeePass (kdbx v2), сервер был на ноде — недолго думая, я взял первый попавшийся пакет и сделал. А потом понадобилось то же самое, но прямо у пользователя в браузере, без сервера. Ничего не нашлось. Первым желанием было форкнуть либу и заменить использование node api, но от первого просмотра кода желание пропало, решил сделать сам.



Под катом расскажу о проблемах, с которыми я столкнулся, и способах их решения
Читать дальше →
Total votes 134: ↑133 and ↓1 +132
Comments 162

Чат-помощник на сайт с помощью Telegram за 15 минут

Reading time 4 min
Views 191K


Про чаты-помощники


Многие люди продают через интернет товары и услуги. Еще больше людей — покупает что-то через интернет.
Во время выбора покупок, часто возникают вопросы, которые можно решить позвонив и пообщавшись с менеджером.
Скорее всего я — не единственный человек на хабре, который общению с менеджерами по телефону предпочитает переписку.
И тут на помощь приходят всплывающие чаты-помощники, которые вроде-как повышают конверсию, но многих нервируют.
(Для тех, кто не в курсе: в углу сайта всплывает окошко, в котором можно он-лайн переписываться с консультантом).

Есть с десяток подобных сервисов и все они работают по принципу "пробная версия бесплатно, а дальше за деньги".
На хабре есть несколько статей, вот одна из них (http://habrahabr.ru/company/tuthost/blog/165365/), но, я уверен, аудитория Хабрахабра знает о чем речь.
Большинству людей подойдет бесплатный вариант любого такого сервиса: нужно всего-навсего зарегистрироваться и вставить на сайт кусок JS кода. Для тех у кого много менеджеров — придется платить: например Редхелпер на 10 операторов обойдется Вам:
115200 руб. за 1 год



Скорее всего — цена адекватная для тех, кто платит зарплату десяти менеджерам.

Но я решил изобрести бесплатный «велосипед» из подручных материалов.
Запуск у себя на сервере займет 15 минут. Всем, кому идея интересна — прошу под кат.
Читать дальше →
Total votes 41: ↑37 and ↓4 +33
Comments 43

Настраиваем Ubiquiti Wi-Fi и Cisco (Гостевой DHCP и VLANs)

Reading time 7 min
Views 65K
image

В этой статье описан один из способов настройки гостевых и корпоративных беспроводных сетей используя решения Enterprise Wi-Fi Ubiquiti UniFi и Cisco Integrated Services Routers

Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Comments 8

PHP: новые функции по работе с массивами (array_replace, array_walk_recursive и array_diff_assoc)

Level of difficulty Medium
Reading time 2 min
Views 66K
Итак, в феврале 2009 г. в языке PHP появились новые функции для работы с массивами: функции array_replace, array_walk_recursive и array_diff_assoc, что упрощает работу с массивами и сравнение их элементов.

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

Читать дальше →
Total votes 215: ↑207 and ↓8 +199
Comments 414

Развёртывание видеонаблюдения на скорую руку, или провода нам ни к чему

Reading time 3 min
Views 36K

Не успели мы рассказать о новых роутерах семейства EdgeRouter, как Ubiquiti радует нас новой новинкой, на этот раз в области видеонаблюдения.
Рассмотрим новинку в линейке видеокамер — беспроводную мегапиксельную камеру, помещающуюся в кармане и не требующую прокладки Ethernet кабеля.
Забегая вперёд, скажу, что, следуя логике X линейки оборудования, новинка получилась компактнее, доступнее и при этом не хуже по параметрам, чем предшествующие модели.
Читать дальше →
Total votes 21: ↑16 and ↓5 +11
Comments 25

Ubiquiti EdgeRouter X

Reading time 4 min
Views 54K

или поиск оптимального соотношения цена/качество







Уже несколько лет фирма Ubiquiti не перестаёт нас удивлять новинками, каждый квартал предлагая что-то новенькое: то airFiber 5U, специфичного для РФ диапазона 6-6.4 ГГц и полу гигабитной емкости, то доступные коммутаторы для питания точек доступа 802.3at EdgeSwitch.
Но вчера производитель вспомнил и о ценовой категории «до 100 долларов» и анонсировал EdgeRouter X. Можно даже сказать, что за рубежом младший EdgeRouter входит в категорию «менее 50 долларов», хотя у нас, конечно, таможенные платежи несколько изменят ситуацию. Что же он умеет за эти деньги?
Читать дальше →
Total votes 12: ↑9 and ↓3 +6
Comments 13

Вежливое приглашение к разработке

Reading time 4 min
Views 18K

Критикуешь – предлагай


Нас нередко ругают на Хабрахабре за то, что статьи недостаточно технические, а описание работы программы плохо детализировано. Но на самом деле каждый читатель понимает, что описать в одном посте абсолютно все – просто невозможно, потому что несколько лет развитие DRP шло во множестве направлений.

Часть из них связана непосредственно с исполняемым файлом, пресловутым .exe'шником; другая – с созданием архива и, что немаловажно, индекса драйверов; третья – с тестированием приложения и отдельных версий драйверов для различного оборудования как на разных версиях ОС Windows, так и на железных стойках. Часть из этих решений мы отдаем в тестирование пользователям, проявившим особенный интерес.
Читать дальше →
Total votes 41: ↑30 and ↓11 +19
Comments 14

Загрузочный сервер — как загрузочная флешка, только сервер и по сети

Reading time 12 min
Views 445K
Загрузочная флешка с набором нужного софта — замечательный инструмент системного администратора. Казалось бы, что может быть лучше? А лучше может быть загрузочный сервер!

Представьте, вы выбрали в BIOS загрузку по сети и можете установить ОС/вылечить компьютер от вирусов/реанимировать диски/протестировать ОЗУ/etc с PXE Boot сервера, ведь это куда удобнее, нежели бегать с флешкой от машины к машине.
А в случае большого компьютерного парка, такой инструмент и вовсе незаменим.

Вот такое меню встречает нашу команду инженеров при загрузке с PXE



Под катом вас ждет описание всех настроек, а так же небольшой сюрприз.
Поехали!
Total votes 141: ↑138 and ↓3 +135
Comments 82

Установка загрузчика grub4dos на флешку из linux-консоли

Reading time 2 min
Views 40K
Описанное мной ниже крайне просто и очевидно, но, я надеюсь, это хоть кому-то поможет сэкономить пару часов времени.

На просторах интернета можно найти много статей по созданию мультизагрузочных флешек. Все они сводятся, в основном, к использованию grub4dos и syslinux. Что может быть проще: скачать, например, grub4dos, распаковать, запустить и нажать пару кнопок? Это работает, только работает под Windows.

А что если у меня linux? Здесь возникает ситуация, когда вопросов на форумах о том, как из linux установить загрузчик в MBR чуть больше, чем ответов. Я, признаюсь, и сам мучился до сегодняшней ночи.
Читать дальше →
Total votes 11: ↑7 and ↓4 +3
Comments 4

Yboard — Движок доски объявлений на Yii

Reading time 2 min
Views 52K
imageПосле работы на ужасно неуклюжем и неприятном проекте посвященный объявлениям, задался вопросом какие существуют еще решения для такого рода проектов.

Из бесплатных как оказалось их не так уж и много, самым известным является наверное OsClass. Другое дело когда говорим о платных аналогах, тут большое разнообразие движков, функционалов и цен за них.
Читать дальше →
Total votes 16: ↑10 and ↓6 +4
Comments 37

Ограничение количества попыток ввода пароля в веб-форме авторизации при помощи Nginx или HAProxy на примере WordPress

Reading time 3 min
Views 17K
Рассмотрим на примере WordPress способ усиления безопасности при помощи ограничения количества HTTP-запросов к форме ввода пароля. Это позволит оградить опубликованный блог от брутфорса (поиска и взлома пароля путем перебора всех теоретически возможных вариантов из определенного набора символов или подбора по словарю распространенных паролей). Данный способ, в принципе, можно использовать и для защиты других веб-приложений.

Задача может быть реализована в Nginx с помощью модуля ngx_http_limit_req_module [1], выступающем в роли фронт-энда к Apache или веб-сервера FastCGI, или же с помощью HAProxy [2, 3], выступающем в роли балансировщика нагрузки перед веб-серверами.

В обоих случаях алгоритм работы следующий. При аутентификации браузер обращается по адресу, содержащему в себе подстроку "/wp-login.php". Необходимо отследить ее и ограничить количество запросов с одного IP не затрагивая обращения по всем остальным адресам. Параметры блокировки необходимо подобрать таким образом, чтобы не создавать неудобств обычным пользователями. Особенно внимательно следует настраивать блокировки в том случае, когда формой авторизации пользуется большое количество пользователей с одного IP-адреса.
Читать дальше →
Total votes 29: ↑25 and ↓4 +21
Comments 30

Information

Rating
Does not participate
Location
Алушта, Республика Крым, Россия
Date of birth
Registered
Activity