Библиотека девопса | DevOps, SRE, Sysadmin
10.4K subscribers
2.04K photos
82 videos
9 files
3.5K links
Все самое полезное для девопсера в одном канале.

Наши курсы: https://clc.to/ZJ7Z1w

По рекламе: @proglib_adv

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787
Download Telegram
👍 Gateway API — современная замена Ingress. С чего начать миграцию

После завершения поддержки ingress-nginx Kubernetes-сообщество рекомендует переходить на Gateway API. Его главная идея — разделить ответственность между платформенной командой и разработчиками.

Как это устроено:

🆚 GatewayClass — выбирает контроллер (Envoy Gateway, Cilium, Traefik).
🆚 Gateway — описывает точку входа в кластер: порты, протоколы и TLS.
🆚 HTTPRoute — содержит маршруты конкретного приложения.

В отличие от Ingress, где всё находится в одном ресурсе с большим количеством аннотаций, Gateway API делает конфигурацию более понятной, расширяемой и независимой от конкретного контроллера.

Какой контроллер выбрать:

Envoy Gateway — максимально полная поддержка спецификации Gateway API.
Cilium — хороший выбор, если он уже используется как CNI.
Traefik — подойдёт для постепенной миграции с сохранением поддержки существующих Ingress-ресурсов.

🔤 Как начать миграцию:

Для большинства базовых Ingress-ресурсов можно воспользоваться официальным конвертером:


go install sigs.k8s.io/ingress2gateway@latest

ingress2gateway print --namespace default


Он преобразует существующие Ingress-ресурсы в Gateway API YAML. Аннотации, завязанные на конкретный Ingress Controller, придётся перенести вручную.

💡 Если планируете переход, начните с dev-окружения: протестируйте маршрутизацию, затем staging и только после этого переносите production.

📎 Подробнее

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#арсенал_инженера #kubernetes #gatewayapi #ingress
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
🎯 Готовитесь к собеседованию или хотите проверить свои знания?

Нашли полезный open source-репозиторий, в котором собраны вопросы с реальных технических интервью, советы по прохождению HR-этапа, разбор популярных тем и ссылки на дополнительные материалы.

Внутри — вопросы по Linux, Docker, Kubernetes, CI/CD, Terraform, Ansible, Git, сетям и другим технологиям, с которыми DevOps-инженеры сталкиваются на собеседованиях.


Сохраняйте — пригодится перед следующим интервью 🔥

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#задача_со_звёздочкой
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1
🫡 Один и тот же запрос к AI можно выполнить двумя способами — и получить совершенно разный результат.

1️⃣ способ — просто попросить написать код. Модель может сгенерировать рабочее решение, но именно на этапе проверки часто всплывают пропущенные edge case’ы, ошибки обработки или проблемы с тестами.

2️⃣ способ — дать агенту цикл Think → Act → Observe. Он не останавливается после первой попытки: планирует действия, проверяет результат и, если находит ошибку, исправляет её и пробует снова.

Самое интересное, что разница здесь не столько в модели Claude, GPT или другая LLM могут быть одинаковыми. Разницу создаёт инженерная система вокруг них.

📅 Именно это разберём 23 июля в 19:00 (МСК) на бесплатном вебинаре с Алексеем Жиряковым (Executive Director в Сбере, GenAI Data Platform, ex-CTO Stream и KION).

На живом демо покажем, как один и тот же запрос работает без агентной системы и с ней 🔥

🔗 Регистрация

🏃‍♀️ Proglib Academy
Please open Telegram to view this post
VIEW IN TELEGRAM
1
📍 Курс — это не только темы и домашние задания

Во многом его ценность определяет опыт тех, кто его разрабатывает и ведёт.

Об этом как раз новый пост Proglib Academy 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
🧑‍💻 Учиться агентной разработке — у тех, кто уже внедряет её в бигтехе

Курс «ИИ для разработчиков» ведут практики из ведущих российских IT-компаний 🔥

🔵 Они прошли путь от первых экспериментов с AI до рабочих процессов, в которых агенты помогают команде писать код, готовить PR и быстрее доводить задачи до продакшена.

В ближайшее время познакомим вас с каждым преподавателем. Программа курса — по ссылке 🎹

🏃‍♀️ Proglib Academy
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Самый простой способ уменьшить Docker-образ

Размер образа часто можно сократить уже на первой строке Dockerfile.

Вместо:


FROM python:3.11


попробуйте:


FROM python:3.11-slim


Это обычно даёт:

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

python:3.11-alpine ещё компактнее, но использует musl libc. Из-за этого некоторые зависимости могут потребовать дополнительной настройки.

Для большинства Python-проектов slim — более практичный вариант по умолчанию, а alpine стоит выбирать осознанно.

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
3
✏️ Если вы уже работаете с Claude Code, Cursor или Copilot, этот вебинар будет особенно полезен.

Разберут, как превратить AI из инструмента для отдельных задач в часть инженерного процесса ⬇️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
😸 Каждый разработчик подходит к задаче со своим опытом: помнит прошлые решения, знает ограничения проекта и понимает, какой код команда пропустит на ревью.

Для человека это естественная часть работы. У Claude Code этого контекста по умолчанию нет — только задача и инструкции, которые ему дали.

Поэтому в большой команде недостаточно просто выбрать хорошую модель.

❗️ Нужно ещё объяснить ей, как у вас устроена разработка: какие подходы приняты, что обязательно проверять и по каким правилам принимать решения.


🗓 23 июля в 19:00 МСК поговорим об этом на бесплатном вебинаре с Алексеем Жиряковым — он Executive Director в Сбере, руководит
GenAI Data Platform, и с этой проблемой сталкивался не раз 🔥

Покажет живое демо, разберём, как встроить AI в процесс разработки так, чтобы он реально помогал, а не добавлял ещё один повод для споров на ревью.

🔗 Занять место на вебинаре

🏃‍♀️ Proglib Academy
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Cron запускает скрипт повторно? Добавьте блокировку

Если задача по cron ещё не завершилась, а уже стартовал следующий запуск, можно получить несколько одновременно работающих экземпляров скрипта. Это приводит к конфликтам, лишней нагрузке и непредсказуемому поведению.

Решить проблему поможет lckdo из пакета moreutils

🔜 Установка:


sudo apt install moreutils


🔜 Запуск с блокировкой:


lckdo /tmp/my-script.lock /usr/local/bin/script.sh


Если предыдущий экземпляр ещё работает, новый запуск завершится сразу.

🔜 Чтобы дождаться освобождения блокировки, используйте:

```
lckdo -w /tmp/my-script.lock /usr/local/bin/script.sh```

💡 Частый сценарий — защита cron-задач:


* * * * * lckdo /tmp/backup.lock /usr/local/bin/backup.sh


Теперь новый запуск начнётся только после завершения предыдущего.

⚠️ Файл блокировки сам по себе ничего не блокирует. Блокировку удерживает процесс, который его открыл. После завершения процесса она автоматически снимается, даже если файл остаётся на диске.

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#root_prompt
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Что такое финалайзеры (finalizers) и для чего они нужны?

Это уникальные ключи в манифесте объекта, которые определяют операции, необходимые для выполнения перед удалением объекта. Например, они используются для предотвращения удаления pvc и pv при активном PODе.

Библиотека собеса по DevOps
👍3
👀 Скорость разработки растёт, но вместе с ней появляется новая проблема — кодовая база быстро теряет единый стиль.

Ниже — бесплатный вебинар о том, как этого избежать 📍
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
🤢 Чем больше разработчиков в команде начинают пользоваться Claude Code, тем заметнее одна проблема: кодовая база перестаёт выглядеть как работа одной команды.

Где-то есть тесты, где-то их забыли. Где-то агент следует архитектуре проекта, где-то предлагает решение, которое с ней не сочетается.

⚠️ И это не проблема Claude Code. Он просто следует тому контексту, который получает от каждого разработчика.

Завтра покажем, как передать AI инженерный контекст команды и не превратить его внедрение в ещё один источник хаоса.

🗓 23 июля, 19:00 МСК
Бесплатно. 60 минут доклада + 30 минут вопросов.

🔗 Занять место на вебинаре и разобраться, почему так происходит

🏃‍♀️ Proglib Academy
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🎹 Работа с Kubernetes

kubectl-neat — инструмент для очистки выводов команд kubectl get в k8s. Он удаляет избыточную информацию из YAML и JSON манифестов, оставляя только важные данные.

Как использовать:


kubectl get pod mypod -o yaml | kubectl neat


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

kubectl-neat помогает быстрее анализировать конфигурации и сокращает объем выводимой информации, делая её более читабельной.

➡️ Репозиторий проекта

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека devops'a

#арсенал_инженера
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩3👍1