DevOps
8.78K subscribers
1.4K photos
887 videos
28 files
1.76K 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 дома? Ты не в себе? Как с Cursor и без DevOps-опыта поднять приватный кластер для личных проектов

Я реализовал свою первую задачу по замене «Яндекс Диска», довёл скорость до 1,1 ГБ/с и пошёл дальше — установил Kubernetes дома. Я не инженер DevOps, но на своём кластере из старых Mac mini я запустил полноценный K8s с Managed Services.

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

📲 Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
Как можно контролировать использование ресурсов в POD?

В Kubernetes контроль использования ресурсов в Pod осуществляется через механизмы запросов (requests) и лимитов (limits), которые задаются для контейнеров в манифестах Pod'ов. Это позволяет управлять доступом к вычислительным ресурсам (CPU и память) и предотвращать чрезмерное потребление, которое может повлиять на работу кластера.

Основные способы контроля:

1. Запросы (Requests):
- Указывают минимальный объем ресурсов, который необходим контейнеру для работы.
- Kubernetes использует эту информацию для планирования Pod'ов на узлах (nodes), гарантируя, что на узле достаточно ресурсов для Pod'а.

Пример:

resources:
requests:
memory: "256Mi"
cpu: "500m"


2. Лимиты (Limits):
- Устанавливают максимальный объем ресурсов, который контейнер может использовать.
- Если контейнер превышает лимит памяти, он будет завершен. Если превышен лимит CPU, его использование будет ограничено (throttled).

Пример:

resources:
limits:
memory: "512Mi"
cpu: "1"


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

resources:
requests:
memory: "256Mi"
cpu: "500m"
limits:
memory: "512Mi"
cpu: "1"


4. Использование ResourceQuota:
- Устанавливает ограничения на объем ресурсов, которые могут использоваться на уровне namespace.
- Пример:

apiVersion: v1
kind: ResourceQuota
metadata:
name: compute-resources
namespace: example-namespace
spec:
hard:
requests.cpu: "4"
requests.memory: "8Gi"
limits.cpu: "10"
limits.memory: "16Gi"


5. LimitRange:
- Определяет минимальные/максимальные запросы и лимиты для Pod'ов и контейнеров в namespace.
- Пример:

apiVersion: v1
kind: LimitRange
metadata:
name: mem-cpu-limits
namespace: example-namespace
spec:
limits:
- default:
cpu: "1"
memory: "512Mi"
defaultRequest:
cpu: "500m"
memory: "256Mi"
type: Container


Мониторинг использования ресурсов:
- Используйте встроенные метрики Kubernetes через kubectl top:

kubectl top pod --namespace=<namespace>
kubectl top node

- Интеграция с инструментами наблюдаемости, такими как Prometheus, Grafana или Kubernetes Dashboard, для анализа метрик ресурсов в реальном времени.

📲 Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1
Короткий совет по Linux 💡

Если вы хотите очистить пустые каталоги, команда find может упростить эту работу:

$ find . -type d -empty -exec rmdir -v {} +

Параметр -type d выполняет поиск каталогов, -empty выбирает пустые каталоги, а -exec rmdir {} выполняет команду rmdir для их удаления.

Команда rmdir гарантирует, что каталог пуст перед его удалением.

В качестве альтернативы, вы также можете использовать эту команду для выполнения той же задачи:

$ find . -type d -empty -delete


📲 Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Dockly

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

https://github.com/lirantal/dockly

📲 Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Atuin

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

https://github.com/atuinsh/atuin

📲 Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
This media is not supported in your browser
VIEW IN TELEGRAM
Walk — это инструмент на Go, который позволяет рекурсивно обходить директории и выполнять команды для каждого найденного файла или папки.

📌 Ключевые особенности:
- Простая команда для выполнения скриптов или операций над файлами.
- Гибкость и высокая скорость работы.
- Подходит для автоматизации задач, связанных с обработкой файлов.

🔗 Репозиторий: https://github.com/antonmedv/walk

📲 Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
ROT: автоматизация обновления ключей и секретов

Если вы когда-либо сталкивались с задачей периодической ротации ключей, токенов или паролей в ваших проектах, обратите внимание на ROT.

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

Ключевые возможности:
• Работа с различными секретными хранилищами и источниками данных.
• Гибкая настройка частоты ротации и условий обновления.
• Прозрачная интеграция в существующие CI/CD-пайплайны.
• Упрощение DevOps-практик за счёт централизованного управления секретами.

Кому будет полезно?
Разработчикам, DevOps-инженерам, администраторам и всем, кто работает с конфиденциальной информацией в облачных и локальных инфраструктурах. ROT упрощает управление жизненным циклом ваших секретов, повышая безопасность и удобство.


https://github.com/candiddev/rot

📲 Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
PR-Agent — это инструмент с открытым исходным кодом для автоматического анализа Pull Request'ов. Этот агент интегрируется с GitHub и помогает разработчикам ускорить процесс ревью, автоматически генерируя полезные комментарии, улучшая качество кода и экономя время.

Особенности PR-Agent:
- Анализ кода: автоматически обнаруживает проблемы и предлагает улучшения.
- Интеграция с GitHub: работает с вашим репозиторием без дополнительных сложностей.
- Поддержка нескольких языков: подходит для проектов на разных языках программирования.

Проект активно развивается и доступен для бесплатного использования. Установить его можно через Docker или напрямую из репозитория.

https://github.com/Codium-ai/pr-agent

📲 Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
Как организовать безопасное хранение секретов в Docker: лучшие практики

Секреты — это такая щекотливая тема, из‑за которой у безопасников начинаются нервные подёргивания глаза. Вроде бы «просто пароль» или «просто токен», но в 2025 году мы уже знаем, что просто в безопасности — это верная дорога к утечкам и ночным обкаткам плана B. В этой статье поговорим, как правильно хранить секреты в Docker‑контейнерах и окрестностях, а заодно разберёмся, чем могут помочь Docker Secrets, HashiCorp Vault и компания.

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

📲 Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍41
«РБПО для бедных»: сказ о том, как стартап безопасность прикручивал

Сказка — ложь, да в ней намек, разработчикам урок.

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

И закипела работа, и стартовали один за другим спринты. Фичи выкатывались, метрики росли, разработчики героически коммитили по ночам. Вот только о безопасности в стартапе вспоминали примерно никогда. Некому было охранять секреты пользовательские, деньги виртуальные да API-ключи заветные. А хранилось всё это, прямо скажем, не самым надежным образом.

На ту беду нашлись хакеры с купленным эксплойтом, и наступили у стартапа времена невеселые. Третьи точки горели, базы данных утекали, пользователи разбегались, а данные разлетались по самым темным уголкам интернета.

Позвали тогда богатыря бывалого — эксперта по безопасной разработке. Ну, то есть меня. И попросили научить разработчиков код проверять, секреты хранить да конвейеры защищенные строить. В общем, построить РБПО, но без бюджетов размером с ВВП сказочного государства.

Так появился этот цикл статей — про то, как собрать на коленке минимальный, но рабочий конвейер безопасной разработки.

Долго сказка сказывается, да только CI/CD-пайплайн собирается еще дольше. Так что устраивайтесь поудобнее — расскажу, как строил «РБПО для бедных».

https://habr.com/ru/companies/bastion/articles/1038686/

📲 Мы в MAX

#devops #девопс

Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍3