DevOps – Telegram
DevOps
8.46K subscribers
1.47K photos
809 videos
28 files
1.74K links
Docker, Kubernetes, облачные сервисы (AWS, GCP, Azure), Infrastructure as a Code (Terraform, CloudFormation), администрирование Windows и Linux, сети TCP, IP, скрипты (Bash, PowerShell), Ansible, Jenkins, DevSecOps, логирование. По вопросам @evgenycarter
Download Telegram
🚀 Открой для себя идеальный путь к лидерству с карьерным тестом от ОЭЗ «Алабуга»! 🌟

Мечтаете о карьере в крупной компании, где ваш потенциал раскроется на полную? Наш тест поможет вам определить вашу уникальную лидерскую роль. Может быть, именно вы станете тем лидером, который выведет команду на новый уровень?

После прохождения теста вы можете заполнить заявку и получить приглашение на эксклюзивную лидерскую программу. Участие в программе открывает реальные перспективы трудоустройства в ОЭЗ «Алабуга», предоставляя шанс начать путь к профессиональному признанию.

Сделайте первый шаг к своему будущему сегодня! Пройдите тест, подайте заявку и начните строить свою карьеру вместе с нами. 🎯
11👎1🔥1
Распределённый инференс и шардирование LLM. Часть 2: скрипт vLLM, Ray Serve для вывода API и настройка KubeRay Cluster

Часть 1

Продолжаем пошагово разбираться с ответом на вопрос о том, как эффективно работать с передовыми LLM, используя доступное оборудование и распределённые вычисления.

В первой части статьи мы подготовили всё необходимое для развёртывания распределённого инференса с Ray Serve и vLLM. Сегодня этим и займёмся. Мы напишем скрипт vLLM, используем Ray Serve, чтобы предоставить внешний HTTP API, а также настроим KubeRay Cluster и развернём в нём Gemma 3.

https://habr.com/ru/companies/flant/articles/906702/

#devops #девопс

Подпишись 👉@i_DevOps
👍4
Централизованный vs Децентрализованный ArgoCD

Разворачивая в Kuberentes ArgoCD есть 2 подхода, которые можно использовать, если у вас в контуре несколько кластеров Kubernetes, развертывания в которых неободимо с помощью ArgoCD:

Централизированный. Когда в одном Kubernetes разворачивается один ArgoCD и к нему подключаются все доступные кластера Kuberentes.

Децентрализованный. Когда в каждом Kuberentes’e разворачивается свой персональный ArgoCD, который занимается деплоем в этот Kuberentes.

Разберём плюсы и минусы каждого подхода.

Централизированный ArgoCD

Плюсы:
1️⃣ Единый интерфейс. Можно быстро отсортировать проблемные компоненты и понять причину ошибки.

2️⃣ Мощные CRD ApplicationSets (документация). Позволяют описать один компонент и разом раскатить его на все подключённые кластеры.

3️⃣ Удобное обновление ArgoCD. Достаточно обновить в одном месте, и оно сразу применяется ко всем кластерам.


Минусы:
1️⃣ Сетевые сложности. ArgoCD должен иметь доступ к kube-apiserver всех кластеров. Соответственно нужно продумать маршруты до этих API и защитить их.

2️⃣ Единая точка отказа и уязвимость. Если ArgoCD падает, управление всеми кластерами временно недоступно. Слабое место с точки зрения безопасности. Особенно опасно, если подключать кластеры с Cluster-Admin правами (что все и делают).


Децентрализированный ArgoCD

Плюсы:
1️⃣ Полная автономность кластеров. Каждый кластер полностью управляется своим ArgoCD. Если один ArgoCD сломается, это не повлияет на другие кластеры.

2️⃣ Упрощённая безопасность. Нет необходимости прокидывать сетевые доступы к kube-apiserver из централизованного ArgoCD.

3️⃣ Гибкость в настройке. Можно кастомизировать ArgoCD под конкретный кластер. Удобно для multi-tenant окружений, где каждый проект или команда живут в отдельный Kuberentes кластерах и управляет своим ArgoCD.

Минусы:
1️⃣ Больше инфраструктуры и поддержки. Нужно поддерживать N независимых ArgoCD-инсталляций. Дополнительная нагрузка на команду DevOps.

2️⃣ Отсутствие единого интерфейса. Придётся заходить в каждый ArgoCD по отдельности, чтобы мониторить состояние. (Решается мониторингом). Если нужно что-то обновить во всех кластерах, придётся делать это вручную или автоматизировать через внешние инструменты (еще один ArgoCD?).

3️⃣ Сложность в управлении глобальными компонентами. Например, если нужно одновременно обновить общий Helm-чарт во всех кластерах, придётся либо использовать внешние механизмы (типа CI/CD), либо делать это вручную.


🎯 Какой вариант выбрать?

Много кластеров (10+) → Централизованный ArgoCD, но с HA и жёсткими мерами безопасности.

Изолированные кластеры (air-gapped, private) → Локальный ArgoCD в каждом кластере.

Нужна гибкость в управлении → Децентрализованный вариант.

Важно минимизировать затраты на инфраструктуру → Централизованный ArgoCD.

#devops #девопс

Подпишись 👉@i_DevOps
👍4💅2
Хотите перестать тратить часы на рутинные задачи сборки релизов 1С и автоматизировать весь процесс одним нажатием?

На открытом вебинаре 21 мая в 20:00 МСК вы узнаете, как использовать Docker, Jenkins и OneScript для автоматизации сборки релизов 1С. Разберёмся с настройкой окружения контейнера и запуском конфигурации напрямую из репозитория.

После урока вы сократите время на сборку и получите навыки для профессионального роста как DevOps-инженер 1С.

🚀 Присоединяйтесь к открытому вебинару и получите специальную скидку на курс «DevOps 1С»: https://vk.cc/cLX1pz

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2
Radius — это платформенный уровень с открытым исходным кодом, предназначенный для облачных приложений. Он помогает разработчикам и операционным командам сосредоточиться на разработке и сопровождении приложений, а не на управлении инфраструктурой.

Radius предоставляет:

* Единый опыт разработки для приложений, развертываемых в разных облаках и средах.
* Поддержку нескольких облаков и Kubernetes.
* Интеграции с популярными инструментами, такими как Terraform, Bicep, Helm и другие.
* Ресурсы приложений и вычислений, включая службы, базы данных, кэш, очереди и т. д.
* Безопасность и сетевые политики, управляемые централизованно.

https://github.com/radius-project/radius

#devops #девопс

Подпишись 👉@i_DevOps
👍2
🏎💨Не позволяйте вашим приложениям терять скорость! Обрабатывайте задачи эффективно с FastAPI.

Узнайте, как фоновые задачи могут повысить отзывчивость вашего приложения.

Освойте FastAPI и научитесь улучшать производительность приложений. Повышение скорости ответа и снижение нагрузки — это реально.

⚡️Присоединяйтесь к открытому вебинару 20 мая в 20:00 мск и получите скидку на большое обучение «Python Developer. Basic»: https://vk.cc/cLX2tL

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🔧 Про grep, который умеет больше, чем ты думаешь

Все знают grep как утилиту “найди мне это слово в этих логах”. Но давай копнём глубже — вот тебе пара трюков, которые удивят даже видавшего виды девопса:


📍 Ищем с контекстом
Хочешь не просто строку, а и то, что рядом?


grep -C 3 "ошибка" /var/log/syslog


Покажет 3 строки до и после найденной.


📍 Ищем по слову, а не по вхождению
Не хочешь ловить ошибка, если в логе есть предошибкака?


grep -w "ошибка" файл.log


Совпадение только по целому слову.


📍 Списки IP-шников? Без проблем.
Вытаскиваем IPv4 из текста:


grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' лог.txt



📍 Ищем рекурсивно, но только в файлах
Искать по директории, пропуская бинарники и показывая имя файла:


grep -rIn --exclude-dir={.git,node_modules} "TODO" .



📍 Цвет для глаз
Визуально быстрее цепляться за результат:


grep --color=auto "fail" журнал.log



Если ты думаешь, что grep — это просто "найди слово", то, возможно, ты не используешь весь его потенциал. А зря 😉

#devops #девопс

Подпишись 👉@i_DevOps
👍141
Когда Kubernetes и Go не очень хорошо работают вместе

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

https://lalatron.hashnode.dev/when-kubernetes-and-go-dont-work-well-together

#devops #девопс

Подпишись 👉@i_DevOps
👍4
Хакатон «ВНЕДРЕЙД» от Orion soft собирает 300 сильнейших представителей ИТ-касты, готовых штурмовать инфру Т‑Банка, Авито, Lamoda, CDEK и Magnit Tech.

48 часов кода, драйва и никаких ограничений. После 22:00 карета превращается в тыкву, а внедрейд во внедрейв: темные окна, светлые головы и вечно горячий роутер.

Когда? 7-8 июня
Где? Москва, «Суперметалл»
Приз — экспедиция на Эльбрус для всей команды

Присоединяйся к штурму бигтеха: [Подать заявку]
👍6🔥1
Домашняя серверная для DevOps: установка GitLab + Let's Encrypt

Привет! Это Александр, DevOps инженер команд Страхования в Банки.ру.
Продолжаю серию статей про домашний сервер. В прошлых материалах я рассказал о выборе железа, сборке и настройке NAS и серверов для дома. В этой и последующих статьях опишу установку нужного софта в домашнюю серверную. Для этого вам, возможно, понадобится VPN на виртуальных машинах или на уровне всей домашней сети (у меня второй вариант).

Начать я бы хотел с установки GitLab. На данный момент у меня достаточно ресурсов, чтобы хостить GitLab и другие сервисы, которые использует DevOps-инженер. Но для чего мне нужен GitLab? Тут всё очень просто: в своей работе я использую подход Infrastructure as Code (IaC) — инфраструктура как код. При таком методе конфигурация инфраструктуры описана в файлах в репозитории, который хранит историю изменений.

В итоге из хранилища можно как развернуть нужный софт за считаные минуты, так и вспомнить, что мы коммитили в репозиторий. GitLab требованиям этого подхода отвечает. К тому же у платформы широкий функционал, который понадобится мне в будущем (CI/CD, например, или хранение terrafrom state в самом GitLab).

https://habr.com/ru/companies/banki/articles/909028/

#devops #девопс

Подпишись 👉@i_DevOps
👍53
Периодическая таблица инструментов DevSecOps

Независимо от того, начинаешь ли ты с нуля, устраняешь пробелы или заменяешь существующие инструменты, начни с Периодической таблицы, чтобы подобрать оптимальные решения для своей DevOps-пайплайна.

#devops #девопс

Подпишись 👉@i_DevOps
🔥42👍2
📕 Борьба с блокировками в PostgreSQL и MS SQL Server для администраторов баз данных, Data engineers, Backend и FullStack-разработчиков.

Как вести работу c PostgreSQL и MS SQL Server без конфликтов и дедлоков.

📗 На вебинаре 20 мая в 20:00 мск разберём:
1. Всё о различных типах блокировок и их механизмах, сходвстах и различиях;
2. Методы предотвращения и разрешения дедлоков;

📘 В результате на практике освоите написание SQL-кода, минимизирующего риски блокировок и дедлоков.

👉 Регистрация и подробности о курсе Базы данных: https://vk.cc/cM58tW

Все участники открытого урока получат скидку на курс "Базы данных"

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
😁2
Сложная оркестрация

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

https://habr.com/ru/articles/910422/

#devops #девопс

Подпишись 👉@i_DevOps
👍31
aws-network-policy-agent — это агент политики сети для Kubernetes, который обеспечивает реализацию Kubernetes NetworkPolicy на уровне VPC для Pod'ов в Amazon VPC Lattice. Он используется в сочетании с VPC Lattice integration for Amazon EKS.

Агент реализует политики сети Kubernetes, управляя исходящим трафиком Pod'ов через VPC Lattice Service Network, разрешая или блокируя соединения в соответствии с правилами, заданными в NetworkPolicy.

https://github.com/aws/aws-network-policy-agent

#devops #девопс

Подпишись 👉@i_DevOps
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
📥 Получено приглашение на Cloud․ru Tech Lab: DevOps

📅Когда: 22 мая в 18:00
📍Где: Москва, Гоэлро Лофт, м. Электрозаводская

В программе:
😶‍🌫️ClusterAPI как цель, Terraform как мост: управляем жизненным циклом платформы
Олег Одинцов, старший инженер платформы App.Farm РСХБ-Интех

😶‍🌫️Автомасштабирование K8s в ноль: от базы до хардкора
Илья Смирнов, архитектор решений Cloud․ru

😶‍🌫️Calico CNI: жизнь после запуска
Александр Качмашев, лидер круга «Инфраструктура для разработчиков» Точка

😶‍🌫️Как организовать сетевую связность Bare Metal Kubernetes
Антон Паус, DevOps-инженер Cloud․ru

Вечер завершится приятным afterparty c нетворкингом, легкими напитками и закусками.


🟢 Зарегистрироваться на митап
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
AList — это система для индексирования и управления файлами в облачном хранилище, предоставляющая веб-интерфейс и API. Поддерживает множество облачных хранилищ, таких как OneDrive, Google Drive, Dropbox, WebDAV и другие. Позволяет просматривать, скачивать и делиться файлами через веб-интерфейс без необходимости скачивать их на локальное устройство. AList написан на Go и легко разворачивается.

Основные возможности:

* Поддержка множества облачных хранилищ
* Удобный веб-интерфейс
* Гибкие настройки прав доступа
* REST API для интеграции
* Простота установки и настройки

https://github.com/AlistGo/alist

#devops #девопс

Подпишись 👉@i_DevOps
👍3
Docker Images for Frp Based on Alpine and Debian

(amd64, arm32v5, arm32v6, arm32v7, arm64v8, i386, mips64le, ppc64le,riscv64, s390x)

https://github.com/snowdreamtech/frp

#devops #девопс

Подпишись 👉@i_DevOps
👍1
Как микросервисы общаются между собой в Kubernetes?

Знание сетевого взаимодействия — ключ к эффективному управлению кластерами!

⏺️ На открытом уроке 28 мая в 20:00 МСК вы разберётесь с типами сервисов Kubernetes: ClusterIP, NodePort, ExternalService и LoadBalancer. Мы детально расскажем, как правильно настроить маршрутизацию трафика и обеспечить доступность сервисов как внутри, так и вне кластера.

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

Регистрация открыта: https://vk.cc/cM8B1x

Урок пройдет в преддверии старта курса «Инфраструктурная платформа на основе Kubernetes», участники получат скидку на обучение.

🎁 Промокод на доп.скидку на курс Kuber_06 , срок ограничен.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍3
Понимание динамического масштабирования ресурсов Kubernetes и ускорения CPU

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

Что такое динамическое масштабирование ресурсов?

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

Для этого Kubernetes использует такие инструменты, как:

* Vertical Pod Autoscaler (VPA) — автоматически регулирует запросы и лимиты ресурсов у подов.
* Horizontal Pod Autoscaler (HPA) — масштабирует количество подов в зависимости от метрик (например, загрузки CPU).

Что такое CPU Boost?

На уровне ядра Linux существует функция под названием CPU Boost (часто называемая Turbo Boost на процессорах Intel), которая позволяет временно увеличивать частоту CPU выше номинальной, если это необходимо.

Kubernetes позволяет использовать CPU Boost, но важно понимать, что:

* CPU boost не гарантируется, даже если ты укажешь высокий лимит CPU.
* Он может сработать, если:

* Контейнер запущен с Guaranteed QoS.
* У узла есть свободные ресурсы.
* Система не перегружена по температуре и энергопитанию.

Почему это важно?

Если твои приложения чувствительны к задержкам и требуют быстрой реакции (например, real-time обработка), то использование CPU Boost может дать кратковременное, но значительное улучшение производительности.

Но полагаться на него как на стабильную стратегию масштабирования не стоит — это больше бонус, чем гарантированный ресурс.

Практические рекомендации

1. Используй requests и limits с умом: слишком заниженные requests могут привести к throttling.
2. Настрой HPA и VPA, чтобы обеспечить гибкость и эффективность.
3. Не рассчитывай на CPU Boost как на основу производительности.
4. Мониторь реальные метрики и подстраивай конфигурации.


https://cloud.google.com/blog/products/containers-kubernetes/understanding-kubernetes-dynamic-resource-scaling-and-cpu-boost

#devops #девопс

Подпишись 👉@i_DevOps
👍42
Forwarded from Bash Советы
🔁 Как перезапускать сервис только если он завис?

Иногда не хочется перезапускать сервис "на всякий случай", но вот если он реально завис — другое дело. Вот простой способ проверять, активен ли сервис, и перезапускать его при зависании:


#!/bin/bash

SERVICE="nginx"

if ! systemctl is-active --quiet "$SERVICE"; then
echo "$(date): $SERVICE не активен, пробую перезапустить..." >> /var/log/service_monitor.log
systemctl restart "$SERVICE"
else
echo "$(date): $SERVICE работает нормально" >> /var/log/service_monitor.log
fi


🛠 Можно добавить в крон, например, проверку каждые 5 минут:


*/5 * * * * /usr/local/bin/check_nginx.sh


📁 Не забудь сделать скрипт исполняемым:


chmod +x /usr/local/bin/check_nginx.sh


💡 Можно заменить nginx на любой другой системный сервис.

👉@bash_srv
🥴53👍3👎2
Паттерны RESTful API. Как проектировать удобные, масштабируемые и гибкие API?

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

📌 На вебинаре вы узнаете:
– Какой уровень зрелости REST выбрать для вашего API?
– Что такое HATEOAS и когда он действительно полезен?
– Как использовать json-api и OData для работы с API?
– Как автоматически генерировать клиентские SDK и документацию с OpenAPI IDL?
– Лучшие практики проектирования RESTful API, которые помогут избежать ошибок и сделать API удобным для пользователей.

👉 Регистрация и подробности о курсе Highload Architect: https://vk.cc/cMaCa5

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru