DevOps на турнике
540 subscribers
44 photos
4 videos
4 files
17 links
Просто DevOps без инфо-шума и понтов

Вопросы и предложения - devopsiron@gmail.com

Тренажер для подготовки к DevOps и SRE - @devops_iron_mentor_bot
Download Telegram
🐧 Как загружается Linux-система

```BIOS/UEFI

GRUB

Kernel

initramfs

systemd

Services

Login```

Разберём процесс по этапам:

1. BIOS / UEFI
Проверяет аппаратную часть компьютера (POST), ищет загрузочное устройство и передаёт управление загрузчику.
BIOS → MBR
UEFI → EFI System Partition (ESP)

2. GRUB (Bootloader)
Основной загрузчик Linux.
Что делает:
Показывает меню выбора ОС
Позволяет выбрать ядро
Передаёт параметры ядру
Загружает vmlinuz и initramfs
Полезные параметры ядра:
quiet splash`
— обычная тихая загрузка
`single`
/
`recovery`
— безопасный режим
`systemd.unit=rescue.target`
— режим восстановления```

3. Kernel (Ядро Linux)
Сердце системы
.
Что делает:
Инициализирует CPU и память
Запускает драйверы устройств
Монтирует временную файловую систему
Запускает первый процесс в userspace

4. initramfs
Временная мини-система в оперативной памяти.
Нужна для того, чтобы:
Загрузить дра
йверы дисков
Расшифровать LUKS (если есть)
Собрать RAID / LVM
Найти основной root-раздел
После выполнения происходит switch_root на настоящий /.

5. systemd (PID 1)
Главный процес
с системы.
Запускает:
Точки монтирования
Сеть
Логирование
Сервисы и targets
Проверить:
```shell
ps -
p 1```

6. Services (Службы)
Запуск системн
ых демонов:
sshd, nginx, docker, cron, dbus и др.
П
осмотреть:
```shell
syst
emctl list-units --type=service```

7. Login
Появляется приглашение для входа:
TTY (текстовый режим)
GUI (GDM / SDDM / LightDM)
После успешного логина запускается shell или графическая сессия.
#linux
Как отвечать на собеседовании:

После включен
ия питания BIOS/UEFI проверяет железо и передаёт управление загрузчику GRUB.
GRUB загружает ядро Linux и образ initramfs.
Ядро инициализирует оборудование и через initramfs находит основной root-раздел.
Затем запускается systemd (PID 1), который поднимает все сервисы и пользовательское окружение.
👍7
🐧 91 вопрос по Linux для DevOps-собесований (Газпромбанк, Т-Банк, Яндекс, Альфа-Банк).
Первые 30 вопросов. Остальные 61 при 20
🔥

📁 ФС и inode:
1. Что такое inode? Что хранится/не хранится?
2. Место есть, inode кончились: можно создать файл?
3. Hardlink vs symlink: разница?
4. rm удалил файл, место не освободилось: причина?
5. /etc/fstab: назначение и формат строки?
6. ext4 vs xfs: когда что?
7. Журналирование ФС: суть?
8. Поиск файлов >1GB.
9. Проверка read-only статуса ФС.
10. Что такое mount namespace?

⚙️ Процессы:
11. PID, PPID, PID 1: что это?
12. fork() vs exec(): разница?
13. Zombie-процесс: суть, поиск, решение.
14. Orphan-процесс: судьба.
15. kill vs kill -9 vs kill -15.
16. Поиск процесса на порту 8080.
17. nice/renice: диапазон значений?
18. nohup vs &: разница?
19. Запуск процесса после выхода из SSH.
20. cgroups: назначение?

🧠 Память:
21. RSS vs VSZ: что измеряют?
22. Swap: когда ядро его использует?
23. OOM Killer: выбор жертвы?
24. swappiness: суть и изменение.
25. Page cache: "занятая" память — хорошо или плохо?
26. Очистка page cache без рестарта.
27. Обнаружение memory leak.
28. Huge pages: зачем?
29. Что такое NUMA?
30. free -m vs vmstat: отличие?

Знаешь ответы на все 30? 👇
Дайте огней, выложу вторую пачку и ответы на эти вопросы 🔥

#career
🔥22
DevOps на турнике pinned «🐧 91 вопрос по Linux для DevOps-собесований (Газпромбанк, Т-Банк, Яндекс, Альфа-Банк). Первые 30 вопросов. Остальные 61 при 20 🔥 📁 ФС и inode: 1. Что такое inode? Что хранится/не хранится? 2. Место есть, inode кончились: можно создать файл? 3. Hardlink vs…»
Структурированная карта развития SRE инженера. Три направления, 20 компетенций, конкретные умения и best practices

👉 https://jtprogru.github.io/The-Way-of-SRE/
#library
👍3
PewDiePie выложил в open source Odysseus — персональный AI-хаб для локальной работы
https://habr.com/ru/companies/first/articles/1041970/

#resources
👍2🔥1
Прошёл 6 этапов собеса. Получил оффер. Отказался.

Они (жёлтый банк) сами нашли мой контакт, я даже не откликался.

HR пригласила на встречу. Вилку не назвала. Требования не назвала. Прислала ссылку на сайт иди читай сам. Окей, пошёл дальше.
Тестовое - типовой литкод, справился. Пишу HR, договариваемся на техсобес. В ответ присылают список книг Таненбаум и прочее. Послезавтра собес, спасибо конечно.

Техсобес. 3 часа.

Linux / сети (не девопс-уровень, а «что такое свич и как обжать витую пару» — я думал это шутка) / системный дизайн / Кубер / мониторинг / типы БД / транзакции / поведенческие вопросы без правильных ответов
Прошла неделя - окнули. Потом ещё один раунд: алгоритмы + литкод, час жизни. Потом ещё один техсобес на 2 часа - снова Таненбаум и сети. Потом знакомство с командой.
Выжали как лимон.

Оффер пришёл. Гибрид, дежурства, меньше 300к. По факту не SRE, а линия поддержки.

Очевидный вопрос: зачем вообще ходил без условий?
Ответ: хайп, крутые продукты, казалось что это то самое место.
Единственный плюс - вспомнил всю базу которую знал.

Собрал 20 вопросов которые реально спрашивают на таких собесах:

https://telegra.ph/20-voprosov-dlya-SRE-sobesa---prover-bazu-06-08

Подпишись, скоро будет разбор каждой темы на YouTube, чтобы ты приходил на собес подготовленным а не как я 😃

Следующий пост: как готовиться к SRE-собесу за 2 недели с нуля.

А у тебя был собес который выжал как лимон? Напиши в комментах 👇

Сохрани себе, пригодится 🔖

#career
7🔥2
Ловим тренды GitHub раньше ВСЕХ

Нашли сервис, который показывает самые быстрорастущие проекты среди разработчиков.

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

Мониторим тренды

#resources
🔥31
Приняли бы оффер на 250?
#career
🤡1
Media is too big
VIEW IN TELEGRAM
А лягушонок то шарит, но настоящий девопс должен разбираться! Шарят в карманах 😆
😁2
Kubernetes используют везде. Но как он устроен внутри – объяснить могут единицы.

Вот что надо знать.

Control Plane – мозг кластера:

etcd
– хранит всё состояние кластера. Упал etcd – можешь смотреть как всё работает, но ничем не управляешь.

kube-apiserver
– единственная точка входа. Все компоненты общаются только через него. Никаких “а я напрямую”

kube-scheduler
– решает куда поставить Pod. Смотрит на ресурсы, affinity, taints. Думает за тебя

kube-controller-manager
– следит чтобы желаемое совпадало с реальным. Pod упал – он заметил, пересоздал, ты даже не проснулся

Worker Node – где живут твои приложения:

kubelet
– агент на каждой ноде. Получает задачи и запускает контейнеры. Тихий трудяга

kube-proxy
– настраивает сеть. Благодаря ему Service находит нужный Pod

Container Runtime
– containerd или CRI-O. Непосредственно запускает контейнеры

Частые вопросы:

Что будет если упадёт etcd?
Новые деплои невозможны, но запущенные Pod’ы живут. До первого рестарта

Чем Deployment отличается от StatefulSet?
Deployment для stateless. StatefulSet даёт стабильные имена и порядок запуска – для баз данных, Kafka, всего что помнит своё прошлое

Как Pod попадает на ноду?
scheduler выбрал ноду, apiserver записал в etcd, kubelet увидел и запустил. Три шага, ноль магии

Зачем readinessProbe?
Пока не отвечает – трафик не идёт. Без неё сломанный Pod получает запросы и все гадают почему 500

#kubernetes
3
Telegram бот, который по ссылке на YouTube-видео кидает вам аудио из него. Аудио вы можете слушать прямо в Telegram-клиенте, с любого устройства.

Ссылка: https://github.com/Spmart/YTAP-Bot
#resources
5
Dockerfile
1.1 KB
🐳 Твой Docker-образ весит 1 GB. Хотя мог бы весить 50 MB.

Вижу эту ошибку постоянно.

Разработчики просто делают:
COPY . .
RUN npm install
И считают, что всё отлично.

Но вместе с приложением в прод уезжают:

компиляторы
dev-зависимости
webpack, TypeScript и прочие инструменты сборки
кеш npm

То, что никогда не понадобится во время запуска приложения.

Решение - Multi-stage Build

Используй два `FROM` в одном Dockerfile.

🔨 Stage 1 - Builder

Здесь происходит всё тяжёлое:

* установка зависимостей;
* сборка проекта;
* компиляция;
* создание готовых артефактов.

🚀 Stage 2 - Runtime

Берём чистый образ (`alpine` или `distroless`) и копируем только то, что нужно для запуска.

Без лишнего мусора.

📊 Реальный результат

До:

📦 1.2 GB

После:

📦 58 MB

Что получаем:

быстрее деплой
быстрее docker pull
меньше уязвимостей
меньше расход дискового пространства

💡 3 правила, которые стоит запомнить

1️⃣ Копируй package.json отдельно
COPY package*.json ./
RUN npm ci
COPY . .
Так Docker сможет использовать кеш слоёв и не будет заново устанавливать зависимости при каждом изменении кода.

2️⃣ Используй лёгкие runtime-образы

Вместо:
node:18
Лучше:
node:18-alpine
или Distroless.

Разница может составлять сотни мегабайт.

3️⃣ Используй npm ci

В CI/CD всегда лучше:
npm ci
а не
npm install
Преимущества:

быстрее
воспроизводимая сборка
строго по package-lock.json

🔍 Проверь прямо сейчас
docker images
Если обычный сервис весит 200+ MB, скорее всего его можно уменьшить в несколько раз всего за несколько минут.

Поверьте, ваш CI/CD скажет вам спасибо. 🚀
Пример докерфайла приложил

#docker
2🔥1👏1
linux_91_вопрос.md
7 KB
🐧 Как обещал - все 91 вопрос по Linux

Собрал в один файл, ничего не потеряется.

Формат удобный: блоки по темам, можно открыть на телефоне и прогнать себя перед собесом.

Что внутри:
- Файловая система и inode
- Процессы и сигналы
- Память и cgroups
- Сеть и iptables
- Bash и скриптинг
- Безопасность и SSH
- Трабшутинг реальных сценариев

Подсказка: MD формат удобно читать через github например, запушил туда файликом и у тебя всегда под рукой вопросы в одном месте

Если хотите получить все 91 с ответами, примерами команд и ловушками на собесе - давайте наберём 30 🔥

#linux #library
🔥331😭1
Есть мысли записать видео о ситуации на рынке, предложениях, и какой вообще порядок дел в IT, было бы интересно?
Anonymous Poll
63%
Да, интересно. Давай в формате видео
58%
Да, интересно. Давай в формате поста в ТГ
3%
Не интересно
📚 Навигация по каналу

Чтобы не листать всё подряд - используй хэштеги.

🛠 Технологии
#docker #kubernetes #linux #cicd #git
#terraform #ansible #helm #network #database

📖 Обучение
#library - книги, курсы, шпаргалки
#resources - ссылки на полезные источники

💼 Карьера
#career - собесы, советы, факты из индустрии

Нажми на хэштег → увидишь все посты по теме.
2
DevOps на турнике pinned «📚 Навигация по каналу Чтобы не листать всё подряд - используй хэштеги. 🛠 Технологии #docker #kubernetes #linux #cicd #git #terraform #ansible #helm #network #database 📖 Обучение #library - книги, курсы, шпаргалки #resources - ссылки на полезные источники…»
📚 3 книги по Linux для DevOps-инженера

Не «топ лучших книг всех времён». Просто три, которые реально читаются и дают результат.

1. Linux Pocket Guide - Daniel Barrett

Не для чтения от корки до корки. Открываешь когда забыл флаг у grep или как работает chmod. Файловая система, SSH, процессы, права доступа, sed/awk всё коротко и по делу. Лежит открытой на второй вкладке.

2. How Linux Works - Brian Ward

Вот эту читаешь именно как книгу. Объясняет что происходит когда ты включаешь сервер: загрузка, ядро, systemd, сеть, память. После неё перестаёшь угадывать начинаешь понимать.

3. The Linux Command Line William Shotts

Если терминал до сих пор вызывает дискомфорт начни отсюда. Bash, пайпы, перенаправление, простые скрипты.

Все три на английском это нормально. Большинство документации тоже на английском, лучше привыкать сразу. При желании можно найти перевод, ссылки давать к сожалению не могу.

#linux
#library
1👍1