DevOps Ready | IT
СтатистикаАвторский канал по DevOps разработке. Ресурсы, обучения, задачи, шпаргалки. Ежедневно информация пополняется! Автор: @energy_c Реклама на бирже: https://telega.in/c/devops_ready
- Последний пост
- 10:12
- Последнее чтение
- 16:57
- Постов за неделю
- 11
- Всего постов
- 165
- Тип
- открытый
- Язык
- русский
- Категория
- Образование
- В каталоге с
- 12 авг.
- 1/24сутки в ленте
- 906
- 1/48двое суток
- 1 038
- 1/72трое суток
- 1 119
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Шпаргалка по Linux permissions! Например, chmod 755 даёт владельцу полный доступ, а группе и остальным оставляет чтение и запуск. А chmod 600 часто используют для приватных ключей и конфигов с секретами. На картинке разобраны права владельца, группы и остальных пользователей, числовые значения r/w/x, а также SUID, SGID и sticky bit. Сохрани, чтобы не потерять! ➡️ DevOps Ready | #ресурс
Настраиваем ротацию логов через logrotate! Если приложение постоянно пишет в один файл, лог может незаметно вырасти до гигабайтов. В итоге диск заполняется, поиск ошибок становится медленнее, а сервис может начать падать просто из-за нехватки места. Допустим, приложение пишет сюда: /var/log/myapp/app.log Для таких файлов удобно завести отдельное правило в logrotate. Создадим конфиг: sudo nano /etc/logrotate.d/myapp Сначала указываем, какие логи нужно обрабатывать: /var/log/myapp/*.log { Теперь добавим ежедневную ротацию: daily Оставим только последние семь архивов: rotate 7 Чтобы старые логи занимали меньше места, включим сжатие: compress Если файла временно нет, это не должно ломать весь запуск logrotate: missingok Пустой лог тоже нет смысла перекладывать в архив: notifempty Для простых приложений часто добавляют copytruncate. Он копирует текущий лог в архив, а исходный файл обрезает до нуля: copytruncate Это полезно, когда приложение не умеет переоткрывать лог-файл после сигнала. Минус тоже есть: в момент копирования можно потерять несколько строк, если приложение пишет очень активно. В конце закрываем правило: } Перед применением лучше проверить конфиг в debug-режиме: sudo logrotate -d /etc/logrotate.d/myapp Так команда покажет, что собирается сделать, но не будет реально трогать файлы. Если всё выглядит нормально, можно принудительно выполнить ротацию: sudo logrotate -f /etc/logrotate.d/myapp Потом проверяем каталог с логами: ls -lh /var/log/myapp В рабочей системе logrotate обычно запускается автоматически по таймеру или cron. Поэтому после настройки достаточно один раз проверить правило и дальше следить, что архивы появляются ожидаемо. Такой подход помогает держать логи под контролем и не ждать момента, когда один шумный файл заполнит весь диск. ➡️ DevOps Ready | #практика
🔍Тестовое собеседование с Head of DevOps уже завтра 18 августа(уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle DevOps-разработчика. Как это будет: 📂 Александр Хренников, Head of DevOps в KTS с опытом 14+ лет, будет задавать реальные вопросы и задачи разработчику-добровольцу 📂 Александр будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью 📂 В конце можно будет задать любой вопрос Александру Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для DevOps-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_devops_bot Реклама. О рекламодателе.
Killercoda - DevOps-лабы прямо в браузере! На сайте можно запускать готовые сценарии по Linux, Docker, Kubernetes, Git, Grafana, Argo, Istio, Falco и другим инструментам. Всё открывается как интерактивная среда с терминалом, поэтому можно не просто читать, а сразу выполнять команды. Ресурс полезен для тренировки реальных действий. Можно открыть Kubernetes playground, пройти сценарий по Docker или потрогать инструменты CNCF без локальной установки. Оставляю ссылочку на Killercoda ➡️ DevOps Ready | #ресурс
Знали, зачем в curl использовать --fail вместе с проверками в скриптах? Обычный curl может завершиться успешно даже тогда, когда сервер вернул HTTP-ошибку: curl https://example.com/missing Если сервер ответил 404, команда всё равно может вернуть exit code 0, потому что сетевой запрос технически выполнился. В shell-скриптах это опасно: curl "$URL" -o app.tar.gz tar -xzf app.tar.gz Можно скачать HTML-страницу с ошибкой вместо архива и узнать об этом только на следующем шаге. Для таких случаев добавляют --fail: curl --fail "$URL" -o app.tar.gz Теперь HTTP-коды 400/500 будут считаться ошибкой команды. Чаще всего это комбинируют с --silent и --show-error: curl --fail --silent --show-error \ "$URL" -o app.tar.gz Для CI/CD или deploy-скриптов удобно сразу останавливать выполнение: curl --fail --silent --show-error "$URL" -o app.tar.gz tar -xzf app.tar.gz Если нужен retry: curl --fail --retry 3 --retry-delay 2 \ "$URL" -o app.tar.gz Так временные сетевые ошибки можно пережить, а настоящие HTTP-ошибки не будут замаскированы под успешную загрузку. ➡️ DevOps Ready | #совет
📘 DevOps-инженер: от основ до продакшена — новый курс на Mentorix Пишете код, но деплой и прод — чёрный ящик? Курс про инженерию эксплуатации: от первого сервера до автоматизированной CI/CD-инфраструктуры, которая держит нагрузку и не падает. ⚙️ Стек: Docker, Kubernetes, Ansible, Terraform, CI/CD, Prometheus + Grafana, логи ELK 🧩 Задания с автопроверкой + лабы в настоящем терминале 💻 Финальный проект в портфолио 🎓 Сертификат · доступ навсегда 🏷 −35% по промокоду DEVOPS35 — только 48 часов 13 990 ₽ → 9 094 ₽ ➜ Забрать курс со скидкой ━━━━━━━━━━━━━━ 🎁 А ещё на платформе — бесплатные курсы: Языки программирования ⚡ Golang — основы языка 🦀 Rust — основы языка 🐍 Основы Python Инфраструктура и DevOps 🖥 Основы DevOps 🐳 Docker: первые шаги 🔧 Git для начинающих Базы данных • SQL с нуля • MongoDB с нуля 📚 Все бесплатные курсы Mentorix
📂 Напоминалка по архитектуре минимального, но рабочего CI/CD-пайплайна! Часто при настройке автоматизации возникает соблазн сразу построить огромный комбайн с кучей проверок, из-за чего пайплайн постоянно падает, а релизы застревают. На этой схеме — пошаговый гайд о том, как спроектировать лаконичный и стабильный CI/CD-пайплайн для одного микросервиса, который закроет 80% потребностей команды и не будет перегружен лишней логикой. Сохрани в закладки, чтобы использовать как готовый шаблон для своих проектов! ➡️ DevOps Ready | #ресурс
kube-prometheus — готовая база для мониторинга Kubernetes! В этом репозитории собран полноценный monitoring stack для Kubernetes: Prometheus Operator, Prometheus, Alertmanager, Grafana, node-exporter, kube-state-metrics, готовые dashboards и alert rules. Хороший вариант, чтобы посмотреть, как в реальности собирают наблюдаемость кластера не из одного контейнера, а из набора Kubernetes-манифестов и связанных компонентов. Оставляю ссылочку: GitHub ➡️ DevOps Ready | #репозиторий
Знали, как не дать cron-задаче запуститься второй раз поверх первой? Иногда скрипт запускается по расписанию, но предыдущий запуск ещё не закончился. Например, backup, импорт данных, rsync или очистка логов могут выполняться дольше обычного. Обычный cron выглядит так: * * * * * /opt/jobs/backup.sh Если backup занимает больше минуты, следующий запуск начнётся параллельно: backup.sh backup.sh backup.sh Это может привести к битым архивам, двойной нагрузке, конфликтам файлов и странным ошибкам. Для таких случаев используют flock: flock -n /tmp/backup.lock /opt/jobs/backup.sh Файл /tmp/backup.lock здесь не хранит данные. Он нужен как точка блокировки. Ключ -n означает: если lock уже занят, не ждать, а сразу выйти: flock -n /tmp/backup.lock ./backup.sh В cron это можно записать так: * * * * * flock -n /tmp/backup.lock /opt/jobs/backup.sh Если первый запуск ещё работает, второй просто не стартует. Для более явного варианта можно использовать shell: flock -n /tmp/backup.lock \ bash -c 'echo start; ./backup.sh' А если нужно немного подождать lock, есть timeout: flock -w 10 /tmp/backup.lock ./backup.sh Так команда подождёт до 10 секунд, а потом завершится, если блокировка всё ещё занята. ➡️ DevOps Ready | #совет
Требуются парни и девушки в возрасте 19–40 лет, желающие работать в сфере IT. Опыт в программировании не нужен. Завтра запускаем бесплатный онлайн-интенсив по Frontend-разработке, где будем показывать, как разрабатывать сайты и веб-приложения используя ИИ. За 7 дней обучения без опыта ты: 1. Сделаешь реальный сайт сервиса доставки с нуля; 2. Добавишь JavaScript-логику, расчёты и трекинг; 3. Подключишь карты и маршрут доставки через API; 4. Превратишь сайт в Angular-приложение; 5. Подключишь backend и выложишь проект в продакшен; 6. Научишься использовать ChatGPT и Giga во Frontend-разработке; 7. Узнаешь 9 способов найти первый заказ на фрилансе даже без опыта. А главное, ты увидишь, что разрабатывать сайты и приложения не так сложно, как кажется. И поймёшь, как тебе развиваться в этой профессии, чтобы уже через пару месяцев зарабатывать от 1000$ на вёрстке сайтов. 👉 Проскочить на интенсив бесплатно 🔥 С 2019 стабильно помогаем с обучением, практикой, зарабатывать на фрилансе и проходить собеседования.
📂 Напоминалка по организации безопасного отката релизов! Даже после тщательного тестирования новый релиз может привести к ошибкам, деградации производительности или недоступности сервиса. Чётко выстроенный процесс отката позволяет быстро восстановить стабильную версию и минимизировать влияние инцидента на пользователей. На картинке — 7 шагов построения процесса отката: подготовка стратегии и предыдущей версии, настройка автоматических проверок, определение триггеров для rollback, выполнение отката одной командой, проверка состояния системы после восстановления, разбор причин инцидента и улучшение процесса, а также простой пайплайн отката с чек-листом готовности. Сохрани, чтобы не потерять! ➡️ DevOps Ready | #ресурс
Проверяем HTTP endpoint из shell-скрипта! Иногда нужно быстро понять, жив ли сервис: API, health endpoint, nginx location или внутренний backend. Начнём с URL: url="https://example.com/health" Получим только HTTP-код: code="$(curl -s -o /dev/null -w "%{http_code}" "$url")" Теперь проверим диапазон: if [ "$code" -ge 200 ] && [ "$code" -lt 300 ]; then echo "OK: $code" else echo "FAIL: $code" fi Добавим timeout, чтобы скрипт не завис: code="$(curl -sS --max-time 5 \ -o /dev/null -w "%{http_code}" "$url")" Если нужен retry: for i in 1 2 3; do code="$(curl -s --max-time 5 -o /dev/null -w "%{http_code}" "$url")" [ "$code" = "200" ] && break sleep 2 done После этого можно вернуть exit code для CI: [ "$code" = "200" ] || exit 1 Такую проверку удобно использовать в deploy-скриптах, cron, CI/CD и простом мониторинге. ➡️ DevOps Ready | #практика
Издательский дом «Новые отраслевые медиа» собрал для вас лучшие каналы из сферы искусственного интеллекта и интернет-технологий, которые помогают своим подписчикам быть в курсе всех важных профессиональных новостей. Здесь - всё про ключевых игроков отрасли, государственное регулирование, инсайды и кейсы от отраслевых лидеров. ✅Серверная - канал об индустрии дата-центров: технологиях, инфраструктуре, облачных решениях, энергоэффективности и применении ЦОД в ключевых отраслях экономики. ✅Робосфера - канал об индустрии робототехники: технологии и тренды. Промышленные и сервисные роботы, коботы, автоматизация, ИИ, машинное зрение, автономные системы. ✅AI для бизнеса - всё об AI-решениях для бизнеса: внедрение, автоматизация, корпоративный ИИ, агенты. ✅ТехноРитейл - канал о производстве и продаже бытовой техники и электроники в России: бренды, e-com, маркетинг, retail tech. Подписывайтесь, и эти каналы смогут изменить вашу жизнь к лучшему! Реклама. Харламов А.Е. ИНН 712803816807. erid: 2W5zFJbxV8d
Шпаргалка по iptables! Например, iptables -L -v показывает текущие правила, а iptables -I INPUT -s IP -j DROP блокирует входящий трафик от конкретного адреса. На картинке базовые команды iptables: просмотр правил, блокировка IP и подсетей, удаление правил, блокировка портов, разрешение трафика, сохранение правил и удаление по номеру строки. Сохрани, чтобы не потерять! ➡️ DevOps Ready | #ресурс
без подписи
без подписи
без подписи
без подписи
Разберём tar: 7 команд для упаковки, распаковки и проверки архивов в Linux! tar часто встречается в DevOps-задачах: бэкапы, перенос конфигов, упаковка логов, доставка артефактов и ручная установка утилит. Важно помнить разницу между обычным tar и tar.gz: первый только объединяет файлы, второй ещё и сжимает. В этой шпоре: • создание архива; • распаковка; • просмотр содержимого; Эти команды помогают аккуратно работать с архивами и не распаковывать вслепую неизвестное содержимое. ➡️ DevOps Ready | #шпора
Docker Docs — официальный гид по Docker, контейнерам и образам! На сайте собраны материалы по установке Docker, первым контейнерам, Dockerfile, образам, volumes, networking, Docker Compose, registry, best practices и деплою приложений. Это хороший ресурс для тех, кто хочет не просто выучить пару команд, а нормально понять весь путь: как собрать образ, запустить контейнер, связать сервисы, сохранить данные и подготовить приложение к запуску в реальной инфраструктуре. Оставляю ссылочку: Docker Docs ➡️ DevOps Ready | #ресурс