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
Как эффективно масштабировать микросервисы с помощью контейнеров и Kubernetes на Go

Микросервисная архитектура — мощный подход к созданию масштабируемых и поддерживаемых приложений. Но по мере увеличения числа сервисов растёт и сложность управления ими. Использование контейнеров (например, Docker) в сочетании с Kubernetes позволяет упростить масштабирование, деплой и мониторинг микросервисов.

🔹 Почему Go?

Go (или Golang) отлично подходит для микросервисов:

- высокая производительность,
- быстрая компиляция,
- встроенная поддержка параллелизма,
- простота разработки и читаемость кода.

🔹 Контейнеризация микросервисов

Контейнеры позволяют упаковать приложение со всеми зависимостями в один изолированный образ. Для каждого микросервиса создается Docker-образ, который можно запускать на любой системе с Docker.

Пример Dockerfile для Go-сервиса:


FROM golang:1.20 AS builder
WORKDIR /app
COPY . .
RUN go build -o service

FROM alpine:latest
WORKDIR /root/
COPY --from=builder /app/service .
CMD ["./service"]


Этот подход позволяет минимизировать размер финального контейнера и ускорить запуск.

🔹 Оркестрация с помощью Kubernetes

Kubernetes управляет развертыванием и масштабированием контейнеров. Каждый микросервис разворачивается как Pod, а Deployment следит за его доступностью и масштабируемостью.

Пример Deployment для Go-сервиса:


apiVersion: apps/v1
kind: Deployment
metadata:
name: go-service
spec:
replicas: 3
selector:
matchLabels:
app: go-service
template:
metadata:
labels:
app: go-service
spec:
containers:
- name: go-service
image: your-repo/go-service:latest
ports:
- containerPort: 8080


Это создаёт три реплики сервиса, балансируя нагрузку между ними.

🔹 Сервис-дискавери и балансировка

Kubernetes автоматически предоставляет DNS и IP для взаимодействия между сервисами. Компонент Service в Kubernetes позволяет направлять трафик к нужным Pod'ам и осуществлять балансировку.

🔹 Мониторинг и масштабирование

Интеграция с Prometheus и Grafana обеспечивает мониторинг метрик. Kubernetes также позволяет настраивать автоматическое масштабирование (HPA) в зависимости от загрузки CPU или других метрик.

Пример HPA:


apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: go-service-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: go-service
minReplicas: 2
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70



https://blog.stackademic.com/how-to-effectively-scale-microservices-using-containers-and-kubernetes-on-go-1fb05fccb089


#devops #девопс

Подпишись 👉@i_DevOps
👍5
🧪 K8E — это форк проекта K3s, предназначенный для локального тестирования.
Он не требует root-доступа и не использует systemd.
Также вы можете легко собрать и запустить его без сетевого подключения (air-gap режим).

Основные особенности:
- Без root-доступа
- Без systemd
- Один бинарник
- Простой запуск кластера: k8e server &
- Не требует внешней сети
- Поддерживает полностью автономную сборку

Если вы когда-либо хотели поднять Kubernetes-кластер за пару секунд и без привилегий — этот инструмент идеально подойдёт для тестов и локальной разработки.

https://github.com/xiaods/k8e

#devops #девопс

Подпишись 👉@i_DevOps
👍6
Как войти в ELITный клуб?

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

📌 10 апреля в 12:00, онлайн. Требуется регистрация.

На вебинаре вы узнаете:

🔸 почему именно мы говорим об эффективности в области DevOps;
🔸 в чём различия между low- и elite-перформерами;
🔸 как мы определяем лучшие DevOps-практики, которые применяют наиболее эффективные команды;
🔸 как сделать ваш DevOps эффективнее.

🎁 Участники вебинара смогут получить скидку на анализ этапов SDLC в вашей компании, чтобы построить роадмап по улучшению DevOps-практик.

Зарегистрироваться
👍2🐳1
Как вам такой системник ?

Подписывайтесь на канал 👉@tipsysdmin
🔥82👍2🥴2
Собрал основные концепции Docker в одну диаграмму

#devops #девопс

Подпишись 👉@i_DevOps
👍6
📐Основы Kubernetes: архитектура и абстракции

Как устроен Kubernetes и почему он стал стандартом для управления контейнерами?

Что разберемся на занятии:

1. Ключевые компоненты Kubernetes: контейнеры, поды, ноды, сервисы и их взаимодействие.
2. Как в Kubernetes происходит развертывание и управление микросервисами.
3. Принципы масштабируемости, отказоустойчивости и безопасности в Kubernetes.
4. Реальные кейсы использования Kubernetes для DevOps и архитекторов.

Что получится после урока?


• Фундаментальное понимание структуры Kubernetes и его ключевых абстракций.
• Навыки работы с необычными объектами для развертывания и масштабирования приложений.
• Практические знания, которые можно сразу применить в работе.

👉 Регистрация и подробности о курсе "Инфраструктурная платформа на основе Kubernetes": https://vk.cc/cKzfot

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍2
Media is too big
VIEW IN TELEGRAM
Kubernetes Crash Course for Absolute Beginners

0:00 - Intro and Course Overview
1:44 - What is Kubernetes
4:33 - Kubernetes Architecture
9:29 - Node and Pod
8:58 - Main K8s Components
09:29 - Node & Pod
12:19 - Service & Ingress
14:31 - ConfigMap & Secret
17:52 - Volume
19:46 - Deployment & StatefulSet
26:28 - Kubernetes Configuration
32:39 - Minikube and Kubectl - Setup K8s cluster locally
41:17 - Complete Demo Project: Deploy WebApp with MongoDB
1:05:40 - Interacting with Kubernetes Cluster
1:11:03 - Congrats! You made it to the end 🎉

источник

#devops #девопс

Подпишись 👉@i_DevOps
👍4
🔗 Sync vs Async: Какой способ связи выбрать для микросервисов? 🚀

Как микросервисы должны общаться друг с другом? Синхронно через REST/gRPC или асинхронно через Kafka/RabbitMQ?
Разбираемся, какой подход выбрать для устойчивой и масштабируемой системы!

📅 10 апреля в 20:00
🎓 Открытый вебинар с Олегом Голенищевым

💡 Что разберём?
В чём разница между синхронным и асинхронным взаимодействием
Как выбрать правильный способ связи для вашего приложения
Преимущества и ограничения REST, gRPC, Kafka, RabbitMQ
Как правильно строить надёжные и отказоустойчивые микросервисы

🎯 Что получите?
✔️ Чёткое понимание, когда использовать Sync, а когда Async
✔️ Методы повышения производительности и отказоустойчивости
✔️ Практические решения для интеграции синхронных и асинхронных вызовов

Регистрируйтесь, чтобы разобраться в лучшем способе связи микросервисов!

👉 Регистрируйтесь по ссылке: https://vk.cc/cKzpCZ

Бесплатное занятие приурочено к старту курса Microservice Architecture, обучение на котором позволит освоить микросервисы: Docker, Kafka, API и стать мастером производительных систем.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Media is too big
VIEW IN TELEGRAM
Zed — это высокопроизводительный текстовый редактор, ориентированный на разработчиков. Он написан на Rust и использует пользовательский движок рендеринга на базе GPU для достижения минимальных задержек. Архитектура Zed основана на многопоточности и асинхронности, что позволяет редактору эффективно использовать ресурсы современных многоядерных систем.

Редактор также разрабатывается с упором на совместную работу в реальном времени: Zed предлагает встроенные функции для коллаборации между разработчиками — от редактирования кода до видеозвонков. Это делает его особенно удобным для удалённых команд.

Среди особенностей:
- Мгновенный отклик и плавная анимация благодаря GPU-рендерингу
- Полноценная поддержка нескольких курсоров и мощное автодополнение
- Интеграция с языковыми серверами (LSP)
- Глубокая коллаборативность: совместное редактирование, общие терминалы, голос и видео


https://github.com/zed-industries/zed

#devops #девопс

Подпишись 👉@i_DevOps
👍41
Media is too big
VIEW IN TELEGRAM
Путь в DevOps: полное руководство для новичков с НУЛЯ - 2025

00:00 - Вступление
00:14 - Всевозможные компетенции DevOps Инженера
00:44 - Кому проще стать DevOps Инженером
02:29 - Что учить по минимуму и в каком порядке
10:27 - 1. Основы Networking TCP/IP
11:46 - 2. Администрирование Windows
12:38 - 3. Основы Linux
13:28 - 4. Ansible
13:56 - 5. Git
14:26 - 6. GitHub
14:52 - 7. CI/CD: GitHub Actions, GitLab CI/CD
15:29 - 8. Docker + DockerHub
16:16 - 9. Kubernetes + Helm + ArgoCD
17:04 - 10. AWS: Amazon Web Services
19:12 - 10. GCP: Google Cloud Platform
20:27 - 10. Azure: Microsoft Azure
21:38 - 11. Terraform + Terragrunt
22:42 - 12. Python
23:09 - Как стать профессиональным DevOps Ннженером
24:37 - Девопс это хорошее будущее вашей карьеры

источник

#devops #девопс

Подпишись 👉@i_DevOps
👍61🔥1
#devops #девопс

Подпишись 👉@i_DevOps
🔥14💯8👍1
🛠 Patroni + PostgreSQL: как обеспечить высокую доступность?

Когда база данных — это сердце системы, её отказ может стоить дорого. Как сделать PostgreSQL отказоустойчивым и управляемым? Решение есть — Patroni!

📅 14 апреля в 20:00 (мск)
🎓 Открытый вебинар с Сергеем Кирьяковым

💡 Что разберём?
Как работает Patroni и зачем он нужен для PostgreSQL
Основные компоненты и архитектуру Patroni
Как правильно настроить и конфигурировать Patroni
Практические примеры управления кластером PostgreSQL
Оптимизация, мониторинг и лучшие практики работы

🎯 Что получите?
✔️ Понимание работы Patroni и его роли в HA-кластерах PostgreSQL
✔️ Готовые практические решения по настройке и оптимизации
✔️ Навыки мониторинга и управления отказоустойчивыми базами

Присоединяйтесь и узнайте, как обеспечить PostgreSQL надёжностью!

👉 Регистрируйтесь по ссылке: https://vk.cc/cKCWji

Бесплатное занятие приурочено к старту курса Highload Architect, обучение на котором позволит освоить решения, которые выдерживают большое количество запросов в секунду и правильно оптимизировать работоспособность серверов.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Каким образом мы можем управлять вычислительными ресурсами в k8s?

Для эффективного управления ресурсами в кластере k8s используются resources requests / limits. Они могут быть настроены для CPU, памяти и, в последних версиях k8s, для GPU.

Requests используются для определения типичного потребления ресурсов нашим приложением. На основе этих данных Kubernetes scheduler выбирает ноды для запуска PODов (сумма всех request'ов контейнеров во всех PODах не должна превышать доступные ресурсы на ноде).

Limits служат как механизм предотвращения, ограничивая потребление ресурсов контейнером в PODе. При превышении лимита процессорного времени применяется thermal throttling, а при превышении лимита памяти — механизм OOM.

Модель, при которой requests меньше limits, называется burstable QoS, а когда requests равны limits — guaranteed QoS.

Кроме того, можно установить квоты ресурсов на namespace (CPU, память, количество запущенных PODов, размер диска persistent volume) и указать требования к resources requests на PODах в namespace с помощью limit ranges.

Для управления ресурсами приложений также можно использовать автоскейлеры. В k8s доступны HPA (horizontal pod autoscaler), который регулирует количество PODов в зависимости от потребления CPU и/или памяти, и VPA (vertical pod autoscaler), который управляет resources requests / limits.

Существуют также реализации автоскейлеров, которые могут использовать внешние метрики (например, длину очереди), такие как carpenter или KEDA. В облачном окружении можно использовать cluster autoscaler для добавления или удаления нод в зависимости от общей загрузки кластера.

#devops #девопс

Подпишись 👉@i_DevOps
👍2
13 законов разработки ПО

Некоторые из них хорошо известны, другие — достаточно нишевые. Но все они очень полезны разработчикам и менеджерам. Любопытно, какие из них вам известны:

Закон Паркинсона.
Закон Хофштадтера.
Закон Брукса.
Закон Конвея (и обратный закон Конвея).
Закон Каннингема.
Закон Старджона.
Закон Завински.
Закон Хайрама.
Закон Прайса.
Эффект Рингельмана.
Закон Гудхарта.
Закон Гилба.
Закон Мёрфи.

https://habr.com/ru/companies/ruvds/articles/898254/

#devops #девопс

Подпишись 👉@i_DevOps
👍5
Хотите автоматизировать развертывание приложений?

ArgoCD — мощный инструмент GitOps для управления Kubernetes.

На открытом вебинаре 15 апреля в 20:00 мск разберем его ключевые принципы, установку и настройку, а также развернем приложение на практике.

Вы узнаете, как интегрировать ArgoCD в CI/CD, оптимизировать деплой и упростить управление инфраструктурой. Навыки, которые пригодятся каждому DevOps-инженеру.

Регистрируйтесь и получите гарантированную скидку на курс «GitOps»:
https://vk.cc/cKDBl1

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🛠Построение CI/CD-фреймворка MLOps уровня Enterprise (MLflow + Kubeflow)

Разработка MLOps-фреймворка в масштабах предприятия — непростая задача. Она требует интеграции множества компонентов: обработки данных, экспериментов, мониторинга и CI/CD. В этом посте рассказывается, как объединить MLflow, Kubeflow, Seldon Core, GitHub Actions и другие инструменты для построения полноценного MLOps-пайплайна.

Архитектура

Архитектура построена на:

- MLflow — для логирования и управления экспериментами
- Kubeflow Pipelines — для оркестрации пайплайнов
- Seldon Core — для деплоя моделей в Kubernetes
- MinIO — объектное хранилище для артефактов
- GitHub Actions — для CI/CD
- Prometheus + Grafana — мониторинг моделей

Компоненты развернуты в Kubernetes-кластере с использованием Helm.

Поток разработки

1. Подготовка данных — скрипты ETL обрабатывают сырые данные и сохраняют в MinIO.
2. Обучение модели — тренинг происходит в Kubeflow, результаты логируются в MLflow.
3. Тестирование и валидация — автоматизированные проверки модели.
4. CI/CD — GitHub Actions запускает пайплайны при изменении кода или модели.
5. Деплой — модель деплоится через Seldon Core, становится доступной по REST/gRPC.
6. Мониторинг — метрики поступают в Prometheus и отображаются в Grafana.

Преимущества подхода

- Реплицируемость и трассировка экспериментов
- Централизованное хранилище артефактов
- Автоматизация развёртывания моделей
- Мониторинг производительности и дрифта

Заключение

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

https://rkmaven.medium.com/building-an-enterprise-level-mlops-ci-cd-framework-mlflow-kubeflow-fb1cdd1f74fc

#devops #девопс

Подпишись 👉@i_DevOps
👍7
💡 Лучшие практики работы с Helm: что нужно знать

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

📦 1. Структура директорий чарта
Соблюдайте стандартную структуру чарта Helm:

mychart/
charts/
templates/
values.yaml
Chart.yaml
README.md

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

🧩 2. Разделяйте общие шаблоны
Используйте _helpers.tpl для определения общих шаблонов, таких как аннотации, метки и имена ресурсов. Это снижает дублирование и упрощает сопровождение:


{{/* Генерация полного имени */}}
{{- define "mychart.fullname" -}}
{{- printf "%s-%s" .Release.Name .Chart.Name | trunc 63 | trimSuffix "-" -}}
{{- end -}}


⚙️ 3. Используйте параметры в values.yaml
Делайте чарты гибкими, передавая конфигурации через values.yaml. Никогда не хардкодьте значения в шаблонах.

🧪 4. Валидация values.yaml
Добавляйте проверку обязательных значений с помощью required:

{{ required "Variable mychart.image.repository is required" .Values.image.repository }}


🔍 5. Используйте шаблоны if/else разумно
Старайтесь не перегружать шаблоны логикой. Разделяйте шаблоны на несколько файлов, если они становятся слишком сложными.

🗃️ 6. Не добавляйте чарт в шаблон напрямую
Вместо включения зависимостей в директорию charts/, указывайте их в Chart.yaml и используйте helm dependency update.

🛑 7. Не хардкодьте версии образов
Передавайте версию через values.yaml. Это повышает гибкость CI/CD:

image:
repository: nginx
tag: "1.21.1"


🔒 8. Управление чувствительными данными
Не храните пароли и токены в values.yaml. Используйте секреты Kubernetes или инструменты типа Sealed Secrets или External Secrets.

🔁 9. Helm hooks
Helm предоставляет хуки для выполнения задач до/после установки. Используйте их, например, для миграций БД. Пример:

annotations:
"helm.sh/hook": pre-install


🧹 10. Чистка старых релизов
Используйте helm uninstall и регулярно проверяйте статус релизов с помощью helm list. Это помогает избегать конфликта имён и мусора.

🧪 11. Тестирование чарта
Добавляйте unit-тесты с помощью helm unittest и не забывайте про проверку синтаксиса:

helm lint .


🔄 12. Автоматизация через CI/CD
Интегрируйте Helm в пайплайны CI/CD для установки и обновления чартов — например, с помощью GitLab CI, GitHub Actions, ArgoCD или Flux.


Придерживайтесь этих рекомендаций — и работа с Helm станет надёжной, устойчивой и более предсказуемой. Это особенно важно при масштабировании инфраструктуры и работе в команде.

#devops #девопс

Подпишись 👉@i_DevOps
👍7🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Блокировка состояния Terraform с использованием S3 (без DynamoDB)

В этом посте мы рассмотрим:

- Зачем нужна блокировка состояния Terraform
- Блокировка состояния с помощью DynamoDB
- Блокировка состояния только с использованием S3, без DynamoDB
- Когда стоит использовать DynamoDB
- Когда можно обойтись только S3
- Лучшие практики хранения state-файлов в S3

https://devopscube.com/terraform-state-locking-with-s3/

#devops #девопс

Подпишись 👉@i_DevOps
5👍2
infosec - это один из самых ламповых каналов по информационной безопасности, где говорят об истории ИТ, публикуют актуальные новости и пишут технический материал на разные темы:

- Что из себя представляет официально взломанный iPhone от Apple?
- Кому и для чего выдавалось разрешение на ношение сотового телефона?
- Бесплатные курсы для ИБ специалистов на различные темы;
- Бесплатный бот, который проверит файлы на предмет угроз более чем 70 антивирусами одновременно.

Присоединяйся, у нас интересно: @it_secur
👍1
Проект heynote — это минималистичное CLI-приложение для создания и хранения заметок прямо из терминала. Он позволяет быстро фиксировать мысли или команды без необходимости переключаться на редактор или веб-интерфейс.

📌 Особенности:
- Хранит заметки в простом .txt-файле.
- Поддерживает добавление тегов (`#`) и отметок времени.
- Удобная фильтрация заметок по ключевым словам или датам.
- Возможность настройки пути к файлу хранения.

Пример использования:

heynote "Перезапустить nginx #devops"

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

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

https://github.com/heyman/heynote

#devops #девопс

Подпишись 👉@i_DevOps
👍3
🚀 Подпишись и прокачай свои скилы: лучшие каналы для IT-специалистов 👨‍💻📲

Папка с каналами для DevOps, Linux - Windows СисАдминов 👍

Папка с каналами для 1С программистов 🧑‍💻

Папка с каналами для C++ программистов 👩‍💻

Папка с каналами для Python программистов 👩‍💻

Папка с каналами для Java программистов 🖥

Папка с книгами для программистов 📚

Папка для программистов (frontend, backend, iOS, Android) 💻


GitHub Сообщество 🧑‍💻
https://news.1rj.ru/str/Githublib Интересное из GitHub

Базы данных (Data Base) 🖥
https://news.1rj.ru/str/database_info Все про базы данных


Разработка игр 📱
https://news.1rj.ru/str/game_devv Все о разработке игр

БигДата, машинное обучение 🖥
https://news.1rj.ru/str/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning


QA, тестирование 🖥
https://news.1rj.ru/str/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://news.1rj.ru/str/itumor Шутки программистов

Защита, взлом, безопасность 💻
https://news.1rj.ru/str/thehaking Канал о кибербезопасности
https://news.1rj.ru/str/xakep_2 Хакер Free

Книги, статьи для дизайнеров 🎨
https://news.1rj.ru/str/ux_web Статьи, книги для дизайнеров

Математика 🧮
https://news.1rj.ru/str/Pomatematike Канал по математике
https://news.1rj.ru/str/phis_mat Обучающие видео, книги по Физике и Математике

Excel лайфхак🙃
https://news.1rj.ru/str/Excel_lifehack

Технологии 🖥
https://news.1rj.ru/str/tikon_1 Новости высоких технологий, науки и техники💡
https://news.1rj.ru/str/mir_teh Мир технологий (Technology World)

Вакансии 💰
https://news.1rj.ru/str/sysadmin_rabota Системный Администратор
https://news.1rj.ru/str/progjob Вакансии в IT
https://news.1rj.ru/str/rabota1C_rus Вакансии для программистов 1С
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2