Pull to refresh
4
2.5

User

Send message

Как защитить Kubernetes на уровне ядра Linux

Level of difficultyMedium
Reading time13 min
Views3.9K

Как защитить Kubernetes, если злоумышленник попытается выбраться из контейнера на хост? Рафаэль Натали предлагает многоуровневый подход: настройка Security Context, отказ от лишних прав, запуск контейнеров без root-доступа, а также усиление защиты с помощью AppArmor и seccomp.

Читать далее

Как я собирал себе NAS сервер или обретаем независимость своих данных от корпораций

Level of difficultyMedium
Reading time17 min
Views46K

Собираю собственный NAS сервер для хранения данных, обретения независимости от западных сервисов, а также ведения своих документов. В последние годы зависимость от облачных сервисов стала проблемой: компании в любой момент могут изменить условия использования или вовсе закрыть сервис (как это произошло с Notion например). Кроме того, платные подписки на хранилища и сервисы накапливаются, а контроль над своими данными теряется.

Подробный разбор сборки и настройки домашнего NAS: выбор SAS-дисков и контроллера, настройка ZFS-пула, установка TrueNAS SCALE, организация резервного копирования в S3 и запуск Docker-сервисов (Immich, Affine, Keycloak, Actual Budget). Небольшой гайд для тех, кто хочет построить своё хранилище и цифровую инфраструктуру под полным контролем.

Читать далее

Сколько зарабатывают Product и Project Manager? Реальные зарплаты в Яндекс, Авито, Т-Банк и других компаниях

Level of difficultyEasy
Reading time1 min
Views32K

Подготовил сборник зарплат Product и Project Manager разных грейдов. Внутри можно найти реальные данные по рынку и понять, сколько денег просить на собеседованиях или на ревью.

В сборнике уже есть информация по 45+ компаниям, включая Яндекс, Авито, Т-Банк, VK, Сбер, Ozon, Газпром, ВТБ, Самокат, Альфа Банк и др.

Читать далее

Учебный кластер ClickHouse на Docker Compose: от нуля к работающему стенду

Level of difficultyMedium
Reading time6 min
Views6.5K

Запускаем на ноутбуке учебный кластер ClickHouse — шардированный (sharding) и реплицируемый (replication) — на Docker Compose.
Это не один сервер в контейнере, а стенд из 2 шардов × 2 реплики, с координацией через ZooKeeper и балансировкой HAProxy — поднимается за несколько минут.
Зачем: на практике разобрать репликацию и распределение по шардам, увидеть базовую отказоустойчивость и спокойно экспериментировать — всё в контейнерах, всегда можно снести и развернуть заново.
Кому: новичкам, кто хочет «пощупать» кластер; тем, кто знает базовый синтаксис ClickHouse, но не пробовал шардирование/репликацию; тем, кто готовится к собеседованию или приценивается к архитектуре перед продом.
В комплекте — готовые конфиги и docker-compose.yml в репозитории; всё, что нужно, — Docker и несколько команд.

Читать далее

Порт один, а сервисов — много. Учимся дружить Mikrotik с Nginx

Reading time6 min
Views19K

Привет! Я Ваня, системный администратор в Selectel. Представим ситуацию: вам нужно организовать доступ к удаленному офису через Cisco AnyConnect, который по какой-либо причине должен работать на стандартном 443 порте. При этом на том же порте развернут веб-сервер, а позже понадобится там же развернуть FTPS, SSTP и еще 100 500 сервисов, которые используют TLS. Под катом рассмотрим, как решить проблему безопасно и относительно быстро.

Под кат!

Культура ИТ экспериментов. Очередные первые 100 дней в новой компании

Level of difficultyMedium
Reading time5 min
Views2K

Каждая компания двигается по шкале от незрелой к зрелой и обратно. Это всегда динамика. Сегодня вы образец, завтра вы устаревшая помойка. Если 10 лет назад для наведения порядка внедрялся какой-нибудь "каскадо-водопадный PMI", 5 лет назад гибко-адаптивный Agile-OKR, то сейчас есть динамика к культуре проведения экспериментов*.

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

*Статья состоит из двух блоков - критика и предложение. Контекст: продуктовая ИТ компания среднего уровня, не стартап и не из ТОП 50.

Читать далее

Пишем с нуля ядро операционной системы

Level of difficultyMedium
Reading time19 min
Views17K

Недавно я реализовал минимальный proof of concept ядра операционной системы с разделением времени для RISC-V. В этом посте я расскажу о том, как работает прототип. Целевая аудитория поста — все, кому интересно понимание низкоуровневого системного ПО, драйверов, системных вызовов и так далее. Надеюсь, он окажется особенно полезным для студентов, изучающих архитектуру ПО и компьютеров.

Это новый подход к упражнению, которое я выполнил на моём студенческом курсе по операционным системам; функционально он должен напоминать типичный проект по ОС. Однако в этом эксперименте сделан упор на современный инструментарий, а также на современную архитектуру RISC-V. RISC-V — это потрясающая технология, в которой проще разобраться быстрее, чем в других архитектурах CPU; в то же время она остаётся популярным выбором для многих новых систем, а не только архитектурой для обучения.

Отличия от моего предыдущего проекта заключаются в том, что я реализовал это упражнение на Zig вместо традиционного C. Это не просто интересный эксперимент: я считаю, что Zig повышает возможность его воссоздания на вашей машине, потому что его очень легко настроить и он не требует установки.

Читать далее

Создаём личную систему VoIP

Level of difficultyEasy
Reading time22 min
Views19K

Я всегда был активным сторонником самохостинга, но ни разу не пробовал ничего, связанного с VoIP. Недавно я приобрёл несколько IP-телефонов и создал личную домашнюю телефонную сеть на основе Asterisk. Это руководство поможет вам настроить собственную телефонную систему при помощи опенсорсных инструментов.

Руководство написано для людей, имеющих опыт самохостинга, но совершенно незнакомых с VoIP, поэтому я ради краткости опущу некоторые неинтересные технические подробности.

Читать далее

Как использовать OpenSDN vRouter Forwarder для простейшей маршрутизации пакетов между контейнерами

Level of difficultyMedium
Reading time26 min
Views1.7K

Говорят, хорошая документация обычно начинается с простых примеров и продолжается постепенным наращиванием сложности. Меня зовут Матвей Крапошин, я ведущий системный архитектор Холдинга Т1, и в этом материале расскажу, как OpenSDN (ex‑Tungsten Fabric) пересылает пакеты между виртуальными машинами (или контейнерами) и как установить OpenSDN vRouter Forwarder в минимальной конфигурации и наладить его работу для пересылки пакетов между двумя контейнерами.

Эта статья — своего рода продолжение первого материала «Почему мы выбрали OpenSDN и как контрибьютим в этот проект»[1]. Одна из её целей — рассказать о виртуализации и сетевых технологиях под капотом Т1 Облако, поделиться знаниями и экспертизой с техническим сообществом и способствовать развитию проекта. Напомню, что виртуальная сеть в облаке Cloud Compute компании Т1 Облако построена на основе избранных компонентов проекта Tungsten Fabric, который потом переименовали в OpenSDN. Наработками по OpenSDN пользуются не только Т1 Облако, но и другие российские и зарубежные облачные провайдеры.

Вы сможете лучше понять, как на самом нижнем уровне работает виртуальный коммутатор OpenSDN — средства для работы с программно‑определяемыми сетями. Углублённое знание принципов работы этого модуля позволит лучше понимать причины ошибок, возникающих при настройке OpenSDN (а также Contrail, OpenContrail, Tungsten Fabric), повысить эффективность диагностики возникающих неисправностей и разобраться в нюансах настройки этого средства поддержки программно‑определяемых сетей.

Читать далее

От минут к секундам: как в Sealos сократили время активации для 20К+ доменов

Level of difficultyMedium
Reading time8 min
Views814

Sealos удалось сократить время активации доменов на Kubernetes с 10 минут до всего 5 секунд. В статье раскрыты технические детали оптимизации Ingress с помощью Higress, Istio и Envoy, а также оригинальные алгоритмы и подходы, которые помогли преодолеть узкие места и улучшить масштабируемость кластера. Читайте, как повысить производительность и надёжность своей инфраструктуры.

Читать далее

OpenStack: подборка open source инструментов

Level of difficultyEasy
Reading time4 min
Views4.4K

В начале июля мы в Linx Cloud запустили облачную платформу на OpenStack. В процессе работы мы изучали открытые решения в этой экосистеме. Некоторые из них, хотя и не были для нас актуальны на текущем этапе, показались нам интересными, и мы решили поделиться находками здесь.

Читать далее

Как локально и бесплатно распознать текст лекции или совещания и делать это регулярно

Level of difficultyEasy
Reading time6 min
Views10K

В новостях всё чаще говорят об «ИИ‑диктофонах» — гаджетах, которые записывают каждый ваш разговор в течение дня, отправляют аудио в облако, превращают его в текст и даже готовят краткую сводку по итогам. Звучит футуристично, но такие решения стоят дорого, требуют постоянной подписки и вызывают вопросы о приватности.

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

В этой статье я покажу, как построить такую систему без платных подписок и полностью под вашим контролем. Всё, что нужно — обычный диктофон за 1–3 тыс. рублей или даже просто приложение на телефоне — тогда затраты вообще равны нулю, и набор бесплатных, открытых программ, которые работают на вашем компьютере. Я купил диктофон для теста и поделюсь результатами.

Сердцем решения станет OpenAI Whisper — мощная технология распознавания речи от создателей ChatGPT. Главное её преимущество — она может работать полностью автономно на вашем ПК, не отправляя никуда ваши данные. К тому же Whisper распространяется как open‑source: исходный код и модели доступны бесплатно — вы можете скачать, использовать и при необходимости даже модифицировать.

Мои скрипты выложены на GitHub.

Кто что сказал

Как писать промпты для Midjourney: пошаговое руководство

Level of difficultyEasy
Reading time9 min
Views7.4K

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

Эта часть статьи — про понимание того, как Midjourney обрабатывает запросы на техническом уровне. Мы погрузимся в механизм работы операторов позиционирования и разберём, как устроено управление весом элементов.

Читать далее

Как писать промпты для Midjourney: структура идеального изображения

Level of difficultyEasy
Reading time10 min
Views5K

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

Попробуйте сами: напишите лисёнок — и Midjourney покажет «какого-то» лисёнка. А теперь: маленький рыжий лисёнок, сидит на опушке, уши настороже, вокруг — опавшие листья, тихое осеннее утро. Уже ближе. Появляется ощущение, что это «тот самый» лисёнок, которого мы себе представляли.

Читать далее

Строим отказоустойчивую сеть на PacketTracer (HSRP,LACP)

Level of difficultyEasy
Reading time6 min
Views8K

Привет, дорогие коллеги!

Сегодня мы разберем, как построить надежную и отказоустойчивую сеть с использованием ключевых сетевых технологий, таких как HSRP, LACP и Port-Channel. Мы рассмотрим теоретическую топологию, которую можно частично смоделировать в сетевом симуляторе, например, в Packet Tracer.

В этом руководстве мы разберём:

HSRP: Как настроить автоматическое переключение на резервный маршрутизатор, чтобы доступ к интернету не прерывался.

EtherChannel: Как объединить несколько сетевых кабелей в один, чтобы увеличить скорость и обеспечить резервирование.

VSS и StackWise: Как объединить коммутаторы в единое целое для простого управления и максимальной надёжности.

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

Читать далее

Проблема маленьких файлов. Оценка замедления S3 и проблем HDFS и Greenplum при работе c ними

Level of difficultyMedium
Reading time10 min
Views3.9K

Не так давно в блоге компании Arenadata был опубликован материал тестирования поведения различных распределенных файловых систем при работе с маленькими файлами (~2 Мб). Краткий вывод: по результатам проверки оказалось, что лучше всего с задачей маленьких файлов справляется старый-добрый HDFS, деградируя в 1.5 раза, S3 на базе minIO не тянет, замедляясь в 8 раз, S3 API над Ozone деградирует в 4 раза, а наиболее предпочтительной системой в при работе с мелкими файлами, по утверждению коллег, является Greenplum, в том числе для компаний «экзабайтного клуба». Коллеги также выполнили огромную работу по поиску «Теоретических подтверждений неожиданных показателей».  

Результаты тестирования в части S3 minIO показались нашей команде неубедительными, и мы предположили, что они могут быть связаны с:

недостаточным практическим опытом эксплуатации SQL compute over S3 и S3 в целом;

отсутствием опыта работы с кластерами minIO. В частности в высоконагруженном продуктивном окружении на 200+ Тб сжатых колоночных данных Iceberg/parquet, особенно в сценариях, где проблема маленьких файлов быстро становится актуальной.

особенностями сборок дистрибутивов;

Мы благодарны коллегам за идею и вдохновение провести аналогичное тестирование. Давайте разбираться.

Читать далее

SSH с авторизацией в Keycloak? Легко

Level of difficultyMedium
Reading time4 min
Views8.1K

Привет, %username%! Уважаю твое личное время, поэтому без лишних слов - сразу к делу. В этой статье я кратко опишу, как настроить доступ к удаленному серверу по SSH с использованием Keycloak. Разберем, в чем преимущества этого решения, и что именно происходит в процессе такой авторизации.

Читать далее

DHCP: настройка серверов, Relay и анализ трафика в Wireshark

Reading time16 min
Views8.4K

Приветствую! В любой сети устройства должны получать IP-адреса, шлюзы и DNS-серверы, чтобы корректно обмениваться данными и иметь доступ в Интернет. Конечно, можно настраивать всё вручную, но в реальной жизни это неудобно и часто приводит к ошибкам. На помощь приходит протокол DHCP (Dynamic Host Configuration Protocol). Его задача проста - автоматически раздавать клиентам все необходимые сетевые параметры, включая IP, маску подсети, шлюз и DNS.

В этой работе мы подробно разберём, как работает DHCP, от процесса обмена сообщениями DORA (Discover, Offer, Request, Acknowledge), через анализ сетевого трафика в Wireshark, до настройки DHCP-сервера на MikroTik и Ubuntu-Server. Мы также рассмотрим дополнительные возможности протокола, такие как DHCP Relay, который позволяет обслуживать клиентов в других подсетях.

Читать далее

Galene — простой сервер видеоконференций. Установка на VPS

Reading time5 min
Views11K

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

Сервер называется Galene, github. Он был разработан во время пандемии в Парижском университете как инструмент для проведения удалённых занятий. Со временем его возможности расширились, и теперь по функционалу он ближе к Jitsi Meet.

Читать далее
1
23 ...

Information

Rating
1,265-th
Registered
Activity