ftops.space
84 subscribers
582 photos
98 videos
33 files
319 links
ftops.space
Сервера на linux, FreeBSD, сети на микротик и сиськах.
Download Telegram
16 нод. Все Ready. Мониторинг зелёный.

А на heavy диск 87%. Кубернетес пишет Warning каждые 5 минут и честно говорит: freed 0 bytes.

Открываю. Два образа без тегов — cilium и element-web. Никто не использует, никто не удалил. 324 МБ просто висят.

Удалил. Почистил логи. Стало 84%.

Это не про диск.

Это про то что kubectl get nodes показывал Ready всё это время. Мониторинг не орал. Нода тихо задыхалась и никто не знал.

Ready ≠ здорово. Запомни это.
👍3
Думал, что самая большая проблема при миграции сервисов — это сеть, DNS или конфиги.
Оказалось, самая большая проблема — это человеческий фактор, когда ты пытаешься автоматизировать всё и сразу, не проверив базовые вещи.

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

Главный инсайт последних дней: никаких «очевидно, что работает». Только прямой запрос, только проверка логов и API.

ftops.space

#devops #infra #insights #runas_daemon
— Где вы провели отпуск?
— В дата-центре.
— В смысле?
— Купил билеты на море через сайт провайдера, а сервер упал во время бронирования. Пришлось две недели сидеть в консоли и подбирать идеальный TTL для загара!

ftops.space #devops #юмор #runas_daemon
📰 Новости инфраструктуры: Output-driven optimization и eBPF tracing становятся стандартом для high-load Linux-кластеров. Мониторинг kernel metrics без оверхеда.

ftops.space #devops #linux #news
В российской рознице и у крупных сетей по предзаказам за версию на 2 ТБ iPhone duo максимальный ценник доходит до 489 990 рублей.
ftops.space
В российской рознице и у крупных сетей по предзаказам за версию на 2 ТБ iPhone duo максимальный ценник доходит до 489 990 рублей.
Бюджет в 490 000 рублей — это граница, где заканчиваются мелкие бытовые покупки и начинается выбор между личным комфортом, инструментами для работы, инвестициями в себя или крупными материальными вещами.
Автомобили и мототехника
Автомобиль на ходу (вторичка): Lada Kalina / Granta (первые поколения), Renault Logan I, Hyundai Getz, Ford Focus II (в простом состоянии), Chevrolet Lacetti или классическая «Нива» (ВАЗ-2121) для дачи/леса.
Свежий мотоцикл: дорожный или турэндуро с пробегом (Bajaj Dominar 400, CFMOTO 400–650cc, классический Honda CB400 в приличном состоянии).
Квадроцикл или снегоход: утилитарный б/у квадроцикл (CFMOTO CForce, «Русская Механика») или подержанный снегоход «Буран» / «Тайга».
Питбайк + полный комплект кроссовой экипировки топового уровня (шлем карбон, шарнирные наколенники, мотоботы) для двоих.
Катер/лодка с мотором: надувная лодка ПВХ (или легкая алюминиевая вроде «Казанки») + новый японский/китайский лодочный мотор на 9.9–15 л.с. и хороший эхолот.
Электроника, IT и рабочие инструменты
Ультимативный сетап Apple: MacBook Pro 16″ (M-серия) + Studio Display + iPhone Pro Max + Apple Watch Ultra + наушники.
Топовая рабочая станция / гейминг: ПК с кастомным водяным охлаждением (GeForce RTX 4090 / 5080, флагманский процессор, 64–128 ГБ RAM) + 49″ изогнутый OLED-монитор и эргономичное кресло (Herman Miller Aeron с вторички).
Профессиональный фото-/видеокомплект: полнокадровая камера (Sony A7 IV, Canon R6 II) + пара светосильных фикс-объективов серии GM / L или универсальный 24-70mm f/2.8.
Домашняя серверная лаборатория: двухъюнитовый сервер с большим пуском NVMe/SAS-дисков, 10G-коммутатор, мощный онлайн-ИБП и серверный шкаф с охлаждением.
Оборудование для мастерской: комплект профессионального инструмента (Festool / Milwaukee), включая торцовочную пилу, фрезер, лазерный уровень и верстак.
Недвижимость, дача и загородный быт
Земельный участок: 6–15 соток в садоводстве (СНТ) или под ИЖС в 50–150 км от крупных городов-миллионников (или ближе в небольших регионах).
Металлический или каркасный гараж в кооперативе (ГСК) в большинстве региональных центров.
Готовая модульная баня-бочка: под ключ с доставкой, печью и установкой на фундаментные блоки.
Автономность для дома: гибридная солнечная электростанция (инвертор 5 кВт + аккумуляторы LiFePO4 + панели на крышу) или резервный дизель-генератор с АВР на весь дом.
Благоустройство участка: капитальный забор из профнастила/евроштакетника по периметру 6–8 соток с автоматическими воротами.
Здоровье, спорт и уход за собой
Стоматология под ключ: установка 3–5 качественных имплантов (Швейцария/Корея) с коронками из диоксида циркония либо установка элайнеров на обе челюсти для исправления прикуса.
Лазерная коррекция зрения топовым методом (SMILE / Femto-LASIK) для двух человек + полный чек-ап организма в ведущих клиниках.
Топовый шоссейный или гравийный велосипед: карбоновый байк на электронной трансмиссии (Shimano Di2 / SRAM AXS) + карбоновый вилсет и велостанок прямого привода для зимы.
Годовой безлимит в премиум-фитнес: абонемент в World Class / Crocus Fitness с персональными тренировками, бассейном и спа.
Домашний мини-спортзал: качественная беговая дорожка или силовой комплекс (Bowflex, Technogym с пробегом).
Путешествия и впечатления
Экспедиция на двоих на Камчатку, Сахалин или плато Путорана: вертолетные экскурсии в Долину гейзеров, морские прогулки к косаткам и проживание на глэмпингах.
Зимний Байкал / Алтай люкс-формата: индивидуальный тур на хивусах (судах на воздушной подушке), лучшие эко-отели, снегоходы и бани на льду.
Обучение пилотированию: начальный курс пилота малой авиации (PPL) на легком самолете (Cessna / СП-30) — налета на получение базовых часов хватит с запасом.
Яхтенный шкиперский курс (IYT / RYA) с практикой в открытом море для двоих.
Быт, комфорт и ремонт
Комплект премиальной кухонной техники: духовой шкаф, индукция, посудомойка и вытяжка уровня Miele, Asko, Neff или Smeg.
Черновой ремонт однушки / студии: полная замена проводки, труб, стяжка и выравнивание стен материалами премиум-класса.
ftops.space
В российской рознице и у крупных сетей по предзаказам за версию на 2 ТБ iPhone duo максимальный ценник доходит до 489 990 рублей.
Массивный спальный комфорт: премиальный анатомический матрас (King Koil, Hästens базовых серий) с моторным основанием, меняющим положение тела.
Мультисплит-система кондиционирования: японские инверторы (Daikin, Mitsubishi Electric) на 3–4 комнаты с монтажом.
Инвестиции, бизнес и финансы
ОФЗ или корпоративные облигации: при текущих ставках инструмент дает прозрачный купонный доход и сохранение ликвидности.
Банковский вклад: классический инструмент для фиксации доходности без риска (в пределах страховой суммы АСВ 1,4 млн руб.).
Инвестиционные золотые монеты: 5–6 монет «Георгий Победоносец» (золото 999 пробы, 7.78 г).
Оборудование под мини-бизнес:
• Профессиональный лазерный гравер CO2 / волоконный оптоволоконный маркер;
• Торговый вендинговый кофе-автомат с запасом зерна и расходников;
• Комплект аппаратов для химчистки авто и мебели (экстракторы, парогенераторы, торнадоры, автохимия) для выездного сервиса.
Думал, что если обернуть 16 нод в AmneziaWG-меш и сверху накатить Cilium, то получишь монолитную сеть, которой плевать на капризы провайдеров.

Оказалось, что ты просто создал идеальную систему по генерации загадок на 3 часа ночи.

Сценарий классический: у одной ноды хостер тихо ужимает MTU на 40 байт. Нода не падает, пинги ходят, мониторинг сияет зелёным. Всё healthy. Но как только Longhorn начинает реплицировать блок данных чуть тяжелее обычного пакета — реплика уходит в вечный таймаут, а Cilium на соседних нодах начинает судорожно перестраивать маршруты для полуживого пода.

В итоге: метрики в норме, а хранилище колом.

Главный инсайт за годы в инфре: самые блядские падения — это не когда всё сдохло с грохотом (там хотя бы сразу понятно, куда бежать с топором). Самые болючие — когда система наполовину жива и изо всех сил делает вид, что всё отлично.

Зажимайте MSS clamping до того, как пойдёте спать, а не в 03:15 под остывший кофе.
This media is not supported in your browser
VIEW IN TELEGRAM
Господа и дамы, всем спасибо, что были со мной 2 года.

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

Прошу просто поступить так: ставьте на mute, тест закончу через 3 месяца.

Всех обнял, ваш покорный слуга и любитель блокировок в России😍
Please open Telegram to view this post
VIEW IN TELEGRAM
Безопасность ломается не там, где нет красивой политики. Она ломается там, где политика не имеет исполнительной власти.

Ручной hardening обычно выглядит убедительно только в день аудита: чеклист закрыт, CIS-пункты отмечены, доступы пересмотрены. Через месяц появляется временный пользователь, нестандартный unit, забытый sudoers-файл, debug-порт на 0.0.0.0, и вся модель доверия превращается в устную договоренность.

Инженерный подход другой: безопасность должна быть не документом, а контуром исполнения:
1. Состояние хоста описано как контракт.
2. Отклонение важнее намерения.
3. RBAC должен жить ниже приложения.
4. SecOps-плейбук без автоматики — это литература.

Подробнее о подходе и архитектуре: https://ftops.space
Самая опасная сетевая авария выглядит как «сервер подвис». Ping проходит, мониторинг частично зеленый, но SSH не отвечает, API таймаутится, сервисы деградируют. В этот момент легко списать все на OOM, диск, systemd или kubelet. Но если ICMP жив, а TCP-сессии не собираются, первым делом надо проверять маршрут в обе стороны.

Практический минимум диагностики:
- tcpdump на проблемном узле: видит ли он входящие SYN;
- tcpdump на источнике: уходят ли пакеты и приходят ли SYN/ACK;
- traceroute -n туда и обратно;
- проверка асимметрии маршрута через ip route get;
- отдельная проверка mesh-адреса и публичного адреса.

Ключевой закон: один успешный ping не доказывает сетевую исправность. Он доказывает только прохождение ICMP в конкретный момент по конкретному пути. TCP может умирать на обратном маршруте, в петле транзитного оператора, на policy routing, в conntrack или из-за асимметричного NAT.

В нормальном регламенте отрицательный результат всегда перепроверяется другим инструментом и с другой точки. Для BGP-петель это особенно важно: с одной стороны все выглядит как зависший хост, с другой видно, что пакеты ходят по кругу между транзитами. Больше практических чеклистов по bare-metal, K3s и mesh-сетям: https://ftops.space
Плановый вывод узла из K3s — это не только cordon и drain. Если на узле есть Longhorn, его нужно отдельно вывести из storage scheduling. Kubernetes может считать узел подготовленным к работам, а Longhorn всё еще будет пытаться размещать туда реплики.

Практический порядок:
- проверить, есть ли на узле единственные реплики томов;
- выставить allowScheduling: false для nodes.longhorn.io/<node>;
- дождаться стабилизации реплик и отсутствия degraded volumes;
- только после этого делать cordon, drain и работы на хосте.

Типовая ошибка — смотреть только kubectl get nodes. Узел может быть SchedulingDisabled для pod-ов, но оставаться пригодным для Longhorn. В итоге после работ появляются ложные алерты, зависшие rebuild-ы и неприятный сюрприз в момент реального отказа.

Я держу такие операции в регламенте: сначала storage-plane, потом compute-plane, потом внешняя проверка. Чеклисты и инженерные заметки по bare-metal, K3s и DR: https://ftops.space
Утренний чекап инфраструктуры

Каждое утро начинается с одного вопроса: что упало за ночь, но не сообщило об этом? Silent failure — не экзотика, это норма в любом кластере старше трёх месяцев. Нода отвечает на ping, но не принимает workload. WireGuard туннель поднят, но трафик не идёт. Сервис в статусе Running, но лишь потому что readiness probe настроена неправильно.

Проверка начинается не с дашборда. Дашборд показывает то, что ты решил показать. Начинается с сырого вывода: kubectl get nodes, wg show all, journalctl -p err -n 50. Если за ночь в логах есть OOMKilled или CrashLoopBackOff — значит мониторинг не донёс, а не значит, что проблем не было.

Mesh-туннели проверяются отдельно. latest handshake старше пяти минут — туннель мёртв, даже если endpoint доступен. Проверяй не статус интерфейса, а время последнего handshake по каждому peer. Это единственный честный индикатор.

Zero silent failures достигается только одним способом: активным опросом, а не пассивным ожиданием алертов. Cron раз в пять минут, который пишет состояние в файл и сравнивает с предыдущим. Diff нашёл расхождение — уже тревога. Нет diff — нет новостей.

Документируй утренний чекап как runbook. Через месяц он станет автоматическим скриптом, ещё через месяц — частью CI/CD пайплайна здоровья кластера.

#ftops #devops #linux #freebsd #sre #инфраструктура
DiskPressure на малых VPS почти всегда выглядит внезапно, но причина обычно копилась неделями: старые образы, раздутый containerd.log, забытый /swapfile при zram, ротированные логи и мусор от диагностических pod’ов.

Практический минимум для узлов с диском 15-20 ГБ:
- следить за imagefs/nodefs отдельно;
- держать containerd.log под лимитом и ротацией;
- сжимать старые /var/log/messages-* через gzip -9;
- удалять completed/evicted/test/diag pod-артефакты старше 24 часов;
- не оставлять /swapfile, если фактически работает zram.

Kubelet ImageGC не должен быть первой линией обороны. Его пороги, например imageGCHighThresholdPercent, это аварийный механизм, а не замена регулярной уборки. Если ImageGC уже ругается FreeDiskSpaceFailed, вы опоздали: узел близко к DiskPressure, eviction и каскадным проблемам с workload’ами.

Нормальная практика: systemd timer для очистки, алерт на рост логов, отдельная проверка containerd, kubelet и свободного места после каждого обслуживания. Больше полевых чеклистов по K3s, mesh и эксплуатации bare-metal Linux: https://ftops.space
Bare-metal K3s дешевле hyperscaler не потому, что серверы магически бесплатные. Он дешевле там, где команда умеет считать полную стоимость отказоустойчивости: железо, каналы, IP-план, WireGuard mesh, резервное питание, мониторинг, регламенты восстановления и время инженеров. В hyperscaler вы быстро покупаете managed control plane, балансировщики, диски, snapshots, NAT, egress, резервные зоны. Это удобно, но каждая галочка превращается в регулярный платеж. Особенно больно становятся видны: - egress и межзональный трафик; - managed LB и public IP; - premium storage; - дублирование окружений под DR; - overprovisioning ради SLA. Bare-metal K3s требует другой зрелости. Нужны минимум: etcd snapshots по расписанию, проверенный restore, WireGuard mesh между площадками, отдельные роли для системных сервисов, RBAC без wildcard-админства, тесты потери ноды, тесты потери канала, понятный runbook для дежурного. Без этого bare-metal превращается не в экономию, а в технический долг на стойке. Моя позиция простая: hyperscaler хорош для скорости старта и переменной нагрузки. Bare-metal K3s выигрывает, когда нагрузка стабильна, трафик дорогой, требования к контролю высокие, а команда готова жить по инженерным регламентам. Чеклист подхода собираю на https://ftops.space
Bare-metal K3s часто сравнивают с hyperscaler по цене CPU, RAM и диска. Это ошибка. Реальная экономика отказоустойчивости начинается не с прайса, а с вопроса: кто отвечает за сеть, quorum, бэкапы, восстановление, RBAC и регламент аварийных работ. В hyperscaler вы платите за готовые managed-слои: control plane, storage primitives, LB, IAM, snapshots, мониторинг. На bare-metal это не исчезает. Просто счет приходит в другом виде: инженеры, стенды, тесты восстановления, документация, запас железа, out-of-band доступ, WireGuard mesh, маршрутизация, firewall policy, регулярные DR-учения. Практический минимум для bare-metal K3s: 3 control-plane узла, отдельная стратегия etcd snapshots, проверенное восстановление кластера, независимый канал доступа, регламент обновлений, ограниченный RBAC, мониторинг SLO, инвентаризация секретов, понятная схема L4/L7 ingress и план деградации при потере площадки. Вывод простой: bare-metal выигрывает, когда нагрузка стабильная, команда зрелая, а инфраструктура управляется как инженерная система. Hyperscaler выигрывает, когда скорость изменений и цена ошибки выше стоимости аренды. Чеклисты и практические разборы собираю на https://ftops.space.
eBPF и XDP: когда ядро становится маршрутизатором

eBPF позволяет выполнять пользовательский код прямо в ядре без модулей. XDP (eXpress Data Path) подключается к драйверу сетевой карты до того, как пакет попадает в сетевой стек — это означает обработку на скоростях 10-100 Гбит/с с latency в единицы микросекунд. Никакого копирования в userspace, никакого прохода через netfilter.

TCP BBR vs CUBIC: вопрос не в том, кто быстрее. CUBIC реагирует на потери пакетов как на сигнал перегрузки. BBR строит модель пропускной способности канала и доставляет данные по реальной физической скорости, а не по угадыванию. На WAN-каналах с буферизацией (bufferbloat) BBR выигрывает в разы. Включить: net.ipv4.tcpcongestioncontrol=bbr + net.core.defaultqdisc=fq.

sysctl для нагруженного шлюза — это не магия, это физика:
- net.core.rmem
max / wmemmax: 134217728 (128 МБ)
- net.ipv4.tcp
rmem / tcpwmem: 4096 87380 134217728
- net.core.netdev
maxbacklog: 300000
- net.ipv4.tcp
maxsynbacklog: 65536
- net.core.somaxconn: 65535

Pro tip по ethtool: если переключаешь offload-параметры (GSO, GRO, TSO) на горячем интерфейсе — драйвер может сбросить линк. Особенно на Mellanox/Broadcom при включении rx-vlan-offload. Делай это в maintenance-окне или убедись, что есть OOB-доступ. ethtool -K eth0 gro off на продакшне без консоли — это билет в ночную смену.

#ftops #devops #linux #freebsd #sre #инфраструктура
Находка недели: оказывается, Longhorn начинает деградировать не тогда, когда диски заканчиваются, а когда реплики расползаются по нодам с разной латентностью. Симптом — PVC висит в Degraded, но volume attached, поды работают. Мониторинг зелёный. А за кулисами replica rebuild молотит IO на узел, который и без того в хвосте по latency.

Поймал это не алертом — заметил, что один из сервисов femida стал медленнее отвечать в определённые часы. Полез смотреть — а там replica rebuilding loop на ноде, которую я полгода назад переставил с HDD на SSD, но не переаннотировал в Longhorn node scheduling.

Лечится просто: node selector на Storage tag + evict реплики со старой ноды. Но найти — это отдельная история.

https://ftops.space