Pull to refresh
23
0
Александр Карабанов @karabanov

Системный администратор

Send message

kafka cluster in docker

Level of difficultyEasy
Reading time11 min
Views804

Привет! В этой статье мы развернем dev-cluster kafka последней версии (3.7 на момент написания статьи), без использования zookeeper. Также в нашей сборке будет web-ui и все для мониторинга. В представленной конфигурации настроены SASL, SSL, ACL.

В чем полезность статьи? В статье представлен готовый docker-compose.yml для использования, который будет вам полезен если вы не сильно искушены в вопросах администрирования kafka и docker-compose, но уже хотелось бы начать заниматься разработкой, используя кластер kafka. Беглый поиск в интернет не дал результата в виде готового docker-compose.yml для конкретно такой конфигурации, которая потребовалась нам, поэтому было решено выложить полученный результат.

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

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments3

Чек лист переноса сайта с одного домена на другой

Level of difficultyEasy
Reading time5 min
Views507

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

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

Читать далее
Total votes 1: ↑2 and ↓-1+3
Comments0

Bash-completion: как сделать удобно в CLI

Level of difficultyMedium
Reading time6 min
Views4.4K

Так получилось что в рамках моей основной деятельности пришла пора сделать сервис для манипуляции с ресурсами СХД для виртуальных машин (ВМ). Они подаются в SAN в виде "LUN" ("Logical Unit Number"). Пока речь шла о десятках .. первых сотнях LUN, хватало моего старого решения (оно изначально про телефонию и блок-схемы, но на самом деле всё равно подо что делать очередной модуль). А потом он рос, рос, и…

Читать далее
Total votes 8: ↑8.5 and ↓-0.5+9
Comments4

Создание карты подключений Elasticsearch + Fluent Bit + Nginx Ingress Controller

Level of difficultyMedium
Reading time6 min
Views2.3K

Данная статья представляет подход к решению задачи сбора и агрегации метрик от Ingress Nginx Controller для извлечения геоданных с помощью GeoIP2 и их визуализации в Elasticsearch.

Читать далее
Total votes 2: ↑3.5 and ↓-1.5+5
Comments1

Выжимаем максимум из PostgreSQL

Level of difficultyMedium
Reading time14 min
Views14K

Привет, Хабр! Меня зовут Максим, я работаю тестировщиком оборудования в Selectel Lab. В лаборатории мы занимаемся тестированием нового оборудования для дата-центров. О том, как мы измеряли производительность PostgreSQL на разных конфигурациях — под катом!
Читать дальше →
Total votes 48: ↑55.5 and ↓-7.5+63
Comments21

Как защитить сайт на WordPress с Linux Debian и ispmanager 6

Level of difficultyMedium
Reading time27 min
Views2.8K

Это первая статья из цикла, в котором расскажем о практических способах обеспечить безопасность сервера. В качестве примера — операционная система Linux Debian с панелью управления ispmanager 6 и сайт на WordPress.

В этой статье опишу:
▪️ Безопасность в процессе установки Debian
▪️ Защита загрузчика
▪️ Безопасность SSH
▪️ Настройка ядра Linux
▪️ Стратегия усиления безопасности аутентификации
▪️ Шифрование канала
▪️ Удаление ненужного ПО
▪️ Отключение ненужных сервисов
▪️ Настройка Firewall iptables
▪️ Конфигурация Fail2ban
▪️ Профилирование AppArmor

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

Читать
Total votes 8: ↑7 and ↓1+6
Comments13

Как установить MikroTik CHR в облаке? Шпаргалка

Level of difficultyEasy
Reading time4 min
Views5.4K

MikroTik Cloud Hosted Router (CHR) — удобное решение для создания виртуальных маршрутизаторов в облаке. С помощью него можно эффективно управлять сетевым трафиком, регулировать безопасность и оптимизировать работу в облачной среде.

Меня зовут Кирилл, в этой статье я подробно расскажу про установку и настройку MikroTik CHR на примере облачной платформы. Если вам интересно погрузиться в технические аспекты его конфигурации, добро пожаловать под кат!
Читать дальше →
Total votes 30: ↑32 and ↓-2+34
Comments18

Интерактивные и документированные диаграммы для сложных систем

Level of difficultyMedium
Reading time13 min
Views4.7K

Мой первый on-call выдался нелегким. Недели тренингов и обучения не подготовили меня к тому что придется бегать по Slack каналам различных команд и искать того, кто может что либо знать о какой-то из частей системы. Оказалось что многие страницы в корпоративной Wiki уже не обновлялись несколько лет. Команды хранили свою документацию кто где хотел: кто в Wiki, кто в Google Docs, кто в GitHub и т.д. Наш on-call был не идеален: 2 человека выходили на дежурство 24/7. Один был ответственен за всю инфраструктуру (MySql, Cassandra, Kafka, ElasticSearch, Nomad и т.д.), второй же был Developer on-call и отвечал за все микросервисы и различные легаси системы, что в сумме давало около 300 различных сервисов от 7 команд на самых различных стеках и фреймворках (Java, Scala, Node, Go). Но что меня больше всего раздражало - так это невозможность быстро оценить на высшем уровне как проходит и обрабатывается запрос от пользователя. Диаграммы для разных бизнес частей точно также были либо устаревшими, либо без прилегающей документации, либо для какой-то бизнес логики не было ничего. И вот тогда мне пришла идея, что было бы неплохо иметь диаграммы, в которых можно не только нажать на любой элемент и добыть о нем более детальную информацию, но также получить ссылки на другие диаграммы и динамически их подгружать. Мне хотелось иметь возможность быстро разобраться в неизвестной распределенной системе, не переключаясь между диаграммой и документацией в Google Docs или Wiki. Именно так я начал работать над проектом Schem.io.

Предупреждение: в статье содержится большое количество GIF-изображений.

Читать далее
Total votes 19: ↑19 and ↓0+19
Comments26

Как сделать автоматический полив: грунт и гидропоника

Level of difficultyEasy
Reading time5 min
Views14K

Полив — регулярная и трудоемкая задача, которая отнимает массу времени, поэтому ее не мешает автоматизировать, чтобы все работало само. Из песни слов не выкинешь: «Вкалывают роботы, счастлив человек».

В преддверии дачного сезона мы решили поделиться двумя решениями автоматизации для полива грунта и гидропоники. Оба базируются на контроллере под Linux и успешно показали себя в действующих проектах.

Мы посетим загородный дом под Екатеринбургом и стеллажную систему в Минске. Интересно? Ныряйте под кат.

Читать далее
Total votes 30: ↑26 and ↓4+22
Comments42

Вызволяем увлажнитель из сетей Xiaomi

Reading time6 min
Views17K

Вероятно, вы слышали о том, что сухость воздуха — одна из частых причин появления статического электричества. Вот и я решил обзавестись увлажнителем, когда заметил, что кошка бьется током почти при каждом прикосновении. И нет, ее зовут не Электро или Шторм Спирит. Знакомьтесь, Амидала (в честь персонажа вселенной «Звездных войн»).

Время шло, потребности в комфортном использовании техники росли, а вот ее функциональность и стабильность оставляли желать лучшего. После очередного сбоя серверов Xiaomi в октябре прошлого года в голове окончательно закралась мысль: почему дом — мой, а серверы — чужие? Так я познакомился с Home Assistant, MQTT, zigbee2mqtt и селфхостингом, о чем расскажу под катом!
Читать дальше →
Total votes 67: ↑67.5 and ↓-0.5+68
Comments46

Развертывание защищенного dev кластера bitnami/kafka в k8s с помощью helm

Level of difficultyHard
Reading time13 min
Views3.2K

Всем привет. На этот раз хотел бы поделиться материалом, связанным непосредственно с devops работой. Недавно возникла потребность раскатить kafka кластер в kubernetes. В ходе развертывания возникло очень много сложностей, встречено множество подводных камней, и, естественно, в большинстве случаев рецепта в интернете найдено не было, поэтому приходилось искать решения самостоятельно методом проб и ошибок. Все, что здесь будет описано это сугубо личный опыт на одном из проектов. Сегодня я расскажу как с нуля раскатить dev контур bitnami/kafka кластера с помощью helm чартов, как обезопасить ваш кластер kafka и какие сложности могут вам встретиться.

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments9

Сначала войдите через Телеграм

Reading time5 min
Views38K

Как-то мне понадобилось ограничить доступ к статическому сайту. Я написал сервер, который просит пользователей войти через Телеграм и пропускает только людей из белого списка. Ничего сложного, но вдруг кому-то понадобится.

Читать далее
Total votes 67: ↑64 and ↓3+61
Comments51

Настройка CI/CD для самых маленьких разработчиков

Level of difficultyEasy
Reading time8 min
Views32K

Считается, что построение CI/CD - задача для DevOps. Глобально это действительно так, особенно если речь идет о первоначальной настройке. Но часто с докручиванием отдельных этапов процесса сталкиваются и разработчики. Умение поправить что-то незначительное своими силами позволяет не тратить время на поход к коллегам (и ожидание их реакции), т.е. в целом повышает комфорт работы и дает понимание, почему все происходит именно так.

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

Читать далее
Total votes 23: ↑21 and ↓2+19
Comments40

PKI для IOT, архитектура защищенной сети ESP32 + Mosquitto SSL и Flash Encryption для хранения сертификатов

Level of difficultyHard
Reading time16 min
Views2.3K

Цель статьи - показать вариант построения защищенной Iot-инфраструктуры для сети устройств на базе ESP32 и обменяться опытом. 

Общую идею и весь проект разделил на темы:

развертывание mosquitto SSL/TLS из docker-контейнера

создание сертификатов для брокера Mosquitto SSL и клиентов ESP32

архитектура хранилища сертификата для ESP32 и практические способы защиты

подготовка защищенной прошивки устройства с применение встроенных средств безопасности и шифрования ESP32.

Читать далее
Total votes 6: ↑6 and ↓0+6
Comments20

Как я уменьшил размер образа docker на 40%

Level of difficultyEasy
Reading time16 min
Views15K

Ежедневно по работе я сталкиваюсь с Dockerfile, написал несколько из них самостоятельно, создавал контейнеры и всё такое. Но я никогда не публиковал их в реестре docker hub. Мне хотелось создать ugit — инструмент для отмены команд git (написанный в виде шелл-скрипта), который бы могли использовать люди, не любящие устанавливать случайные шелл-скрипты из Интернета.

Да-да, знаю. НАДО ПЕРЕПИСАТЬ ЕГО НА GO/RUST/ЕЩЁ КАКОМ-ТО ВОЛШЕБНОМ ЯЗЫКЕ. Сейчас скрипт состоит из пятисот с лишним строк Bash, поэтому я перепишу его на другой язык только под страхом смертной казни. Кроме того в ugit уже есть практически все функции (осталось реализовать отмену лишь небольшого количества команд, используемых не так часто).

В этой статье я расскажу о том, как написал официальный Dockerfile для ugit (шелл-скрипта) и снизил размер образа почти на 40% (с 31,4 МБ до 17,6 МБ), выполняя пошаговые попытки работы по инструкции. Надеюсь, это замотивирует других любителей шелла тоже публиковать свои скрипты в виде образов docker!

Читать далее
Total votes 23: ↑22 and ↓1+21
Comments50

Как работает сеть в контейнерах: Docker Bridge с нуля

Level of difficultyMedium
Reading time21 min
Views33K

В этой статье мы собираемся разобраться со следующими вопросами:

* Как виртуализировать сетевые ресурсы, чтобы контейнеры думали, что у них есть отдельные сетевые среды?

* Как превратить контейнеры в дружелюбных соседей и научить общаться друг с другом?

* Как выйти во внешний мир (например, в Интернет) изнутри контейнера?

* Как связаться с контейнерами, работающими на хосте Linux, из внешнего мира?

* Как реализовать публикацию портов, подобную Docker?

Читать далее
Total votes 71: ↑71 and ↓0+71
Comments14

Утечки памяти, которые не утечки

Level of difficultyMedium
Reading time10 min
Views20K

Что случилось? Авария, ужас-ужас

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

В один прекрасный день боевое сопровождение приходит с ужасной проблемой — память в контейнерах Node.js течёт, сервисы падают с OOM каждый день, все пропало!

Да, картинка действительно удручающая. Всё время, когда есть нагрузка, память в контейнере прирастает и почти не очищается при снятии нагрузки. Все остальные метрики, которые мы собирали были в норме: event loop lag, использование CPU, active request, open handles. Прирастала только используемая память и незначительно увеличивалось время отклика сервиса.

Что-ж, выглядит как классическая утечка, надо искать источник.

Читать далее
Total votes 108: ↑107 and ↓1+106
Comments15

DIY Zigbee датчик СO2 для вашего Умного дома

Level of difficultyEasy
Reading time14 min
Views21K
Приветствую всех читателей Habr. Меня зовут Андрей, примерно около 5 лет я осознано занимаюсь DIY разработкой электронных устройств для своего «Умного дома», да и не только для своего. Сегодня хочу рассказать об одном из моих DIY проектов, небольшом устройстве для контроля уровня углекислого газа. Проект называется EFEKTA iAQ, это датчик с круглым IPS TFT дисплеем, сенсором CO2, работающий на протоколе Zigbee.

Читать дальше →
Total votes 48: ↑46 and ↓2+44
Comments49

Jenkins Pipeline для АТ

Level of difficultyEasy
Reading time10 min
Views4.1K

В данной статье хочу поделиться содержанием pipeline.jenkinsfile с минимальной необходимостью для организации автоматизированного тестирования. Установку, настройку самого Jenkins мы рассматривать не будем, только pipeline и его содержание для АТ.

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments7
1
23 ...

Information

Rating
Does not participate
Location
Псков, Псковская обл., Россия
Date of birth
Registered
Activity