fa
Feedback
DevOps 413

DevOps 413

رفتن به کانال در Telegram

Опыт инженера изнутри: DevOps-практика, инфраструктура, конференции и карьера в IT https://youtube.com/@devops413

نمایش بیشتر
کشور مشخص نشده استدسته بندی مشخص نشده است
302
مشترکین
+1324 ساعت
+297 روز
+2930 روز
آرشیو پست ها
Дорогие коллеги по цеху и подпищеки! Крайне сердечно поздравляю вас с наступающим 2️⃣0️⃣2️⃣6️⃣ годом! Зеленых пайплайнов, спокойных дежурств, стоячего прода, легких повышений и исполнения загаданного! Любви, здоровья и деняк! С последнего поста в канале прошло много времени и этому есть причины. Подводя итоги уходящего года, хочу поделиться своими целями на следущий.👇 За этот год я: ➖очень много работала: засетапила 10 куб кластеров, мигрировала данные одного CSI на другой, внедрила kubelogin для всех юзеров, внедрила kyverno, пилила мониторинг с нуля, мигрировала монолит в куб, писала автоматизацию для инфры, дебажила, поднимала упавшее, много наставничала на работе и вне и много другого ➖ провела 19 консультаций для начинающих инженеров, вот несколько отзывов с платформы
Общение с Юлией было прямое и открытое, сама она приятная в разговоре и хороший слушатель. Как мне показалось, мы нашли общий язык и в целом время пролетело незаметно. Наметили план, по которому я буду развиваться, а она помогать в исполнении по мере возможности. Мне понравилось, обращусь снова. Прекрасный человек, настоящий эксперт в своей области. Вдохновляет не испугаться много умных слов, я обходила тему Сетей стороной, думала, что никогда в ней не разберусь сама, но Юлия в меня вселила надежду и что-то даже пошло 🙂 Так что спасибо ей большое, было бы круто, конечно, таких менторов иметь на постоянной основе, даже за денежку, чтобы было прям обучение. Еще раз спасибо ей и платформе! Огромное спасибо Юле за невероятно полезную сессию! Юля не просто помогла разобрать ошибки, но и доступно объяснила несколько новых технологий (Kubernetes), о которых я только слышал. Чувствую, что мой профессиональный горизонт значительно расширился. Очень мотивирующая и продуктивная встреча! Однозначно рекомендую Юлю как экспертного и отзывчивого ментора. Понравилось, что ментор была инициативна в разговоре и сама развивала темы. Классно, что она имеет обширный опыт в сфере.
➖ закончила участие в одном потоке Mentor in Tech и сейчас участвую в другом ➖ побывала на классных конференциях и познакомилась с классными инженерами ➖ съездила в Японию 😭😍🫰 ➖относила брекеты ➖пробежала микромарофон ➖ начала изучать Go ➖ начала вести тг канал 😅 ➖ переехала в Москву ➖ нашла новую работу И вот в связи с последними двумя пунктами в следующем году меня ждут новые приключения 😁 Из новых целей на будущий год я ставлю: ➖ съездить в отпуск ➖ готовиться и попробовать сдать CKA ➖ написать свой оператор ➖ начать свой пет проект ➖ записать подкаст для канала с приглашенным гостем ➖ податься с докладом на конфу Насчет последнего я, конечно, не уверена🤪, но с остальным точно справлюсь! С новым годом, друзья!🎉❤️‍🔥🎅❄️☃️🎆

⁉️Вопросы с собеседований Я стараюсь следить за трендами на рынке, в том числе при помощи собеседований. Вопросы, которые задают соискателям, ярко отражают портрет идеального кандидата в контексте сегодняшнего дня. А последние пару недель я и сама активно проходила интервью. Ниже подготовила подборку самых попсовых и интересных вопросов.👇 📚 Общая теория
1. Что такое CI/CD? Где заканчивается CI и начинается CD? 2. Чем CDL отличается от CDP, когда какой подход использовать? 3. Чем контейнеризация отличается от виртуализации? 4. Что такое канареечный и blue-green деплои? 5. *Как реализовать zero-downtime deploy? 6. *Назовите четыре золотых сигнала?
🐧 Linux 📁 Файловая система
1. Что такое индексные дескрипторы и какую информацию они содержат? 2. Что такое лимиты и какими они бывают? 3. Разница между hard link и soft link? 4. Как посмотреть открытые файлы? 5. Что происходит при удалении файла, если он открыт другим процессом? 6. Какие типы файлов в Linux вы знаете? 7. Какие права должны быть у файла, чтобы его удалить? (вопрос с подвохом)
⚙️ Процессы
1. Какой процесс в Linux имеет первый PID? 2. Что такое системные вызовы? 3. Как отследить системные вызовы работающей программы? 4. Что такое systemd? 5. Что такое load average? 6. В каких состояниях могут находиться процессы? По каким причинам процесс может находиться в статусе D (uninterruptible sleep)? 7. Что такое зомби-процесс и чем он опасен?
🌐 Сеть
1. Что такое iptables? 2. Как посмотреть открытые порты? 3. Как проверить настройки сетевого интерфейса? 4. Можно ли изменить SSH-порт? Как? 5. Что такое SSH-туннель? 6. *За что отвечает протокол ARP?
🖥️ Bash
1. Что делает пайп? 2. Что возвращает переменная "$?" ? 3. В каких ситуациях может пригодиться xargs? 4. Что произойдёт при выполнении export env=test? 5. Что произойдёт при выполнении source ~/.bashrc? В каких ситуациях использовать? 6. Что делает этот однострочник и каков будет результат?

kubectl get po | awk 'NR != 1 { print $1 }' | xargs -n1 kubectl delete po && echo "done" || echo "no pods"
🖼️ Kubernetes
1. Назовите компоненты control plane и worker нод? 2. Какой компонент запускает контейнеры и управляет их жизненным циклом? 3. Где хранится вся информация о кластере? 4. Чем pod отличается от контейнера? 5. Что такое sidecar и init контейнеры и чем отличаются? 6. Какова разница между PV и PVC? 7. Чем DaemonSet отличается от StatefulSet? 8. Что такое limits и requests? 9. Что происходит, если pod упирается в лимиты по CPU и памяти? 10. Какие есть QoS классы? 11. Какие есть пробы и за что они отвечают? 12. Что такое tolerations и taints? 13. Назовите причины, по которым может не запланировать под? 14. Какова разница между delete и rollout? 15. Что произойдёт, если удалить namespace, в котором висят finalizer’ы? 16. *Как работает VPA и HPA?
🖼️ Docker
1. Чем Dockerfile отличается от образа? 2. Чем отличаются команды COPY и ADD? 3. Чем отличаются команды CMD и ENTRYPOINT? 4. Что такое слои? 5. Что происходит с образом, когда на его базе запускается контейнер? Изменяется ли он? 6. Перечислите практики оптимизации сборки образа (минимум 4). 7. Как вытащить файл из остановленного контейнера, не запуская его? 8. *Как передать пароли/секреты в Dockerfile во время сборки?
Есть еще много специфичных тем, которые варьируются от вакансии к вакансии, но при этом есть общий набор, перечисленный выше 🙂 Собираю свою личную коллекцию вопросов для тех интервью, которые провожу. Если у вас есть классные, нестандартные вопросы - присылайте! 😎

У меня есть несколько идей для постов, но не могу выбрать. Нужен ваш совет!🤓
Anonymous voting

5 ноября в 18:00 MSK состоится вебинар на тему «Запуск приложений в Docker» 🚀 Вебинар будет полезен разработчикам, администр
5 ноября в 18:00 MSK состоится вебинар на тему «Запуск приложений в Docker» 🚀 Вебинар будет полезен разработчикам, администраторам и инженерам, а также всем, кто хочет познакомиться с Docker. В роли спикера выступит Юлия Брунер: ✅ DevOps инженер в компании T1 ✅ Автор телеграм канала об IT @devops413 ✅ Ментор На вебинаре: 👉 Разберем базовые абстракции докера 👉 Соберем образ и запустим свое приложение в контейнере 👉 Разберем частые ошибки и лучшие практики 🔗Подключайтесь по ссылке 🗓 Добавляйте в календарь Если вам не хватило места в Zoom, подключайтесь к трансляции в Telegram @wit_streams ⏺️ Запись будет #DataScience #QA #DevOps

Обожаю мемасы, но годных айтишных мало, а про DevOps еще меньше 😭 Я наскребла парочку для вас, поделитесь своими 🙏
+4
Обожаю мемасы, но годных айтишных мало, а про DevOps еще меньше 😭 Я наскребла парочку для вас, поделитесь своими 🙏

🖼️ Docker vs Kubernetes 🖼️ На днях ко мне обратились два инженера — обсуждали автоматизацию деплоя в их организации. После нескольких рекомендаций прозвучал классический холиварный вопрос: Docker или Kubernetes? Когда пора переходить на кубер? Я вижу, что это до сих пор одна из самых горячих тем на конференциях. И не просто так! Я решила сравнить. 🔍 Ключевым параметры: Кластеризация 🖼️ Да 🖼️ Да Сложность настройки 🖼️ Низкая 🖼️ Высокая — требует экспертизы Автомасштабирование 🖼️ Ручное или базовое 🖼️ HPA, VPA, Cluster Autoscaler Self-healing 🖼️ Ограниченное (restart policy) 🖼️ Продвинутое (liveness, readiness) Управление конфигами 🖼️ Docker Configs/Secrets 🖼️ ConfigMaps, Secrets + GitOps Обновления 🖼️ Через docker-compose / скрипты 🖼️ Rolling updates / Canary / GitOps Экосистема 🖼️ Ограниченная 🖼️ Огромная (Operators, Helm, CRD) 💰 Что насчёт стоимости? Ведь DevOps — это в том числе про оптимизацию ресурсов. Kubernetes: ✅ Легковеснее при правильной настройке, оптимальная утилизация = экономия денег ❌ Дорогой специалист: опытный K8s-инженер стоит 250-400k₽+ Docker: ✅ Дешевле на старте: минимальные требования к инфраструктуре и экспертизе, базовые знания Docker есть у большинства ❌ Хуже утилизация ресурсов: нет динамического распределения, часто "резервируют с запасом", ручное управление: масштабирование и балансировка требуют больше времени DevOps'а 📊 Когда пора переезжать на Kubernetes? Одной причины недостаточно — это всегда совокупность факторов: 1. Динамическое масштабирование 2. Многокластерность и распределённость 3. Рост команды и процессов 4. Self-healing и Zero-downtime 5. Сложная сетевая топология 6. Compliance и изоляция ⚠️ Когда НЕ нужен Kubernetes? - Монолит или 2-3 микросервиса без планов роста - Небольшая команда - Нет особых/специфичных требований к инфраструктуре В таких случаях Docker + хороший мониторинг закроют 90% задач без оверинжиниринга. Согласны?) Узнали? 😬Жду холиварные контраргументы в комментариях!!!👇

👉 Кейс: Мигрируем тома в Kubernetes Разбираем реальную задачу. Задача для middle и выше: миграция данных между томами в рамках смены CSI. 🎯 Задача: Перенести данные из старого в новый PVC, созданный уже новым CSI-драйвером. Без потерь и с минимальным временем простоя. Как будете декомпозировать задачу и какие инструменты будете использовать? Предлагаю использовать утилиты pv-migrate и rename-pvc. 🧠 Декомпозиция: 1. Подготовка: Создать новый PVC в целевом хранилище. Убедиться, что поды, использующие старый том, остановлены. 2. Миграция: Перекачать данные из старого PVC в новый. 3. Переключение: "Подменить" старый том новым для рабочей нагрузки. 4. Финал: Протестировать и убрать старые артефакты. 🛠 Инструмент: pv-migrate Это утилита, которая превращает сложный процесс в одну команду. Её магия в том, что она: * Автоматически создаёт мигрирующий Pod с доступом к обоим томам (источнику и назначению). * Сама выбирает стратегию копирования (например, mnt2 — монтирует оба тома в один под и использует rsync). * Берет на себя: проверки, мониторинг прогресса, очистку за собой. По сути, вы говорите "скопируй вот этот том в тот", а pv-migrate делает всё остальное. Проще не бывает! 📋 План действий и команды ⚠️ Золотое правило: "7 раз отмерь — 1 раз отрежь". Даже на dev потеря данных — это боль. Не забываем о бэкапах! 1. Останавливаем нагрузку.

    kubectl scale deploy -n user-ns app --replicas=0
    
2. Подготавливаем новый PVC с идентичными labels, используя новый StorageClass. 3. Запускаем миграцию.

    NAMESPACE=user-ns
    PVC_NAME="app-pv"
    
    kubectl pv-migrate \
      --strategies mnt2 \
      --source-namespace=$NAMESPACE \
      --source=$PVC_NAME \
      --dest-namespace=$NAMESPACE \
      --dest=$PVC_NAME-new
    
Ждём успешного завершения. В логах будет виден прогресс. 4. "Переключаем" тома. Переименовываем PVC, чтобы приложение начало использовать новый том.

    # Переименовываем старый PVC
    kubectl rename-pvc --yes -n $NAMESPACE $PVC_NAME $PVC_NAME-old
    
    # Переименовываем новый PVC
    kubectl rename-pvc --yes -n $NAMESPACE $PVC_NAME-new $PVC_NAME
    
5. Запускаем приложение.

    kubectl scale deploy -n user-ns app --replicas=1
    
6. Проверяем, что под поднялся и данные на месте. 7. Удаляем старый PVC, когда уверены, что он больше не нужен. 💎 Итог Весь процесс миграции свелся к нескольким командам. Утилита pv-migrate скрывает за собой всю сложность и позволяет делать рискованные операции предсказуемо и безопасно. Sources: pv-migrate | rename-pvc

В свободное от работы время я помогаю начинающим специалистам начать или продолжить погружение в DevOps. Вот мой базовый чек-лист, который я даю каждому менти 👇 🧠 1. DevOps как методология Стоит понимать, какие задачи решает DevOps и зачем бизнесу нужна эта культура. DevOps это методология, DevOps инженер - специалист, который внедряет эту методологию. ⚙️ 2. CI/CD Теория, чем CDL отличается от CDP. 🐧 3. Linux Обязательно. Без уверенного владения Linux двигаться дальше тяжело. 🔗 Полезная карта для навигации по темам: roadmap.sh/linux 🕸 4. Сети Основы, без которых не получится понимать ни контейнеризацию, ни инфраструктуру: • DHCP • DNS • TCP/IP • NAT • iptables 🧩 Для практики сетей рекомендую отличный симулятор: miminet.ru 📦 5. Контейнеризация и виртуализация Важно знать разницу и когда что использовать. 🖼 6. Docker Минимальный набор для старта: • docker image • docker compose • docker run • dockerfile • docker volumes 🧩 Полная карта компетенций DevOps: roadmap.sh/devops ‼️ Главное — практика. Почти каждый менти, с которым я общалась, отмечал, что без неё теория не усваивается. Основные инструменты и технологии — это логические абстракции, и пока не “потрогаешь руками”, в голове не складывается картина. Если этот пост оказался полезным — поставьте реакцию. Так я пойму, что стоит подготовить подборку практических задач и список отборных статей для самообучения.

Привет! 👋 🧩 Обо мне: в IT 8 лет, в DevOps 4 года, до инженера выросла из техподдержки. Без профильного высшего, все знания - самообучение и практика. Работала в Yota, Skyeng, X5, Т1 💙. Помогаю начинающим специалистам — менторю: 👉 Профиль на getmentor.dev Также являюсь ментором в @womenintechrus. 🖼️ О чём посты • реальные рабочие кейсы • советы для тех, кто учится DevOps с нуля • инциденты и разборы из практики • заметки о карьере в IT 🎥 Дополнительные материалы: • Интервью для Slurm