Kubernetes дома? Ты не в себе? Как с Cursor и без DevOps-опыта поднять приватный кластер для личных проектов
Я реализовал свою первую задачу по замене «Яндекс Диска», довёл скорость до 1,1 ГБ/с и пошёл дальше — установил Kubernetes дома. Я не инженер DevOps, но на своём кластере из старых Mac mini я запустил полноценный K8s с Managed Services.
https://habr.com/ru/companies/flant/articles/1043430/
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
Я реализовал свою первую задачу по замене «Яндекс Диска», довёл скорость до 1,1 ГБ/с и пошёл дальше — установил Kubernetes дома. Я не инженер DevOps, но на своём кластере из старых Mac mini я запустил полноценный K8s с Managed Services.
https://habr.com/ru/companies/flant/articles/1043430/
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1
Как можно контролировать использование ресурсов в POD?
В Kubernetes контроль использования ресурсов в Pod осуществляется через механизмы запросов (requests) и лимитов (limits), которые задаются для контейнеров в манифестах Pod'ов. Это позволяет управлять доступом к вычислительным ресурсам (CPU и память) и предотвращать чрезмерное потребление, которое может повлиять на работу кластера.
Основные способы контроля:
1. Запросы (Requests):
- Указывают минимальный объем ресурсов, который необходим контейнеру для работы.
- Kubernetes использует эту информацию для планирования Pod'ов на узлах (nodes), гарантируя, что на узле достаточно ресурсов для Pod'а.
Пример:
2. Лимиты (Limits):
- Устанавливают максимальный объем ресурсов, который контейнер может использовать.
- Если контейнер превышает лимит памяти, он будет завершен. Если превышен лимит CPU, его использование будет ограничено (throttled).
Пример:
3. Комбинированное использование запросов и лимитов:
- Обычно рекомендуется задавать оба параметра для каждой нагрузки, чтобы обеспечить баланс между производительностью и безопасностью.
- Пример:
4. Использование ResourceQuota:
- Устанавливает ограничения на объем ресурсов, которые могут использоваться на уровне namespace.
- Пример:
5. LimitRange:
- Определяет минимальные/максимальные запросы и лимиты для Pod'ов и контейнеров в namespace.
- Пример:
Мониторинг использования ресурсов:
- Используйте встроенные метрики Kubernetes через kubectl top:
- Интеграция с инструментами наблюдаемости, такими как Prometheus, Grafana или Kubernetes Dashboard, для анализа метрик ресурсов в реальном времени.
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
В 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, для анализа метрик ресурсов в реальном времени.
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1
Короткий совет по Linux 💡
Если вы хотите очистить пустые каталоги, команда find может упростить эту работу:
Параметр -type d выполняет поиск каталогов, -empty выбирает пустые каталоги, а -exec rmdir {} выполняет команду rmdir для их удаления.
Команда rmdir гарантирует, что каталог пуст перед его удалением.
В качестве альтернативы, вы также можете использовать эту команду для выполнения той же задачи:
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
Если вы хотите очистить пустые каталоги, команда find может упростить эту работу:
$ find . -type d -empty -exec rmdir -v {} +Параметр -type d выполняет поиск каталогов, -empty выбирает пустые каталоги, а -exec rmdir {} выполняет команду rmdir для их удаления.
Команда rmdir гарантирует, что каталог пуст перед его удалением.
В качестве альтернативы, вы также можете использовать эту команду для выполнения той же задачи:
$ find . -type d -empty -delete#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
Это интерактивный терминальный интерфейс для управления контейнерами Docker. Утилита позволяет в режиме реального времени просматривать активные контейнеры, образы и сети, выполнять команды, такие как перезапуск или удаление контейнеров, а также получать доступ к их логам и ресурсам. Подходит для разработчиков и администраторов, которым нужен быстрый и удобный способ мониторинга и управления Docker-средами.
https://github.com/lirantal/dockly
#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
Это инструмент для улучшения истории командной строки, заменяющий стандартную историю оболочки. Он сохраняет команды в зашифрованной базе данных, синхронизирует историю между устройствами и позволяет легко искать и фильтровать команды. Atuin поддерживает bash, zsh и fish, обеспечивая удобство работы с историей в терминале.
https://github.com/atuinsh/atuin
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Walk — это инструмент на Go, который позволяет рекурсивно обходить директории и выполнять команды для каждого найденного файла или папки.
📌 Ключевые особенности:
- Простая команда для выполнения скриптов или операций над файлами.
- Гибкость и высокая скорость работы.
- Подходит для автоматизации задач, связанных с обработкой файлов.
🔗 Репозиторий: https://github.com/antonmedv/walk
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
📌 Ключевые особенности:
- Простая команда для выполнения скриптов или операций над файлами.
- Гибкость и высокая скорость работы.
- Подходит для автоматизации задач, связанных с обработкой файлов.
🔗 Репозиторий: https://github.com/antonmedv/walk
#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
Если вы когда-либо сталкивались с задачей периодической ротации ключей, токенов или паролей в ваших проектах, обратите внимание на ROT.
Что это такое?
ROT — это удобный инструмент с открытым исходным кодом, написанный на Go, который помогает управлять ротацией секретов и конфигурационных данных. Он берёт на себя регулярное обновление ваших ключей, упрощая процесс автоматизации и сокращая риск человеческих ошибок.
Ключевые возможности:
• Работа с различными секретными хранилищами и источниками данных.
• Гибкая настройка частоты ротации и условий обновления.
• Прозрачная интеграция в существующие CI/CD-пайплайны.
• Упрощение DevOps-практик за счёт централизованного управления секретами.
Кому будет полезно?
Разработчикам, DevOps-инженерам, администраторам и всем, кто работает с конфиденциальной информацией в облачных и локальных инфраструктурах. ROT упрощает управление жизненным циклом ваших секретов, повышая безопасность и удобство.
https://github.com/candiddev/rot
#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
Особенности PR-Agent:
- Анализ кода: автоматически обнаруживает проблемы и предлагает улучшения.
- Интеграция с GitHub: работает с вашим репозиторием без дополнительных сложностей.
- Поддержка нескольких языков: подходит для проектов на разных языках программирования.
Проект активно развивается и доступен для бесплатного использования. Установить его можно через Docker или напрямую из репозитория.
https://github.com/Codium-ai/pr-agent
#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
Секреты — это такая щекотливая тема, из‑за которой у безопасников начинаются нервные подёргивания глаза. Вроде бы «просто пароль» или «просто токен», но в 2025 году мы уже знаем, что просто в безопасности — это верная дорога к утечкам и ночным обкаткам плана B. В этой статье поговорим, как правильно хранить секреты в Docker‑контейнерах и окрестностях, а заодно разберёмся, чем могут помочь Docker Secrets, HashiCorp Vault и компания.
https://habr.com/ru/articles/872128/
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤1
«РБПО для бедных»: сказ о том, как стартап безопасность прикручивал
Сказка — ложь, да в ней намек, разработчикам урок.
В некотором опенспейсе, в некотором коворкинге завелся один стартап. С кофе-машиной, горящими дедлайнами и вечными созвонами. Решили там сделать ПОшечку невиданную — чтобы пользователи радовались, инвесторы кивали одобрительно, а деньги сами шли в кассу.
И закипела работа, и стартовали один за другим спринты. Фичи выкатывались, метрики росли, разработчики героически коммитили по ночам. Вот только о безопасности в стартапе вспоминали примерно никогда. Некому было охранять секреты пользовательские, деньги виртуальные да API-ключи заветные. А хранилось всё это, прямо скажем, не самым надежным образом.
На ту беду нашлись хакеры с купленным эксплойтом, и наступили у стартапа времена невеселые. Третьи точки горели, базы данных утекали, пользователи разбегались, а данные разлетались по самым темным уголкам интернета.
Позвали тогда богатыря бывалого — эксперта по безопасной разработке. Ну, то есть меня. И попросили научить разработчиков код проверять, секреты хранить да конвейеры защищенные строить. В общем, построить РБПО, но без бюджетов размером с ВВП сказочного государства.
Так появился этот цикл статей — про то, как собрать на коленке минимальный, но рабочий конвейер безопасной разработки.
Долго сказка сказывается, да только CI/CD-пайплайн собирается еще дольше. Так что устраивайтесь поудобнее — расскажу, как строил «РБПО для бедных».
https://habr.com/ru/companies/bastion/articles/1038686/
📲 Мы в MAX
#devops #девопс
Подпишись 👉@i_DevOps
Сказка — ложь, да в ней намек, разработчикам урок.
В некотором опенспейсе, в некотором коворкинге завелся один стартап. С кофе-машиной, горящими дедлайнами и вечными созвонами. Решили там сделать ПОшечку невиданную — чтобы пользователи радовались, инвесторы кивали одобрительно, а деньги сами шли в кассу.
И закипела работа, и стартовали один за другим спринты. Фичи выкатывались, метрики росли, разработчики героически коммитили по ночам. Вот только о безопасности в стартапе вспоминали примерно никогда. Некому было охранять секреты пользовательские, деньги виртуальные да API-ключи заветные. А хранилось всё это, прямо скажем, не самым надежным образом.
На ту беду нашлись хакеры с купленным эксплойтом, и наступили у стартапа времена невеселые. Третьи точки горели, базы данных утекали, пользователи разбегались, а данные разлетались по самым темным уголкам интернета.
Позвали тогда богатыря бывалого — эксперта по безопасной разработке. Ну, то есть меня. И попросили научить разработчиков код проверять, секреты хранить да конвейеры защищенные строить. В общем, построить РБПО, но без бюджетов размером с ВВП сказочного государства.
Так появился этот цикл статей — про то, как собрать на коленке минимальный, но рабочий конвейер безопасной разработки.
Долго сказка сказывается, да только CI/CD-пайплайн собирается еще дольше. Так что устраивайтесь поудобнее — расскажу, как строил «РБПО для бедных».
https://habr.com/ru/companies/bastion/articles/1038686/
#devops #девопс
Подпишись 👉@i_DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍3