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
Чем отличается StatefulSet от Deployment?

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

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


#devops #девопс

Подпишись 👉@i_DevOps
👍9
Пишем Ansible-модули для управления разными системами хранения данных через Swordfish

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

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

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

#devops #девопс

Подпишись 👉@i_DevOps
👍41
Terraform управляет несколькими средами

При использовании Terraform для управления инфраструктурой обычно создается несколько окружений, таких как среда разработки, среда staging и среда production. Каждая среда может иметь свой собственный набор ресурсов и конфигураций. Чтобы сохранить код инфраструктуры организованным и удобным для сопровождения, полезно использовать модули.

https://medium.com/@b0ld8/terraform-manage-multiple-environments-63939f41c454

#devops #девопс

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

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

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

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

https://github.com/grafana/unused

#devops #девопс

Подпишись 👉@i_DevOps
👍5
Что такое 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, консольная утилита для работы с демоном. Может работать не только локально, но и по сети.

#devops #девопс

Подпишись 👉@i_DevOps
👍6🔥3
Жизненный цикл контейнеров в Docker Compose: использование хуков post_start, pre_stop

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

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

#devops #девопс

Подпишись 👉@i_DevOps
👍3
Будущее Kubernetes и DevOps: строим прогнозы на 10 лет

Мы спросили инженеров «Фланта» и экспертов из индустрии, как, по их мнению, будут развиваться Kubernetes, DevOps, Ops и Cloud Native-экосистема в ближайшее десятилетие. Наша задача была спрогнозировать будущее на основе тенденций в настоящем, а не просто «заглянуть в хрустальный шар» и пофантазировать. В результате родилась эта статья. Присоединяйтесь к нам в комментариях — давайте вместе подумаем, как будут выглядеть важные в нашей работе инструменты через 5–10 лет.

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

#devops #девопс

Подпишись 👉@i_DevOps
👍3
Для чего нужна команда 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 создается новый коммит с измененной историей, что важно помнить, если работа ведется в команде.


#devops #девопс

Подпишись 👉@i_DevOps
👍8
Архитектура кластеров Kubernetes - выбор размера рабочего узла

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

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

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

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

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

#devops #девопс

Подпишись 👉@i_DevOps
👍6
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/


#devops #девопс

Подпишись 👉@i_DevOps
👍5
Деплой больших инфраструктур в Yandex Cloud: как минимизировать риски и ошибки

Привет, я Алексей Колосков, DevOps‑инженер Hilbert Team. Сегодня я расскажу вам историю о компании, которая из маленькой облачной инфраструктуры выросла до сложного решения с использованием Infrastructure as Code (IaC) и Terraform. И, как это часто бывает, в процессе роста учли не всё. Все персонажи вымышлены и любые совпадения случайны (ну, почти).

В этой статье покажу грабли, на которые можно наступить при росте облачной инфраструктуры, и расскажу, как их обойти.

https://habr.com/ru/companies/yandex_cloud_and_infra/articles/858704/

#devops #девопс

Подпишись 👉@i_DevOps
👍4
Media is too big
VIEW IN TELEGRAM
Правильный DevOps для Spring Boot и Java
Рустам Курамшин

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

источник

#devops #девопс

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

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

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

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

https://github.com/tellerops/teller

#devops #девопс

Подпишись 👉@i_DevOps
👍6🤔1
ScyllaDB на Kubernetes: как запускать Intense Workloads с использованием Spot-инстансов

В статье рассказывается, как запускать ScyllaDB — быструю NoSQL базу данных — на Kubernetes с использованием Spot-инстансов, чтобы справляться с интенсивными нагрузками и снижать затраты. Описаны преимущества архитектуры ScyllaDB, инструменты для управления кластерами (например, ScyllaDB Manager и Prometheus), а также возможности быстрого восстановления после отказов, что делает решение высокодоступным и экономически выгодным.

https://www.scylladb.com/2023/08/07/scylladb-on-kubernetes-how-to-run-intense-workloads-with-spot-instances/

#devops #девопс

Подпишись 👉@i_DevOps
👍2
DevOps — смерть это новая жизнь…

Есть мнение, что DevOps как индустрия — скорее мертва, чем жива. Нужны ли нам в таком случае мероприятия по интеграции процессов разработки, тестирования и эксплуатации? Мы решили задать самые наболевшие вопросы Диме Зайцеву, директору программного комитета DevOps Conf 2025.

Да, всё ещё у нас и на западном рынке, когда мы слышим слово DevOps, то думаем, что у сисадминов изменили имя, и они стали стоить дороже. Это распространённая идея. Но мы так не считаем. И эти люди никуда не уйдут. Очевидно, они всё ещё нужны. У нас всё ещё на них держится огромная инфраструктура. Над ней надо работать, её нужно развертывать.

https://habr.com/ru/companies/oleg-bunin/articles/859330/

#devops #девопс

Подпишись 👉@i_DevOps
👍5🤔1
Нужно ли разработчику знать DevOps-инструменты? Кейс из практики

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

Но сегодня всё чаще встречается мнение, что разработчикам было бы неплохо разбираться в DevOps-инструментах. Хотя бы на базовом уровне, чтобы «понимать, что ещё окружает их кроме кода».

https://habr.com/ru/companies/slurm/news/740616/

#devops #девопс

Подпишись 👉@i_DevOps
👍3
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

#devops #девопс

Подпишись 👉@i_DevOps
👍3🔥2
Buildg - Интерактивный отладчик для Dockerfile, с поддержкой IDE (VS Code, Emacs, Neovim и т.д.).

Source-level inspection
Breakpoints and step execution
Interactive shell on a step with your own debugigng tools
Based on BuildKit (with unmerged patches)
Supports rootless

https://github.com/ktock/buildg

#devops #девопс

Подпишись 👉@i_DevOps
👍8
This media is not supported in your browser
VIEW IN TELEGRAM
Постройте облегченную внутреннюю платформу для разработчиков с помощью Argo CD и Kubernetes Labels

Эта статья в блоге демонстрирует, как создать облегченную внутреннюю платформу для разработчиков, не полагаясь на Backstage, но при этом предоставляя разработчикам возможность самообслуживания. Используя GitOps с Argo CD и применяя Kubernetes labels, этот метод предлагает упрощенное и эффективное решение для управления и развертывания вашей инфраструктуры.

https://itnext.io/build-a-lightweight-internal-developer-platform-with-argo-cd-and-kubernetes-labels-4c0e52c6c0f4

#devops #девопс

Подпишись 👉@i_DevOps
👍4
Vault-secrets-operator

Создавайте секреты Kubernetes из Vault для безопасного рабочего процесса на основе GitOps.

https://github.com/ricoberger/vault-secrets-operator

#devops #девопс

Подпишись 👉@i_DevOps
👍4
Форматирование файловой системы XFS

Команда mkfs.xfs используется для создания файловой системы XFS. В этой статье мы рассмотрим последовательность кода mkfs.xfs и то, что он записывает на диск для создания файловой системы XFS. Команда mkfs.xfs входит в состав пакета xfsprogs.

https://blogs.oracle.com/linux/post/formatting-an-xfs-filesystem

#devops #девопс

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