DevOps – Telegram
DevOps
8.45K 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
Ваш kubectl apply устарел

Потому что пришло время для более удобного подхода — GitOps.

Бесплатный вебинар «Распробуйте GitOps и забудете про kubectl apply», на котором:

➡️ разберём эволюцию деплоя в k8s: от простого kubectl apply до helm и kustomize;
➡️ поговорим о плюсах, минусах и подводных камнях каждого подхода, включая сценарии с канареечными деплоями;
➡️ покажем, как GitOps выводит процессы на новый уровень: автоматизация, прозрачная история изменений и решение проблемы configuration drift.

Спикеры:
⚫️ Виталий Лихачев, SRE в крупном голландском travel tech
⚫️ Кирилл Борисов, SRE в VK

Когда: 2 октября в 19:00 мск

Ещё больше про основы Kubernetes – на курсе Kubernetes База

🌺 Регистрация на вебинарпо ссылке.

Реклама ООО «Слёрм» ИНН 3652901451
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое DevOps и почему он автоматизировал не всё

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

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

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

Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
👍3👎1
Pghero

Панель управления производительностью для Postgres

https://github.com/ankane/pghero

Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
👍3
Приглашаем на бесплатный вебинар от OTUS: “Использование Apache Kafka в распределённых очередях”

📅 Когда: 8 октября, 20:00 мск

О чём вебинар?


Apache Kafka — мощный инструмент для управления сообщениями в масштабируемых распределённых системах. На вебинаре вы узнаете, как использовать Kafka для эффективного обмена данными между сервисами и как избежать типичных ошибок при её внедрении.

Что разберём:
— Основы и архитектура Apache Kafka.
— Принципы работы с распределёнными очередями.
— Настройка и развёртывание кластера Kafka в Docker.
— Примеры обмена сообщениями между сервисами.
— Лучшие практики интеграции Kafka в проекты.

Кому полезно:
— Fullstack и Backend-разработчикам, работающим с распределёнными системами.
— DevOps-инженерам и администраторам, ищущим масштабируемые решения.
— Архитекторам ПО, стремящимся оптимизировать обмен сообщениями.
— Всем, кто хочет освоить Apache Kafka.

Что вы получите:
— Понимание работы Kafka и распределённых очередей.
— Навыки настройки и использования Kafka.
— Практические советы и реальные кейсы применения.
— Инструменты для улучшения ваших систем.

👉 Зарегистрироваться: https://vk.cc/cQ0wCK

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

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
1
Как снизить расходы на мониторинг: более разумный подход к данным

Мониторинг может стать дорогостоящим из-за огромных объемов данных, которые необходимо обрабатывать. В этой статье вы узнаете о лучших способах хранения и обработки метрик мониторинга для снижения расходов и о том, как VictoriaMetrics может в этом помочь.

В этой статье рассматриваются только решения с открытым исходным кодом. VictoriaMetrics — такой проект с открытым исходным кодом. Вы получите максимальную пользу от этой статьи, если знакомы с Prometheus, Thanos, Mimir или VictoriaMetrics.

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

Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
👍3
Хотите повысить свой уровень в SRE?

➡️ Я уже работаю в SRE, но хочу понять, как вырасти в senior и что для этого нужно прокачать.

➡️ Я хочу избежать стресса от инцидентов и чувствовать себя увереннее в реальных ситуациях.

➡️ Я хочу найти полезные связи, обменяться опытом или получить совет от профессионалов.

Узнали себя? Тогда приходите на SRE Day онлайн 11 октября!

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

Кстати, все записи мероприятия останутся с вами.

📌 Первым десяти участникам — скидка почти 40%. Если вы готовы сделать карьерный рывок, скорее оставляйте заявку и будьте в числе первых! Подробнее — на сайте 🔥
1👍1
Для чего используется Kubectl?

kubectl — это командная утилита для взаимодействия с Kubernetes-кластером. Она используется для выполнения различных операций по управлению кластерами и развертыванию приложений. С kubectl можно выполнять следующие задачи:

1. Управление ресурсами: создавать, обновлять и удалять ресурсы в кластере (например, Pod, Deployment, Service).
2. Мониторинг и отладка: просматривать информацию о текущем состоянии ресурсов и кластера, диагностировать проблемы.
3. Запуск команд в кластере: запускать команды внутри контейнеров, например, для проверки их состояния или выполнения отладочных задач.
4. Обновление приложений: управлять версиями и состоянием развернутых приложений, поддерживать их обновление и масштабирование.
5. Настройка кластера: управлять конфигурациями, такими как сетевые настройки и политика безопасности.

Пример команды kubectl для получения списка всех подов в текущем пространстве имён:


kubectl get pods


Эта команда возвращает информацию обо всех запущенных подах, их состоянии и доступных IP-адресах.

Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
👍3
Чем отличается StatefulSet от Deployment?

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

StatefulSet — поддерживают состояние приложений за пределами жизненного цикла отдельных модулей pod, например для хранилища. Используется для приложений с отслеживанием состояния, каждая реплика модуля будет иметь собственное состояние и будет использовать свой собственный том.

Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
👍5
🎥 Вебинар по Kubernetes: «Хранение данных в Kubernetes: Volumes, Storages, Stateful-приложения»

☝️ На вебинаре вы узнаете:
- Что такое тома и постоянные тома в Kubernetes, и как они помогают организовать хранение данных.
- Определение между типами хранилищ: от локального до облачного и распределенного.
- Как эффективно работать с StatefulSet и управлять stateful-приложениями в Kubernetes.
- Лучшие практики настройки и использования Persistent Volume Claims (PVC), классов хранения и других инструментов.

💪 В результате вебинара вы:
- Вы научитесь организовывать хранение данных в Kubernetes с использованием Volumes и Persistent Volumes.
- Изучите подходы к управлению госприложениями и сохранению их данных.
- Освоите методы настройки и оптимизации хранилищ для повышения производительности и надежности системы.

🎁 Все участники вебинара получат специальные условия на полное обучение курса «Инфраструктурная платформа на основе Kubernetes»

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

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
1👍1
Пишем Ansible-модули для управления разными системами хранения данных через Swordfish

Большинство современных систем хранения данных (СХД) предоставляют REST API для управления ими, включая настройку, конфигурирование, выполнение различных команд, получение логов, работу с пользователями и т.д. В зависимости от производителя СХД REST API могут отличаться друг от друга. Если вы используете несколько разных систем, их одновременная поддержка становится проблемой: нужно учитывать многообразие протоколов, интерфейсов, команд и способов взаимодействия с API.

Меня зовут Александр Пономарев, вместе с группой студентов СПбПУ Петра Великого на базе Лаборатории YADRO мы изучали способы сделать управление разными СХД менее трудоемким. Вариант, на котором мы остановились, — использовать системы, которые удовлетворяют спецификации Swordfish, в связке с Ansible. Рассказываю о проекте, который мы выполняли с инженерами компании и преподавателями университета.

https://habr.com/ru/companies/yadro/articles/784070/

Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
👍3
Unused

CLI-инструмент, экспортер для Prometheus и модуль на Go для перечисления неиспользуемых дисков во всех облачных провайдерах

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

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

https://github.com/grafana/unused

Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
👍3
Что такое docker и какие инструменты linux лежат в основе? Для чего он используется?

Docker базируется на технологиях:

🔸 namespaces — обеспечивает изоляцию (например, можно айдишники процессов разместить в разных контейнерах)
🔸 cgroups — позволяет управлять группой процессов, и управлять их ресурсами
🔸 capabilities — позволяет дать некоторые рут привелегии процессам или исполняемым файлам. Например, изменить UID процесса на 0, или дать возможность монтировать файловые системы.
🔸 overlay namespaces — (overlayFS, overlay2-драйвер) - файловая система, которая умеет работать "слоями". Не сохранять каждый раз новые файлы, а наслаивать один слой на другой, тем самым экономя место на диске и время создания контейнера.

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

Компоненты докера:

🔻 Docker Daemon — тот самый Container Engine; запускает контейнеры.
🔻 Docker CLI — утилита по управлению Docker.
🔻 Dockerfile — инструкция по тому, как собирать образ.
🔻 Image — образ, из которого раскатывается контейнер.
🔻 Container
🔻 Docker registry — хранилище образов.

На Docker_host работает Docker daemon и запускает контейнеры.
Client — передаёт команды: собери образ, скачай образ, запусти контейнер. Docker daemon ходит в registry и выполняет их. Docker-клиент может обращаться и локально (к юникс-сокету), и по TCP с удалённого хоста.

Docker daemon (демон) — это серверная часть, работающая на хост-машине: скачивает образы и запускает из них контейнеры, создаёт сеть между контейнерами, собирает логи. Когда мы говорим «создай образ», этим тоже занимается демон.

Docker CLI — клиентская часть Docker, консольная утилита для работы с демоном. Может работать не только локально, но и по сети.

Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
👍52
Для чего нужна команда git commit --amend?

Команда git commit --amend используется для изменения последнего коммита в локальном репозитории. Она позволяет исправить сообщение коммита, добавить в него изменения, которые не были учтены, или удалить файлы, которые не должны были быть в коммите.

Основные случаи использования:

1. Изменение сообщения коммита: если было допущено опечатку или необходимо уточнить содержание сообщения коммита.

git commit --amend -m "Новое сообщение коммита"


2. Добавление изменений в последний коммит: если были забыты изменения, которые нужно включить в последний коммит, можно их добавить, выполнить git add для этих файлов и затем git commit --amend, чтобы объединить их с предыдущим коммитом.

3. Удаление ненужных файлов: если случайно добавлен лишний файл, можно удалить его с помощью git rm, затем выполнить git commit --amend, чтобы пересобрать коммит без этого файла.

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

Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
👍61
Встречайте AIOps в INFRAX — виртуального инженера, который работает прямо внутри карточки инцидента:

- анализирует логи,

- предлагает команды,

- помогает устранять неполадки быстрее и надёжнее.

🔐 Все действия прозрачны и безопасны: журналируются в инциденте и выполняются строго в рамках ваших политик доступа.

Что такое INFRAX? Это:

🖥 Мультиметричный мониторинг — CPU, память, диски, трафик, доступность узлов, интерактивные графики и гибкие алерты.

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

🤖 Автоматизация — агенты для Windows/Linux, запуск скриптов по расписанию, планировщик задач, автодетект узлов.

🔐 Удалённые подключения — RDP, SSH, VNC прямо из веба или нативных клиентов, видеозапись сессий для аудита.

📚 База знаний — статьи, категории, контроль публикаций, статистика по популярности.

👥 Управление пользователями — детальная система прав, интеграция с IAM, аудит действий, изоляция данных.

📊 Дашборды — мониторинг, техподдержка, удалённые подключения с realtime-обновлением.

🔥 Infrax — это ситуационный центр вашей ИТ-инфраструктуры. Всё, что нужно для стабильной и безопасной работы сервисов, в одном решении.

#реклама
О рекламодателе
👍1
Архитектура кластеров Kubernetes - выбор размера рабочего узла

Стоит ли создавать кластер Kubernetes с меньшим количеством крупных узлов или с большим количеством мелких узлов? В этой статье мы рассмотрим все плюсы и минусы.

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

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

Или если вы используете управляемый сервис Kubernetes, например Google Kubernetes Engine (GKE), следует ли вам использовать восемь экземпляров n1-standard-1 или два экземпляра n1-standard-4 для достижения желаемой вычислительной мощности?

https://learnk8s.io/kubernetes-node-size

Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
👍2
🔥16 октября в 20:00 мск — открытый вебинар в OTUS!

О чём?

Хотите объединять данные из разных источников в PostgreSQL без сложных ETL-процессов? Foreign-Data Wrappers (FDW) позволяют превратить PostgreSQL в мощный центр управления данными из внешних баз, облачных хранилищ и систем больших данных.

Что разберём:


- Foreign-Data Wrappers: как они работают в PostgreSQL.
- Интеграция: подключение к внешним базам (MySQL, MongoDB и др.) и управление данными как локальными таблицами.
- Примеры: объединение данных из разных источников без ETL.
- Облачные решения: использование FDW с облачными хранилищами и Big Data.
- Оптимизация: лучшие практики настройки FDW для высокой производительности.

🎓 После вебинара вы:

- Научитесь подключать PostgreSQL к внешним источникам через FDW.
- Освоите настройку и интеграцию данных для гибридных систем..

🔧 Присоединяйтесь, чтобы раскрыть потенциал PostgreSQL и упростить интеграцию данных в ваших проектах!

👉 Зарегистрироваться https://vk.cc/cQcdpJ

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

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍1
💡 Сегодня немного про боль Kubernetes-кластеров

Когда у тебя всё крутится в k8s, кажется - удобно: автоскейлинг, изоляция, сервисы живут своей жизнью. Но как только в кластере начинают появляться десятки namespace и сотни подов, без нормальной политики ресурсов всё превращается в хаос.

👉 У каждого пода должны быть requests и limits. Если этого нет - кластер живёт как коммуналка без счётчиков: кто успел, тот и съел. Один жадный контейнер может легко задушить соседей.

👉 Мониторинг на уровне ResourceQuota и LimitRange реально спасает от «сюрпризов» в проде.

👉 А ещё - включите PodPriority и Preemption. Это даёт возможность критичным сервисам выжить, даже если какой-то non-prod под начал жрать всю память.

В итоге Kubernetes сам по себе не магия. Это инструмент. А инструмент требует гигиены и правил.

Подпишись 👉@devopslib
👍5🔥1
Sudo без бинарного setuid или SSH через UNIX-сокет

В этом посте я подробно расскажу, как заменить sudo (программу с setuid), используя SSH через локальный UNIX-сокет.

Я считаю, что программы с setuid / setgid — это устаревшая часть наследия UNIX, которую следует исключить. В будущем посте я объясню причины безопасности, стоящие за этим утверждением.

Это связано с работой группы Confined Users SIG в Fedora.

https://tim.siosm.fr/blog/2023/12/19/ssh-over-unix-socket/

Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
👍41👎1🔥1
Teller — универсальный open-source менеджер секретов для разработчиков

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

Вместо использования кастомных скриптов, токенов в файлах .zshrc, видимых команд EXPORT в истории bash, ошибочно размещенных файлов .env.production и других уязвимостей на рабочей станции, просто используйте Teller и подключите его к любому хранилищу секретов, ключевому хранилищу или облачному сервису, который вам нужен (Teller поддерживает HashiCorp Vault, AWS Secrets Manager, Google Secret Manager и многие другие).

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

https://github.com/tellerops/teller

Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
👍2
🎥 Вебинар по Kubernetes: "Kubernetes для непрерывной поставки (CI/CD). Интеграция с CI-сервисом"

☝️ На вебинаре вы узнаете:
- Как Kubernetes используется в качестве среды для доставки и масштабирования приложений.
- Интеграция Kubernetes с GitLab CI, GitHub Actions и другими популярными CI/CD-сервисами.
- Лучшие практики построения пайплайнов, работающих с k8s.
- Деплой приложений в кластер: helm, kubectl, ArgoCD и другие инструменты.
- Типичные ошибки при организации CI/CD в Kubernetes и как их избежать.

💪 В результате вебинара вы:
- Поймёте, как связать Kubernetes с CI/CD и зачем это нужно.
- Научитесь строить эффективные пайплайны доставки для микросервисных приложений.
- Получите практические примеры конфигураций и инструментов, которые можно применить сразу после занятия.

🎁 Все участники вебинара получат специальные условия на полное обучение курса "Инфраструктурная платформа на основе Kubernetes"

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

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
mk - Интерактивный запуск задач для Makefile(Taskfile.yml)

Функции:
- Интерактивный интерфейс: Просматривайте и выбирайте доступные команды make с помощью стрелок или фильтруйте, вводя текст.
- Документация: Ознакомьтесь с описанием каждой команды, чтобы понять её назначение и использование.
- Клавиши, как в Vim: Используйте j и k для навигации, Enter для выполнения, а q для выхода.
- Фильтрация: Быстро находите команды, вводя часть их названия. Нажмите ? для справки.
- Удалённый Makefile: Загрузите Makefile с удалённого URL и выполните команды.
- Локальный Makefile: Загрузите Makefile из любой директории и выполните команды.
- Поддержка Taskfile.yml: Загрузите Taskfile.yml из удалённого URL или локального пути и выполните задачи.

https://github.com/orangekame3/mk

Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
👍4