sysadmin.su
329 subscribers
325 photos
32 videos
231 files
2.19K links
Админам/sre/devops’ам будет интересно!
Download Telegram
📎 А вы знали, что в файле authorized_keys можно не только хранить ключи, но ещё и указать команду, которая будет выполнена при подключении, и даже описать условия, при которых команда будет выполняться?

Небольшая заметка по этому поводу - Using ~/.ssh/authorized keys to decide what the incoming connection can do...

https://dan.langille.org/2025/04/17/using-ssh-authorized-keys-to-decide-what-the-incoming-connection-can-do/

#ssh #будничное
🛠 Что может пойти не так при записи данных на диск или чтении данных с него? А вот что, например - Things that go wrong with disk IO...

https://notes.eatonphil.com/2025-03-27-things-that-go-wrong-with-disk-io.html

#io #filesystem #будничное
Forwarded from Мониторим ИТ
​Grafana 12 release: observability as code, dynamic dashboards, new Grafana Alerting tools, and more

Вышла Grafana 12! Что нового:

🚀 наблюдаемость как код. В Grafana 12 появился новый набор инструментов наблюдения в виде кода, которые помогут автоматизировать процессы наблюдения в организации. Новая функциональность позволяет версионировать, проверять и развертывать дашборды. Кроме того, есть возможность использования шаблонов кода.

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

🚀 улучшенное отображение таблиц. В Grafana 12 можно загружать, сортировать и фильтровать большие таблицы быстрее, чем раньше. Визуализация таблиц была переработана для использования библиотеки react-data-grid. Дашборд в Grafana теперь легко обрабатывает огромные наборы данных: по 40 000+ строк и почти 20 столбцов с производительностью CPU на 97,8% выше.

🚀 новые темы в дашбордах. Появились темы Sapphire dusk, Tron, Gilded grove, Gloom и Desert bloom.

🚀 объединение и преобразование данных из нескольких источников. Теперь одним выражением в формате SQL-синтаксиса можно забирать данные из разных источников: Loki, MySQL, PostgreSQL и пр.

🚀 легкая миграция в Grafana Alerting. Упрощена миграция правил оповещений, которая позволяет импортировать правила оповещений Prometheus и Loki в правила оповещений, управляемые Grafana.

🚀 Grafana Drilldown в GA. Теперь возможность перехода из одного дашборда в другой перестала быть экспериментальной функцией.

Больше подробностей в блоге Grafana
Forwarded from IT Friday (Sabbath)
DevOps Topologies - отличная статья про паттерны и антипаттерны ДевОпс команд от создателей Team Topologies. Причем в жизни оно не обязательно так, конкретной вашей модели может тут и не быть, но признаки указанные в статье могут присутвовать, как хорошие, так и плохие. Интересно сматчить свою команду с тем, что в статье 😏
Мне, например, не хватило модели DevOps как внутренний сервис - гибридная Enabling / Platform Team, которая делала платформенные инструменты и разносила бы добрые практики, не замыкая на себе и не изолируя себя от команд разработки и эксплуатации
https://devopstopologies.ru/
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Мониторим ИТ
​VictoriaMetrics : Effective alerts, from theory to practice

Golden Signals, PromQL/MetricsQL и VMalert. В статье разобраны подходы к алертингу из VM.
Forwarded from Мониторим ИТ
​Prometheus Monitoring: Functions, Subqueries, Operators, and Modifiers

Статья из блога VictoriaMetrics о функциях, подзапросах, операторах и модификаторах.
Forwarded from Мониторим ИТ
​Prometheus Alerting 101: Rules, Recording Rules, and Alertmanager

Четвертая статья цикла в блоге VictoriaMetrics.

Первые три статьи:

🚀 Counters, Gauges, Histograms & Summaries

🚀 Instant Queries and Range Queries Explained

🚀 Functions, Subqueries, Operators, and Modifiers
Forwarded from linkmeup
Хороший заход на попытку объяснить, как работает DNS в линуксах. Но только это не та история, которой уже всем глаза натёрли, про кэши и то, как магия из имени делает циферки, а низкоуровневый заход в ядро, системные вызовы и библиотеки на С.
Начало одобряем, посмотрим, что будет дальше.

https://habr.com/ru/companies/k2tech/articles/919194/
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Programmer & IT Memes
Please open Telegram to view this post
VIEW IN TELEGRAM
1😁3❤1
Forwarded from ITTales :(){ :|:& };:
Вот вам небольшая пятничная история. Что делать когда Talos Linux сдох, и вот непонятно из-за чего.
Kubernetes API недоступен (не запускается CRI), у вас нет ничего, кроме доступа к Talos API.

Казалось бы всё. SSH нет, доступа на запись тоже нет. Только ребут или как предлагают сами разработчики Talos Linux:
<irony>нода сдохла, выкинь и заведи новую</irony>

Но не всё так просто, а как же отдебажить что там произошло. Собрать информацию, подготовить баг-репорт, отослать разработчикам containerd и Kubernetes.

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

Здесь стоит немного уточнить что в логике Talos заложено запуск двух containerd.

Один - системный, он запускает контейнеры с талосовые демонами и экстеншенами, а так же etcd и kubelet.
Второй - прикладной, он запускает всё что в кубе, в том числе статик поды.

Сделано это намерено, чтобы кубовый ворклоад не мог заафектить систему. Т.к. чаще всего проблемы возникают именно со вторым ввиду активного пуллинга имаджей, а первый containerd остаётся живым. Но как же запустить контейнер для дебага без работающего Kubernetes API? Ответ - никак. Придётся хитрить.

Talos позволяет указать кастомные image для запуска kubelet и etcd. Этим мы и воспользуемся.

Для начала соберём кастомный образ kublet. Добаляем busybox в имадж и слегка модифицируем код:
https://github.com/kvaps/kubernetes/commit/3e45ecd4a2718bc50f2d951c344b4c439f79e3ae

Собираем Dockerfile, пушим его куда-то и заменяем путь до образа в конфиге Talos.

Вуаля, у нас появляется доступ к системе:

echo 'uname -r' | nc 192.168.1.21 12345
6.12.18-talos


kubelet работает с полными административными правами, поэтому его привилегий должно быть достаточно для дебага всего что необходимо.
👍1
Forwarded from Vadim Rutkovsky
Хвалюсь тулзой на основе VictoriaLogs: https://github.com/vrutkovs/audit-log-stats
Нам часто приходится анализировать audit log кубернетесовских аписерверов и вытягивать оттуда инфу о том какой юзер чаще всего достает ресурсы, сколько времени занимает ответ и разбивка этого времени на части - etcd / webhook / сериализация и т.д. В графане сразу сделан дашборд, который позволяет быстро найти виновника тормозов.

Сами аудит логи это простой jsonl, но зато их очень много и кардинальность улетает в небеса. После долгого мучения с перфомансом локи переделал на VLogs и теперь всё 🚀быстро🚀

cc @valyala
👍1
Forwarded from Мониторим ИТ
Kubernetes Monitoring — полное руководство

Это цикл из 10 статей, который объясняет принципы мониторинга кубера по всем канонам наблюдаемости.

Part 1: Architecture

Part 2: Instrumentation, Telemetry, Dashboarding, and Alerting

Part 3: Metrics using the victoria-metrics-k8s-stack

Part 4: Automatically extracting etcd certificates into a secret in Talos with VictoriaMetrics

Part 5: VictoriaMetrics Operator


Part 6: Visualizing with Grafana


Part 7: Alerting


Part 8: Logging with VictoriaLogs


Part 9: Talos Linux System Logs with VictoriaLogs and Vector


Part 10: Kubernetes Event Logging to VictoriaLogs


Сохраняйте в закладки!

❗️Цикл статей опубликован на платформе medium.com

@monitorim_it
Forwarded from DevOps&SRE Library
kubernetes-controller-sharding

Make Kubernetes controllers horizontally scalable by distributing reconciliation of API objects across multiple controller instances. Remove the limitation to have only a single active replica (leader) per controller.

https://github.com/timebertt/kubernetes-controller-sharding
Forwarded from DevOps&SRE Library
ctrlplane

A deployment orchestration tool that simplifies multi-cloud, multi-region, and multi-service deployments.


https://github.com/ctrlplanedev/ctrlplane
Forwarded from Виталий
#release Собрал и выложил версию 2.3.0

Новые фичи:

- Поддержан новый метод монтирования ядерных блочных устройств - ublk. Самый быстрый по iops, не всегда самый быстрый по МБ/с (vduse иногда быстрее)
- На ядрах, которые это умеют (6.15+), OSD теперь не будут помечаться как поедающие 100% cpu iowait.
- Добавлена возможнось проверки привилегий на стороне VitastorFS NFS-сервера (по умолчанию клиент Linux NFS их не проверяет).
- Добавлена опция qemu_file_mirror_path для обмана Veeam (собрана пока что в версиях для proxmox 8 и 9).
- Ускорен расчёт CRC32C на стороне OSD сначала исправлением многократного вызова cpuid, а потом вообще задействованием версии из ISA-L с поддержкой AVX512. IOPS-ы записи выросли на ~20%. 😊
- Убрана повторная перезапись одних и тех же блоков - без этого, по отчёту с github, происходило повреждение данных на одной специфической модели SSD: Memblaze PBlaze5 910 (#79)
- Добавлена поддержка QEMU 10, Debian 13 Trixie и Proxmox 9.0
- Ликвидирована зависимость от системного liburing, он теперь по умолчанию собирается статически

Исправления тоже прикольные:

- Контрольные суммы, судя по всему, никогда не включались в vitastor-disk, даже когда это запрашивалось явно. Просто не пробрасывалась опция 😊
- Теперь vitastor-nfs использует uid и gid из заголовка NFS AUTH_SYS - до этого при создании файла/каталога под каким-то пользователем он создавался под root и, например, в случае реэкспорта через samba, пользователь не мог его потом поменять
- Исправлена теоретическая возможность повреждения bitmap-ов объектов в редких случаях при использовании EC N+2+ (т.е. N+K где K >= 2)
- Исправлен баг в antietcd, из-за которого при перезапуске всех osd и мониторов в antietcd оставались старые ключи /osd/state (lease не удаляли истекшие ключи корректно)
- Исправлена cookie записи ".." в NFS - она должна быть 1, а не 0
- Снимки не удалялись при удалении ВМ в Proxmox (тоже PR с гитхаба, #85)
- Исправлена некорректная фильтрация OSD для пула по размеру блока монитором

https://git.yourcmc.ru/vitalif/vitastor/releases/tag/v2.3.0
👍1🔥1
🔓 SystemD Service Hardending - несколько слов о безопасности systemd сервисов.

#systemd #security #hardened