DevOps Star (Звезда Девопса)
2.16K subscribers
233 photos
192 videos
19 files
284 links
Devops, Linux, SRE, Kubernetes, Сисадмин, Девопс, Python, JS, Java, Git, IT канал, программирование, безопасность, ИТ, Sysadmin

По всем вопросам @evgenycarter
Download Telegram
Шпаргалка по Kubernetes

👉 @devops_star
👍1
Андрей Бородин из Yandex Cloud вошел в топ-50 контрибьюторов PostgreSQL

Статус major contributor подтверждает вклад в развитие СУБД: ревью патчей, исправление ошибок, менторинг разработчиков и развитие инструментов экосистемы.

Что это значит?
Вхождение в число 52 главных контрибьюторов означает, что код и архитектурные решения разработчика становятся частью фундамента PostgreSQL — самой популярной opensource СУБД, которую используют 55,6% разработчиков БД согласно Stack Overflow 2025.

Каждое улучшение в PostgreSQL затрагивает миллионы проектов и корпоративных систем. Кроме того, СУБД привлекательна для ИИ-проектов, включая интеграцию с LLM-моделями.

Андрей Бородин и его команда создали систему шардирования SPQR. Сам он руководит разработкой проектов WAL-G и Odyssey, а также является коммиттером и членом PMC проекта Apache Cloudberry.

👉 @devops_star
Каким образом мы можем управлять вычислительными ресурсами в 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_star
👍2👀2
Стать DevOps-инженером в 2025 году: [Практическая дорожная карта]

В этом подробном руководстве я расскажу о практической дорожной карте становления DevOps-инженера, основанной на моем 10-летнем опыте работы в качестве DevOps-инженера в различных организациях.

На современном ИТ-рынке сфера DevOps является одним из лучших вариантов для повышения заработной платы и карьерного роста ИТ-специалистов. Один из часто задаваемых мне вопросов: "Как стать инженером DevOps?".

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

Ближе к концу статьи я добавил различные команды, в которые может входить инженер DevOps.

https://devopscube.com/become-devops-engineer#devops-engineer-roadmap

👉 @devops_star
👍2
🚀 Хотите ускорить разработку и автоматизировать рутинные процессы?

🦾 CI/CD — это то, что превращает долгие релизы в один клик. А GitLab — инструмент, который позволит выстроить этот процесс без лишней боли.

💡 На курсе «CI/CD на основе GitLab» вы научитесь развертывать GitLab и GitLab Runner, настраивать пайплайны любой сложности, интегрировать Ansible, Docker и Kubernetes, а также внедрять лучшие практики безопасности. Всё это на актуальной версии и в формате живых лекций с практикой.

🎯 Вы будете понимать, как построить эффективный workflow, настроить автоматическую доставку кода, тестирование и деплой. После курса вы сможете уверенно работать с CI/CD в реальных проектах и говорить на одном языке с DevOps-инженерами.

➡️ Пройдите вступительное тестирование и присоединяйтесь к группе: https://vk.cc/cRpmPg

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Media is too big
VIEW IN TELEGRAM
Что такое GitOps. Улучшенный DevOps?

00:00 Что такое GitOps
00:18 Нетология - DevOps инженер
01:20 Кратко о DevOps
02:00 IoC инфраструктура как код
03:45 Важность системы контроля версий
05:28 Где кончается DevOps
06:57 Код приложения и инфраструктуры вместе
07:55 Автоматизация
09:20 Важность обозреваемости системы
09:49 Зачем GitOps?

источник

👉 @devops_star
👍2
Выиграйте грант на курс по Apache Kafka

Скидки до 100% на новый поток «Apache Kafka База» от Слёрма.

Научитесь строить отказоустойчивый кластер без тонны документации и разберётесь, как Kafka работает изнутри, чтобы предотвращать инциденты и держать систему стабильной под нагрузкой.

При выполнении условий гранта вы сможете получить 1 из 3 вариантов:

⭐️ скидка 100% (1 место);
⭐️ скидка 50% (2 места);
⭐️ скидка 30% (2 места).

Что сделать, чтобы принять участие:

1️⃣ Быть подписанным на канал Слёрма
2️⃣ Заполнить заявку

Срок выполнения условий — до 20 ноября включительно. У вас будет всего одна попытка! 
Каждый этап будет оцениваться командой Слёрма. Будьте честны и открыты!

Итоги опубликуем в канале 21 ноября в 19:00 мск.
База данных на Kubernetes

Введение в развертывание базы данных на Kubernetes

С ростом внедрения DevOps все больше приложений контейнеризируется, а инструменты для управления этими контейнерами, такие как Kubernetes, становятся все более популярными. Этот рост миграции приложений на Kubernetes (K8s) также отражается на приложениях с поддержкой состояния (например, системах баз данных).

Для начала давайте разберемся в основах:

Для развертывания любого приложения на K8s наиболее предпочтительным является декларативный способ, при котором мы объявляем желаемое состояние приложения (например, образ, который должен использоваться для запуска подов, масштабирование подов для управления нагрузкой и т.д.) в YAML-файле, который известен как файл развертывания.

https://chetak.hashnode.dev/database-on-kubernetes

👉 @devops_star
👍1
Каким образом мы можем запустить в Kubernetes приложение (варианты: рабочую нагрузку, workload)?

Запускать PODы поодиночке можно, но обычно для этого используются более функциональные сущности в Kubernetes, такие как:

— Deployment, который используется для развертывания необходимого количества PODов на основе общего шаблона.
— StatefulSet, похожий на Deployment, но оптимизированный для работы с stateful-приложениями.
— DaemonSet, позволяющий развернуть один экземпляр приложения на каждом доступном узле и обычно используется для обслуживания узлов.
— Job, для запуска конечного процесса в контейнере и ожидания его успешного завершения с заданием политик запуска, таких как длительность и количество рестартов в случае сбоя.
— CronJob, аналогичный Job, но с возможностью запуска по расписанию и ведением логов успешных запусков.

ReplicationController считается устаревшим и практически не используется, на его место пришел Deployment.

👉 @devops_star
👍2
🎥 Вебинар по Linux: Введение в Docker: контейнеры, изоляция и первые шаги.

На вебинаре вы узнаете:
- Чем контейнеризация отличается от виртуализации и почему Docker стал стандартом.
- Как устроены контейнер, образ и Docker Engine.
- Как запустить и управлять контейнерами с помощью базовых команд docker run, ps, exec, stop).
- Как использовать Docker Hub и скачивать готовые образы.

В результате вебинара вы:
- Разберётесь в ключевых понятиях Docker.
- Научитесь запускать и управлять контейнерами.
- Сможете использовать готовые образы для своих тестовых окружений.
- Поймёте, куда двигаться дальше в изучении контейнерных технологий.

🎁 Все участники вебинара получат специальные условия на полное обучение курса "Administrator Linux. Professional"

👉 Для участия зарегистрируйтесь: https://vk.cc/cRv3fs

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🐳 Команды Docker: от новичка до продвинутого уровня для инженеров DevOps

Это руководство охватывает основные команды Docker, от начального до продвинутого уровня, помогая инженерам DevOps эффективно управлять своими контейнеризированными приложениями.

https://dev.to/prodevopsguytech/docker-commands-from-beginner-to-advanced-for-devops-engineers-bb3

👉 @devops_star
👍1
📌Что такое service mesh и для чего он нужен?

Service mesh - это шаблон, который обеспечивает более гибкое управление трафиком в Kubernetes. Service mesh включает в себя control plane, который собирает информацию о кластере Kubernetes, запущенных в нем приложениях, а также дополнительных объектах (custom resources), которые могут быть описаны для настройки, и sidecar-контейнеры, которые обычно инжектируются в PODы автоматически с помощью mutation webhook. Sidecar-контейнеры являются прокси-серверами, перехватывающими входящий и исходящий трафик приложений в контейнерах и управляющими ими в соответствии с конфигурацией, полученной из control plane.

📌Каким образом организована сеть в k8s?

В Kubernetes существуют три типа сетей:

1. Сеть узлов (node network) — это сеть, в которую объединены узлы кластера. В зависимости от используемого CNI-плагина, узлы могут работать либо в одной подсети, либо в нескольких.
2. Сеть POD-ов (pod network) — это сеть, в которой получают IP-адреса запускаемые POD-ы.
3. Сеть сервисов (service network) — это сеть, в которой получают адреса сервисы Kubernetes. Сети POD-ов и сервисов организуются с помощью CNI-плагинов.

📌Что такое bearer token?

Bearer token, также известный как токен учетной записи службы, представляет собой JWT-токен, который генерируется автоматически при создании новой учетной записи службы. Он содержит информацию о конкретной учетной записи службы и подписывается корневым сертификатом кластера. Этот токен сохраняется в объекте типа secret, который затем монтируется в POD по стандартному пути и периодически обновляется. При использовании данного токена процесс, запущенный в контейнере, получает доступ к API Kubernetes и может выполнять только разрешенные действия.

👉 @devops_star
👍2
Flagd

Демон управления фичами, основанный на философии Unix.

https://github.com/open-feature/flagd

👉 @devops_star
👍1
Что такое DevSecOps?

DevSecOps возник как естественная эволюция практик DevOps с акцентом на интеграцию безопасности в процессы разработки и развертывания программного обеспечения. Термин "DevSecOps" объединяет практики разработки (Dev), безопасности (Sec) и операций (Ops), подчеркивая важность безопасности на протяжении всего жизненного цикла разработки программного обеспечения.

Диаграмма выше показывает важные концепции в DevSecOps:

1. Автоматизированные проверки безопасности
2. Непрерывный мониторинг
3. Автоматизация CI/CD
4. Инфраструктура как код (IaC)
5. Безопасность контейнеров
6. Управление секретами
7. Моделирование угроз
8. Интеграция с обеспечением качества (QA)
9. Сотрудничество и коммуникация
10. Управление уязвимостями

👉 @devops_star
👍21
ROI в DevOps ↗️

Эффективны ли ваши инвестиции в DevOps? Как посчитать возврат от вложений? 
Команда юнита «Экспресс 42» (Флант) приглашает вас на вебинар, где:

– Поделится инструментами оценки ROI сверху вниз (верхнеуровневая оценка трансформации) и снизу вверх (детальная оценка отдельных изменений).
– Проанализирует выгоды и ROI на примере компании среднего размера. 
– Объяснит, как DevOps помогает сократить трудозатраты и получить дополнительную доходность.

Вебинар пройдёт 5 декабря (пт) в 12:00

Зарегистрироваться

Если ищете способы увеличить прибыль или сократить издержки, а также усовершенствовать качество поставки цифровых продуктов, ждём вас на эфире 🧑🏼‍💻
📌Каким образом мы можем разделять права в k8s?

Для управления правами в Kubernetes используется механизм RBAC (Role Based Access Control). В этой системе выделяются три группы объектов: пользователь (user) или учетная запись сервиса (service account), которая определяет субъект доступа; роль (role) или кластерная роль (clusterRole), определяющая разрешения; и привязка роли (roleBinding) или кластерной роли (clusterRoleBinding) к конкретному субъекту.

📌Что такое CSI-плагин?

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

Мы определяем storageClass, который соответствует дискам определенного типа, и разворачиваем provisioner в кластере — специальное программное обеспечение, способное заказывать сетевые диски в системе, способной их предоставлять (например, NAS или СХД).

Затем мы создаем объект persistentVolumeClaim, указывая нужный storageClass.

При появлении запроса на persistentVolumeClaim, provisioner заказывает диск необходимого размера в системе, которая их предоставляет, создает объект persistentVolume и связывает его с persistentVolumeClaim. При запуске POD на узле, соответствующий диск монтируется на этот узел по определенному пути, который затем монтируется на файловую систему POD.

👉 @devops_star
👍1
Это база: нюансы работы с Redis

Что такое Redis?
Redis — это база данных, которая размещается в памяти и хорошо подходит для следующих целей:

🔵Кэширование данных: этот сценарий подходит когда есть ключ, по которому вы можете прочитать или записать кэш. Частый случай: использование Redis как кэша перед другой базой-крепышом, вроде MySQL.

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

🔵Pub/Sub: помимо хранилища данных Redis можно использовать как брокер сообщений. В этом случае издатель может опубликовать сообщения в именованном канале для любого числа подписчиков. Когда клиент публикует сообщение в канале, Redis доставляет это сообщение всем клиентам, подписанным на этот канал, что обеспечивает обмен информацией между отдельными компонентами приложения в реальном времени. Однако, стоит помнить, что это сообщение опубликовывается по паттерну Fire & Forget — отправитель отправляет сообщение, не ожидая явного подтверждения от получателя о получении сообщения. То есть, отсутствует гарантия доставки и если часть подписчиков потеряет соединение, то после возвращения они не получат пропущенных сообщений. А если получателей не существует вовсе, то сообщение пропадает без возможности восстановления.

Мы не будем останавливаться на остальных возможных применениях Redis, а также на базовых моментах и перейдем к особенностям его работы, которые непосредственно влияют на конфигурирование и эффективность:

Часть 1 https://habr.com/ru/companies/nixys/articles/765694/

Часть 2 https://habr.com/ru/companies/nixys/articles/805463/

👉 @devops_star
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🔥 Открытый урок «Terraform: как работать с ним через GitLab».

🗓 11 декабря в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «CI/CD на основе GitLab».

На вебинаре разберем:
✔️ Как использовать Terraform для управления инфраструктурой как кодом (IaC).
✔️ Настройку CI/CD-процессов в GitLab для работы с Terraform.
✔️ Лучшие практики разграничения окружения и управления конфигурацией.

Кому будет полезно:
- DevOps-лидам, управляющим инфраструктурой и CI/CD.
- Архитекторам, разрабатывающим стратегии инфраструктурной автоматизации.
- Инженерам, внедряющим Terraform в рабочие процессы.

Что вы получите:
- Понимание, Terraform-модули для работы через GitLab.
- Понимание, настройка и оптимизация пайплайнов CI/CD .
- Практические советы по безопасному и эффективному управлению инфраструктурой .

🔗 Ссылка на регистрацию: https://vk.cc/cRY3RK

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Как управлять Kubernetes-кластерами и AI-нагрузками внутри компании

На Kuber Conf by AOT показали Stackland — решение для корпоративных сред, которое объединяет оркестрацию, мониторинг и CI/CD для микросервисов и AI-нагрузок.

Основные возможности:
— Поддерживает работу в изолированных корпоративных контурах
— Контроль отказоустойчивости и восстановление после сбоев
— Интеграция с Managed Service for Kubernetes® для упрощённого управления кластерами

👉 @devops_star
3❤‍🔥1🐳1
This media is not supported in your browser
VIEW IN TELEGRAM
Kubectx + Kubens: Power tools for kubectl

kubectx - инструмент для более быстрого переключения между контекстами (кластерами) на kubectl
kubens - инструмент, позволяющий легко переключаться между пространствами имен Kubernetes (и настраивать их для kubectl)

https://github.com/ahmetb/kubectx

Пример

# switch to another cluster that's in kubeconfig
$ kubectx minikube
Switched to context "minikube".

# switch back to previous cluster
$ kubectx -
Switched to context "oregon".

# rename context
$ kubectx dublin=gke_ahmetb_europe-west1-b_dublin
Context "gke_ahmetb_europe-west1-b_dublin" renamed to "dublin".

# change the active namespace on kubectl
$ kubens kube-system
Context "test" set.
Active namespace is "kube-system".

# go back to the previous namespace
$ kubens -
Context "test" set.
Active namespace is "default".

👉 @devops_star
👍2