Telegram Web
🔄 Как преобразовать Docker Compose в кластер Kubernetes

Часто в процессе разработки используется Docker Compose, который предназначен для управления многоконтейнерными приложениями в одном узле.

Но все вокруг говорят о кубере, поэтому сегодня покажем как преобразовать ваши контейнеры в кластер на k8s с помощью kompose.

1. Подготовка Docker Compose файла

Допустим, у вас уже есть файл docker-compose.yml для вашего приложения. Пример простого Docker Compose файла:
version: '3'
services:
app:
image: myapp:latest
ports:
- "8080:80"
environment:
- APP_ENV=production
db:
image: postgres:alpine
environment:
- POSTGRES_DB=mydb
- POSTGRES_USER=user
- POSTGRES_PASSWORD=password


2. Использование Kompose для преобразования

Для упрощения процесса преобразования конфигурации Docker Compose в Kubernetes, можно использовать инструмент Kompose.

Он автоматически конвертирует ваш docker-compose.yml файл в манифесты Kubernetes.

Как и любой быстроразвивающийся проект kompose лучше ставить напрямую от разработчиков:
sudo curl -L https://github.com/kubernetes/kompose/releases/download/v1.27.0/kompose-linux-amd64 -o /usr/local/bin/kompose
sudo chmod +x /usr/local/bin/kompose


После установки Kompose, выполните следующую команду для конвертации:
kompose convert -f docker-compose.yml


Kompose создаст несколько файлов YAML для Kubernetes, например:

• app-deployment.yaml — для деплоймента приложения.
• app-service.yaml — для создания Kubernetes-сервиса.
• db-deployment.yaml — для деплоймента базы данных.
• db-service.yaml — для сервиса базы данных.

3. Деплой на Kubernetes

Теперь, когда у вас есть манифесты Kubernetes, вы можете развернуть приложение в кластере.

Применение манифестов:
kubectl apply -f app-deployment.yaml
kubectl apply -f app-service.yaml
kubectl apply -f db-deployment.yaml
kubectl apply -f db-service.yaml


Если все прошло успешно, ваше приложение будет развернуто в Kubernetes.

🐸Библиотека devops'a #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
💬 Кубер это революция в управлении инфраструктурой или ненужная сложность

Кажется, каждое обсуждение технологий DevOps не обходится без упоминания Kubernetes. Кто-то считает его ключом к современным и эффективным процессам разработки, а кто-то утверждает, что Kubernetes — это слишком сложное и не всегда нужное решение.

⚠️ Основные претензии к Kubernetes:

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

— Сложные кластерные технологии могут потреблять ресурсы, которые для небольших или средних проектов не оправданы.

— Сетевые и распределенные проблемы в Kubernetes могут быть сложными для диагностики.

Что думает наш админ:
Я предвзят обычно ко всему новому, но кубер мне зашёл. В нескольких командах уже видел как его используют и девопсам реально нравится. Буквально подики просто делают брррр


💬 Какая ваша позиция по поводу Kubernetes? Супер-пупер игрушка или ненужный хлам? Делитесь мыслями в комментариях 👇

💃 Нравится контент? Отблагодарите нас бустом, а мы подготовим больше годного контента.

🐸Библиотека devops'a #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
База для Kubernetes

Подготовили для вас шпаргалку для работы с k8s. Сохраняйте, чтобы не потерять.

🐸Библиотека devops'a #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Откуда в девопс пришли вы

❤️ — Сисадмин
🔥 — Программист

🐸Библиотека devops'a #развлекалово
Please open Telegram to view this post
VIEW IN TELEGRAM
🧩 Эмодзи-ребус

Сегодня мы загадали то, что мы проводим не так часто. Что изображено на картинке? Пишите догадки в комментариях 👇

🐸Библиотека devops'a #междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🗞 События недели

Краткий дайджест материалов, которые вы могли не заметить.

Безопасность приложений — теперь задача всей команды

Docker подчеркивает, что безопасность в разработке приложений больше не является задачей только специалистов по безопасности.

Согласно результатам опроса более 4 500 профессионалов, 99% организаций считают безопасность важной, и лишь 1% утверждают, что это не их приоритет.

Как начать с OpenShift Virtualization

В блоге Red Hat показали практические советы от технических лидеров, успешно внедривших OpenShift Virtualization

Совместимость образов в облачных нативных средах

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

🐸Библиотека devops'a #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
Какой из следующих способов является допустимым для предоставления сервиса в Kubernetes?

👾
— kind: Service
spec:
type: ClusterIP

👍 — kind: Service
spec:
type: NodePort

🥰 — kind: Service
spec:
type: LoadBalancer

— Все вышеперечисленные

Библиотека задач по DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
💃 Топ-вакансий для девопсов за неделю

DevOps-инженер — от 100 000 ₽, гибрид (Москва)

DevOps Database Engineer — от 300 000 ₽, удалёнка.

DevOps-инженер — от 220 000 ₽, гибрид (Москва)

Team Lead — от 350 000 ₽, гибрид (Москва)

Senior DevOps Engineer (Part-Time) — удалёнка.

Бустер — Офис у вас дома.

➡️ Еще больше вакансий — в нашем канале Вакансии по DevOps & SRE
Please open Telegram to view this post
VIEW IN TELEGRAM
🎮 Управление событиями и автоматизация с помощью AWS Lambda

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

Решение: в книге «Serverless Development on AWS: Building Enterprise-Scale Serverless Solutions» автор объясняет, как эффективно использовать AWS Lambda и EventBridge для обработки и маршрутизации событий в серверлесс-архитектурах.

Пример кода:
exports.handler = async (event) => {
console.log("Received event:", JSON.stringify(event, null, 2));
// Обработка события и выполнение действий
if (event.detailType === "UserSignup") {
await processNewUser(event.detail);
}
};

async function processNewUser(userData) {
console.log(`Processing new user: ${userData.name}`);
// Логика обработки данных пользователя
}

// Пример события для отправки в EventBridge
{
"Source": "com.mycompany.myapp",
"DetailType": "UserSignup",
"Detail": "{\"name\": \"John Doe\", \"email\": \"[email protected]\"}",
"EventBusName": "default"
}


Преимущества:


— Автоматическая обработка событий в реальном времени без необходимости постоянного опроса.
— Легкость масштабирования за счет использования AWS Lambda для обработки увеличивающихся потоков данных.
— Простой и удобный способ интеграции с другими сервисами AWS, такими как S3, DynamoDB, и другими через EventBridge.

➡️ Лучшее из мира IT-книг — у нас в @progbook
Please open Telegram to view this post
VIEW IN TELEGRAM
💰 Как RFID-метки сокращают траты

НЛМК отказался от ручного отслеживания ковшей с расплавленным чугуном и оснастил каждый ковш жаростойкими RFID-метками.

В статье главный специалист по цифровизации рассказал как из-за этого снизились простои и повысилась прозрачность производства.

➡️ Читать статью

🐸Библиотека devops'a
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Последняя неделя перед стартом курса по AI-агентам

Старт курса уже 5го числа! Если вы планировали вписаться — сейчас ПОСЛЕДНИЙ шанс забронировать место

На курсе:
разложим LLM по косточкам: токенизация, SFT, PEFT, инференс
— соберём RAG и научимся оценивать его адекватно
— построим настоящую мультиагентную систему — архитектуру, которая умеет расти
— разберём CoPilot, сломаем через prompt injection (спасибо Максу)
— и наконец, посмотрим, как это работает в MCP и реальных кейсах

📍 Это 5 живых вебинаров + раздатка + домашки + чат с преподавателями

И главное — возможность реально разобраться, как проектировать системы на LLM, а не просто «поиграться с API»

👉 Курс здесь
💻 Чек-лист по бэкапам и восстановлению после сбоев

Составили для вас профессиональный чек-лист из 10 ключевых пунктов, который поможет организовать надёжные резервные копии и отработать процесс восстановления.

Определите RPO и RTO

• RPO (Recovery Point Objective) — максимально допустимый объём данных, который может быть потерян.

• RTO (Recovery Time Objective) — максимальное время простоя системы после сбоя.

Инвентаризация данных и систем

• Выявите критичные компоненты (БД, файловые хранилища, конфигурации).

• Определите приоритеты их восстановления.

Выбор стратегии резервного копирования

• Полные бэкапы (full backups) — создают копию всей системы.

• Инкрементальные (incremental) — сохраняют только изменения после последнего бэкапа.

• Дифференциальные (differential) — сохраняют изменения после последнего полного бэкапа.

Автоматизация процесса

• Настройте периодические задачи (cron, Scheduled Tasks, облачные функции).

• Используйте инструменты: AWS Backup, Azure Backup, Borg, Restic, Velero.

Размещение копий в гео-разных локациях

• Храните хотя бы одну копию off-site (другой регион облака или физический ЦОД).

• Избегайте единой точки отказа.

Шифрование и контроль доступа

• Шифруйте копии на уровне клиента или сервера (AES-256/GCM).

• Разграничьте права доступа к хранилищам бэкапов (IAM-роли, политики).

Управление версионированием и удержанием

• Определите период хранения (например, 7 дней ежедневных, 4 недельных, 12 месячных копий).

• Автоматически удаляйте устаревшие версии.

Тестирование восстановления

• Регулярно запускайте «учения» по восстановлению: проверяйте, что бэкап можно развернуть и данные целы.

• Документируйте шаги и время выполнения.

Мониторинг и алертинг

• Настройте оповещения о неудачных или пропущенных бэкапах (Email, Slack, PagerDuty).

• Собирайте метрики выполнения (длительность, объём данных, ошибки).

Документация и процедуры на случай инцидента

• Опишите пошаговые инструкции для команды: где найти бэкапы, как инициировать восстановление, контактные лица.

• Храните документацию в доступном месте (вики, Confluence, Git).

🐸Библиотека devops'a #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🧠 «Поиграйся с LLM, почитай про агентов — и сам поймёшь, как это работает»

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

Поиграйся — это как?
Потыкать пару промптов в ChatGPT и решить, что теперь ты можешь строить мультиагентные системы? 🤡 Ну-ну.

AI-агенты — это не «очередная обёртка над GPT». Это архитектура. Состояния, инструменты, цепочки вызовов, память, оценка качества и адекватность поведения.

➡️ Чтобы разобраться, нужно:
— понимать, как устроен LLM под капотом
— уметь подключать внешние данные (RAG, retrievers, rerankers)
— уметь масштабировать и дебажить поведение агентов
— разбираться в фреймворках вроде AutoGen, CrewAI, LangChain
— знать, как всё это тащится в прод

Если вы реально хотите не «поиграться», а научиться собирать рабочие агентные системы — у нас стартует курс по разработке ИИ-агентов 5го июля

P.S: не упусти свой шанс, промокод: LASTCALL на 10.000₽
👀 База по Git

12-минутное практическое введение в Git для DevOps-инженеров: основы и приёмы работы с системой контроля версий, начиная с инициализации репозитория и заканчивая публикацией изменений на удалённом сервере.

➡️ Смотреть видео

🐸Библиотека devops'a #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/07/07 19:51:35
Back to Top
HTML Embed Code: