Latest posts

DevOps Ready | IT
22 Sept, 06:12
Шпаргалка по правам доступа в Linux!Например, chmod меняет права файла, chown назначает владельца, а chgrp задаёт группу. Символьный режим помогает точечно добавить или убрать разрешение, а числовой удобен для понятных наборов вроде 600, 644 и 755.На картинке собраны r, w и x, роли user, group и others, расшифровка ls -l, а также команды chmod, chown и chgrp с короткими примерами.Сохрани, чтобы не потерять!➡️ DevOps Ready | #ресурс


DevOps Ready | IT
21 Sept, 08:30
📂 Напоминалка по документации CI/CD-процессов!Хорошая документация помогает быстрее разбираться в процессах, снижает количество ошибок и упрощает адаптацию новых участников команды. На картинке 7 подходов к созданию понятной документации: от простого языка и визуальной структуры до реальных примеров, удобной навигации, регулярного обновления и адаптации материалов под разные роли.Сохрани, чтобы не потерять!➡️ DevOps Ready | #ресурс


DevOps Ready | IT
18 Sept, 17:12
Знали, почему cp ./src/ может тихо пропустить важные файлы?В shell звёздочка выглядит как простой способ скопировать всё содержимое папки.Например, так часто переносят конфиги, сборку или шаблон проекта: cp -r ./src/ ./dst/Но обычный glob не включает скрытые файлы, имена которых начинаются с точки.То есть такие файлы могут не попасть в копию: .env .gitignore .dockerignore .editorconfigДля локального проекта это неприятно, а для деплоя или Docker build может стать настоящей проблемой. Приложение уедет без .env.example, Docker получит лишний build context, а форматтеры и линтеры будут вести себя иначе.Один из надёжных вариантов использовать rsync со слешем в конце источника: rsync -a ./src/ ./dst/


DevOps Ready | IT
18 Sept, 13:12
Stern - удобный просмотр логов из нескольких Kubernetes-подов!В этом репозитории находится CLI-инструмент для чтения логов в Kubernetes. Stern умеет цепляться сразу к нескольким подам, фильтровать контейнеры, подсвечивать вывод цветами, показывать новые pod при их появлении и работать с label selectors.Инструмент особенно полезен, когда Deployment постоянно пересоздаёт pod, сервис масштабирован на несколько реплик или нужно быстро понять, какой контейнер пишет ошибку. Это намного удобнее, чем вручную переключаться между kubectl logs для каждого pod.Оставляю ссылочку на GitHub➡️ DevOps Ready | #репозиторий


DevOps Ready | IT
18 Sept, 07:12
Знали, почему set -e не заменяет нормальную обработку ошибок?В Bash часто добавляют set -e, чтобы скрипт завершался при ошибке команды. set -eЭто лучше, чем полностью игнорировать exit code. Но есть важный нюанс. set -e работает не как полноценный try/catch и в некоторых конструкциях ведёт себя неочевидно.Например, ошибка внутри условия может быть ожидаемой: if grep -q "ready" app.log; then echo "ready" fiЕсли grep ничего не нашёл, он вернёт 1. Для if это нормальная логика.Похожая история бывает с командами, где ошибка должна быть обработана явно: rm old.lock start_serviceЕсли файла нет, rm вернёт ошибку и скрипт может завершиться раньше, чем дойдёт до запуска сервиса.
DevOps Ready | IT
17 Sept, 07:12
Пишем проверку доступности TCP-порта на Bash!Иногда перед deploy, миграцией или запуском сервиса нужно убедиться, что база, Redis, брокер или внутренний API вообще доступны по сети.Сделаем маленький скрипт без curl и nc. В Bash можно открыть TCP-соединение через /dev/tcp.Сначала зададим host и port: host="db.internal" port="5432"Проверка выглядит так: if timeout 3 bash -c "</dev/tcp/$host/$port"; then echo "open" fitimeout нужен, чтобы скрипт не завис надолго, если сеть молчит или firewall просто дропает пакеты.Добавим ветку для ошибки: else echo "closed"
DevOps Ready | IT
16 Sept, 08:12
Разбираем strace 7 приёмов для диагностики процессов!strace помогает увидеть, что процесс реально просит у ядра. Это полезно, когда приложение не видит файл, зависает на сети, не может открыть сокет или неожиданно долго ждёт системный вызов.➡️ DevOps Ready | #шпора




DevOps Ready | IT
15 Sept, 08:12
Шпаргалка по отладке Kubernetes Deployment!Например, kubectl get pods помогает увидеть Pending, Running и CrashLoopBackOff, а kubectl describe pod показывает события планировщика, image pull ошибки и проблемы с probe.На картинке собран flowchart для диагностики Deployment. Есть проверки pod, logs, describe, readiness, image pull, scheduler, Service, Ingress и port-forward для быстрой локализации проблемы.Сохрани, чтобы не потерять!➡️ DevOps Ready | #ресурс


DevOps Ready | IT
14 Sept, 09:12
Шпаргалка по типам метрик Prometheus!Например, Counter подходит для значений, которые только растут, Gauge показывает текущее состояние, а Histogram помогает анализировать распределение задержек и размеров запросов.На картинке собраны основные типы метрик и их соответствие в OpenTelemetry. Такая шпаргалка полезна, когда нужно выбрать правильный тип метрики для сервиса, дашборда или alert rule.Сохрани, чтобы не потерять!➡️ DevOps Ready | #ресурс


DevOps Ready | IT
13 Sept, 09:10
Знали, различие Cache и Artifacts?В CI/CD часто есть две похожие сущности. Cache ускоряет следующие запуски, а artifacts сохраняют результат текущего job.Из-за похожей логики их иногда используют как одно и то же. Например, кладут build-результат в cache или зависимости в artifacts.Cache нужен для временных данных, которые можно восстановить заново: cache: paths: - .npm/Если cache пропадёт, pipeline должен просто стать медленнее, но не сломаться по смыслу.Artifacts нужны для результата, который должен перейти в следующий job или остаться после сборки: artifacts: paths: - dist/Например, build-job собирает dist, а deploy-job забирает именно этот dist. Тут cache не подходит, потому что cache может быть старым или очищенным.


DevOps Ready | IT
13 Sept, 06:12
📂 Напоминалка по планированию метрик для сервиса!Метрики помогают понимать состояние системы, находить проблемы и принимать решения на основе данных, а не предположений. На картинке показан подход к выбору действительно важных метрик: от определения целей сервиса и построения дерева метрик до настройки источников данных, порогов, дашбордов и регулярного пересмотра. Отдельный чек-лист поможет проверить, что метрики измеримы, полезны для команды и связаны с ключевыми сценариями сервиса.Сохрани, чтобы не потерять!➡️ DevOps Ready | #ресурс


DevOps Ready | IT
11 Sept, 08:12
kubectx и kubens - переключатели контекста Kubernetes!В этом репозитории лежат две маленькие утилиты для kubectl. kubectx помогает быстро переключаться между Kubernetes context, а kubens делает то же самое для namespace.Инструменты особенно важны, когда приходится работать с несколькими кластерами, окружениями и namespace. Вместо длинных команд kubectl config можно быстро выбрать нужный контекст, посмотреть список доступных вариантов и не путаться между dev, stage и prod.Оставляю ссылочку на GitHub➡️ DevOps Ready | #репозиторий


DevOps Ready | IT
10 Sept, 09:12
Разбираем jq 7 приёмов для анализа JSON в терминале!jq помогает быстро читать JSON из API, логов, kubectl, terraform output и CI/CD-ответов без ручного просмотра.В этой шпоре: .field, [], select, map, keys, length и -r.➡️ DevOps Ready | #шпора




DevOps Ready | IT
9 Sept, 15:12
Собираем Makefile для частых DevOps-команд!В проектах часто есть набор повторяющихся команд. Запустить тесты, собрать образ, применить миграции или открыть shell.Держать всё в голове не удобно. А с помощью Makefile можно приварить их в короткие сценарии.Начнём с понятной цели для логов: logs: docker compose logs -f appТаб перед командой важен. В Makefile команда внутри target должна начинаться именно с tab.Добавим перезапуск сервиса: restart: docker compose restart appДля проверки можно сделать отдельный target: check: docker compose config docker compose ps
DevOps Ready | IT
9 Sept, 08:12
Шпаргалка по Infrastructure as Code!Например, Docker помогает упаковать приложение в контейнер, Kubernetes управляет запуском контейнеров, Terraform описывает инфраструктуру, а Ansible настраивает серверы через playbook.На картинке собрана общая схема IaC-подхода. Есть containerization, Kubernetes orchestration, Git как source of truth, CI/CD pipeline, Terraform, Ansible, cloud servers и on-premise servers.Сохрани, чтобы не потерять!➡️ DevOps Ready | #ресурс


DevOps Ready | IT
8 Sept, 15:12
Знали, зачем в shell-скриптах иногда задают umask?Когда скрипт создаёт файлы, права зависят не только от chmod в самом скрипте. На итоговые права влияет umask текущего процесса.Обычный временный файл может получиться доступнее, чем хотелось бы: touch backup.env ls -l backup.envЕсли внутри лежат токены, пароли или дампы конфигов, это уже опасно. Особенно на сервере, где есть несколько пользователей или служебных аккаунтов.umask позволяет заранее запретить лишние права для новых файлов: umask 077После этого новые файлы обычно будут доступны только владельцу. Группа и остальные пользователи не получат чтение по умолчанию.Например, так можно безопаснее создавать файл с секретами: umask 077 printf '%s\n' "$TOKEN" > token.txtПроверить результат можно через ls:


DevOps Ready | IT
8 Sept, 13:12
Сколько вакансий ты упускаешь, пока ищешь работу? 👀 Они разбросаны по десяткам Telegram-каналов, hh ru, карьерным сайтам и другим площадкам. Пока ты мониторишь одни источники, подходящая вакансия может появиться в другом. Софи забирает этот поиск на себя. Она ищет подходящие вакансии в 350+


DevOps Ready | IT
8 Sept, 11:12
Знали, почему readinessProbe не стоит заменять livenessProbe?В Kubernetes часто добавляют health checks, но readinessProbe и livenessProbe нужны для разных вещей.livenessProbe нужна, чтобы понять, жив ли контейнер вообще. Если приложение зависло и уже не может восстановиться, Kubernetes перезапустит Pod.Простой пример проверки: livenessProbe: httpGet: path: /health/live port: 8080readinessProbe решает другую задачу. Она говорит, можно ли прямо сейчас отправлять трафик в этот Pod.Например, приложение уже запустилось, но ещё прогревает кэш, ждёт миграции, подключение к базе или загрузку конфигурации. Перезапускать его в этот момент не нужно.Для этого лучше сделать отдельный endpoint: readinessProbe: httpGet: path: /health/ready


DevOps Ready | IT
8 Sept, 09:12
Друзья! Осенью этого года в День тестировщика 9 сентября в Москве пройдет очередная ежегодная конференция по обеспечению качества ИТ-систем «Перфоманс Конф 12». Формат: онлайн и оффлайн Конференция полезна инженерам по нагрузочному тестированию, руководителям отделов QA, DevOps, SRE-специалистам и


DevOps Ready | IT
8 Sept, 06:12
📂 Напоминалка по распределению конфигурации между Git и переменными окружения!Правильное разделение настроек помогает безопасно управлять разными окружениями, не хранить секреты в репозитории и не создавать хаос в конфигурации. На картинке показаны 7 практик: от классификации параметров и принципов 12-Factor до работы с секретами, разделения dev, staging и prod, автоматической проверки и документирования конфигурации. Главное правило: код хранится в Git, значения приходят через ENV, а секреты находятся в защищённом хранилище.Сохрани, чтобы не потерять!➡️ DevOps Ready | #ресурс

Related Channels
Other channels in the same section of the catalogue.
