Топ 4 лучших типа сервисов Kubernetes в одной диаграмме.
🔹 ClusterIP
ClusterIP - это стандартный и наиболее распространенный тип службы. Kubernetes назначает сервису ClusterIP внутренний IP-адрес кластера. Это делает службу доступной только в пределах кластера.
🔹 NodePort
Это позволяет вывести сервис за пределы кластера, добавив общекластерный порт поверх ClusterIP. Мы можем запросить сервис по NodeIP:NodePort.
🔹 LoadBalancer
Этот способ раскрывает сервис извне, используя балансировщик нагрузки облачного провайдера.
🔹 ExternalName
Сопоставляет службу с доменным именем. Обычно это используется для создания службы в Kubernetes для представления внешней базы данных.
#devops #девопс
👉 @devops_star
🔹 ClusterIP
ClusterIP - это стандартный и наиболее распространенный тип службы. Kubernetes назначает сервису ClusterIP внутренний IP-адрес кластера. Это делает службу доступной только в пределах кластера.
🔹 NodePort
Это позволяет вывести сервис за пределы кластера, добавив общекластерный порт поверх ClusterIP. Мы можем запросить сервис по NodeIP:NodePort.
🔹 LoadBalancer
Этот способ раскрывает сервис извне, используя балансировщик нагрузки облачного провайдера.
🔹 ExternalName
Сопоставляет службу с доменным именем. Обычно это используется для создания службы в Kubernetes для представления внешней базы данных.
#devops #девопс
👉 @devops_star
👍1
Технологический стек Netflix - CI/CD Pipeline
Эта статья основана на материалах многих инженерных блогов Netflix и проектов с открытым исходным кодом.
Планирование: Netflix Engineering использует JIRA для планирования и Confluence для документирования.
Код: Java - основной язык программирования для сервисов бэкенда, другие языки используются для различных задач.
Сборка: Для сборки в основном используется Gradle, а для поддержки различных вариантов использования создаются плагины Gradle.
Упаковка: Пакет и зависимости упаковываются в машинный образ Amazon (AMI) для выпуска.
Тестирование: Тестирование подчеркивает ориентацию продакшен-культуры на создание хаос-инструментов.
Развертывание: Для развертывания Netflix использует самостоятельно созданный Spinnaker.
Мониторинг: Метрики мониторинга централизованы в Atlas, а для выявления аномалий используется Kayenta.
Отчет об инцидентах: Инциденты рассылаются в соответствии с приоритетом, а для их обработки используется PagerDuty.
#devops #девопс
👉 @devops_star
Эта статья основана на материалах многих инженерных блогов Netflix и проектов с открытым исходным кодом.
Планирование: Netflix Engineering использует JIRA для планирования и Confluence для документирования.
Код: Java - основной язык программирования для сервисов бэкенда, другие языки используются для различных задач.
Сборка: Для сборки в основном используется Gradle, а для поддержки различных вариантов использования создаются плагины Gradle.
Упаковка: Пакет и зависимости упаковываются в машинный образ Amazon (AMI) для выпуска.
Тестирование: Тестирование подчеркивает ориентацию продакшен-культуры на создание хаос-инструментов.
Развертывание: Для развертывания Netflix использует самостоятельно созданный Spinnaker.
Мониторинг: Метрики мониторинга централизованы в Atlas, а для выявления аномалий используется Kayenta.
Отчет об инцидентах: Инциденты рассылаются в соответствии с приоритетом, а для их обработки используется PagerDuty.
#devops #девопс
👉 @devops_star
👍1
Kargo
Это платформа следующего поколения для организации непрерывной доставки и оркестрации жизненного цикла приложений для Kubernetes. Она основывается на принципах GitOps и интегрируется с существующими технологиями, такими как Argo CD, чтобы упростить и автоматизировать поэтапный выпуск изменений на различных этапах жизненного цикла приложения.
https://github.com/akuity/kargo
#devops #девопс
👉 @devops_star
Это платформа следующего поколения для организации непрерывной доставки и оркестрации жизненного цикла приложений для Kubernetes. Она основывается на принципах GitOps и интегрируется с существующими технологиями, такими как Argo CD, чтобы упростить и автоматизировать поэтапный выпуск изменений на различных этапах жизненного цикла приложения.
https://github.com/akuity/kargo
#devops #девопс
👉 @devops_star
👍3
5 вариантов генерации конфигурационных файлов Shell-скриптами
Подготовка конфигурационных файлов из шаблонов — весьма распространённая задача системного администрирования. Решать её можно разными способами, каждый из которых хорош по-своему, здесь же мы рассмотрим, как это сделать с помощью Shell-скриптов.
https://habr.com/ru/companies/ruvds/articles/843048/
#devops #девопс
👉 @devops_star
Подготовка конфигурационных файлов из шаблонов — весьма распространённая задача системного администрирования. Решать её можно разными способами, каждый из которых хорош по-своему, здесь же мы рассмотрим, как это сделать с помощью Shell-скриптов.
https://habr.com/ru/companies/ruvds/articles/843048/
#devops #девопс
👉 @devops_star
👍1
DCGM-Exporter
Экспортер метрик NVIDIA GPU для Prometheus с использованием DCGM
Чтобы собирать метрики на узле с GPU, просто запустите контейнер dcgm-exporter:
https://github.com/NVIDIA/dcgm-exporter
#devops #девопс
👉 @devops_star
Экспортер метрик NVIDIA GPU для Prometheus с использованием DCGM
Чтобы собирать метрики на узле с GPU, просто запустите контейнер dcgm-exporter:
docker run -d --gpus all --rm -p 9400:9400 nvcr.io/nvidia/k8s/dcgm-exporter:3.3.8-3.6.0-ubuntu22.04
curl localhost:9400/metrics
# HELP DCGM_FI_DEV_SM_CLOCK SM clock frequency (in MHz).
# TYPE DCGM_FI_DEV_SM_CLOCK gauge
# HELP DCGM_FI_DEV_MEM_CLOCK Memory clock frequency (in MHz).
# TYPE DCGM_FI_DEV_MEM_CLOCK gauge
# HELP DCGM_FI_DEV_MEMORY_TEMP Memory temperature (in C).
# TYPE DCGM_FI_DEV_MEMORY_TEMP gauge
...
DCGM_FI_DEV_SM_CLOCK{gpu="0", UUID="GPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52"} 139
DCGM_FI_DEV_MEM_CLOCK{gpu="0", UUID="GPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52"} 405
DCGM_FI_DEV_MEMORY_TEMP{gpu="0", UUID="GPU-604ac76c-d9cf-fef3-62e9-d92044ab6e52"} 9223372036854775794
...
https://github.com/NVIDIA/dcgm-exporter
#devops #девопс
👉 @devops_star
GitHub
GitHub - NVIDIA/dcgm-exporter: NVIDIA GPU metrics exporter for Prometheus leveraging DCGM
NVIDIA GPU metrics exporter for Prometheus leveraging DCGM - NVIDIA/dcgm-exporter
👍1
Настраиваем работу конвейера CI/CD (почти) без рук. Опыт использования Orchestra R в энтерпрайзе
Компании, что используют Jenkins в качестве CI/CD‑инструмента, обычно делают несколько экземпляров, если в разработке участвует множество команд или приходится работать с большим количеством проектов. При этом оркестрация Jenkins-ов в командах — не самая простая работа, а во многом ещё и рутинная. С одной стороны, сложно соблюдать все требования сборки и тестирования и вовремя находить согласующих. С другой, одним скриптом невозможно решить всю задачу от получения доступов до вывода релизов в эксплуатацию.
Есть правило, что если система становится слишком сложной, то люди чаще ищут способы обойти алгоритмы, а не следовать им. Чтобы не усложнять систему, а разложить всё по ролям и этапам, мы пришли к созданию собственного инструмента — Orchestra R. С его помощью мы хотели не только автоматизировать работу конвейера CI/CD, но и упростить жизнь всех DevOps‑инженеров. В этом материале поделимся особенностями работы инструмента и опытом эксплуатации в СберТехе.
https://habr.com/ru/companies/sberbank/articles/855556/
#devops #девопс
👉 @devops_star
Компании, что используют Jenkins в качестве CI/CD‑инструмента, обычно делают несколько экземпляров, если в разработке участвует множество команд или приходится работать с большим количеством проектов. При этом оркестрация Jenkins-ов в командах — не самая простая работа, а во многом ещё и рутинная. С одной стороны, сложно соблюдать все требования сборки и тестирования и вовремя находить согласующих. С другой, одним скриптом невозможно решить всю задачу от получения доступов до вывода релизов в эксплуатацию.
Есть правило, что если система становится слишком сложной, то люди чаще ищут способы обойти алгоритмы, а не следовать им. Чтобы не усложнять систему, а разложить всё по ролям и этапам, мы пришли к созданию собственного инструмента — Orchestra R. С его помощью мы хотели не только автоматизировать работу конвейера CI/CD, но и упростить жизнь всех DevOps‑инженеров. В этом материале поделимся особенностями работы инструмента и опытом эксплуатации в СберТехе.
https://habr.com/ru/companies/sberbank/articles/855556/
#devops #девопс
👉 @devops_star
👍1
Docker vs. Kubernetes. Что мы должны использовать?
Что такое Docker?
Docker - это платформа с открытым исходным кодом, которая упрощает создание, распространение и запуск приложений с помощью контейнеров. Она позволяет создавать легкие, переносимые, самодостаточные контейнеры из любого приложения со всеми его зависимостями.
Что такое Kubernetes?
Kubernetes, также известная как K8s, - это система с открытым исходным кодом для автоматизации развертывания, масштабирования и управления контейнерными приложениями. Она группирует контейнеры, из которых состоит приложение, в логические блоки для удобства управления и обнаружения в кластере машин. Для запуска контейнеров в Kubernetes используются не Docker Engine, а такие среды выполнения контейнеров, как containerd и CRI-O.
Чем они отличаются?
Docker ориентирован на автоматизацию создания и развертывания отдельных контейнеров на одном узле. Хотя он может управлять коллекциями контейнеров с помощью Docker Swarm, он более ограничен по сравнению с Kubernetes с точки зрения масштабируемости и возможностей.
Kubernetes продвинулась дальше в области оркестровки контейнеров, управляя кластерами узлов, на которых работают Linux-контейнеры. Она обеспечивает планирование, балансировку нагрузки и предоставляет надежную платформу для автоматизации развертывания, масштабирования и обеспечения требуемого состояния приложений.
Таким образом, Docker отлично справляется с управлением контейнерами на одной системе, а Kubernetes предназначен для управления и масштабирования многоконтейнерных приложений в кластерах.
#devops #девопс
👉 @devops_star
Что такое Docker?
Docker - это платформа с открытым исходным кодом, которая упрощает создание, распространение и запуск приложений с помощью контейнеров. Она позволяет создавать легкие, переносимые, самодостаточные контейнеры из любого приложения со всеми его зависимостями.
Что такое Kubernetes?
Kubernetes, также известная как K8s, - это система с открытым исходным кодом для автоматизации развертывания, масштабирования и управления контейнерными приложениями. Она группирует контейнеры, из которых состоит приложение, в логические блоки для удобства управления и обнаружения в кластере машин. Для запуска контейнеров в Kubernetes используются не Docker Engine, а такие среды выполнения контейнеров, как containerd и CRI-O.
Чем они отличаются?
Docker ориентирован на автоматизацию создания и развертывания отдельных контейнеров на одном узле. Хотя он может управлять коллекциями контейнеров с помощью Docker Swarm, он более ограничен по сравнению с Kubernetes с точки зрения масштабируемости и возможностей.
Kubernetes продвинулась дальше в области оркестровки контейнеров, управляя кластерами узлов, на которых работают Linux-контейнеры. Она обеспечивает планирование, балансировку нагрузки и предоставляет надежную платформу для автоматизации развертывания, масштабирования и обеспечения требуемого состояния приложений.
Таким образом, Docker отлично справляется с управлением контейнерами на одной системе, а Kubernetes предназначен для управления и масштабирования многоконтейнерных приложений в кластерах.
#devops #девопс
👉 @devops_star
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Cilicon - это приложение для macOS, использующее фреймворк виртуализации Apple для создания, предоставления и запуска эфемерных виртуальных машин CI с производительностью, близкой к нативной. В настоящее время оно поддерживает Github Actions, Buildkite Agent, GitLab Runner и произвольные скрипты.
В зависимости от ваших настроек, вы сможете запустить свой собственный CI в считанные минуты 🚀.
https://github.com/traderepublic/Cilicon
#devops #девопс
👉 @devops_star
В зависимости от ваших настроек, вы сможете запустить свой собственный CI в считанные минуты 🚀.
https://github.com/traderepublic/Cilicon
#devops #девопс
👉 @devops_star
👍1
SLD (Stack-Lifecycle-Deployment)
OpenSource решение для самообслуживания инфраструктуры, которое определяет и управляет полным жизненным циклом ресурсов, используемых и развёртываемых в облаке! Это интерфейс для Terraform с REST API для автоматизации Terraform и OpenTofu.
https://github.com/D10S0VSkY-OSS/Stack-Lifecycle-Deployment
#devops #девопс
👉 @devops_star
OpenSource решение для самообслуживания инфраструктуры, которое определяет и управляет полным жизненным циклом ресурсов, используемых и развёртываемых в облаке! Это интерфейс для Terraform с REST API для автоматизации Terraform и OpenTofu.
https://github.com/D10S0VSkY-OSS/Stack-Lifecycle-Deployment
#devops #девопс
👉 @devops_star
👍2❤1
Pghero
Панель управления производительностью для Postgres
https://github.com/ankane/pghero
#devops #девопс
👉 @devops_star
Панель управления производительностью для Postgres
https://github.com/ankane/pghero
#devops #девопс
👉 @devops_star
👍1
Для чего используется Kubectl?
1. Управление ресурсами: создавать, обновлять и удалять ресурсы в кластере (например, Pod, Deployment, Service).
2. Мониторинг и отладка: просматривать информацию о текущем состоянии ресурсов и кластера, диагностировать проблемы.
3. Запуск команд в кластере: запускать команды внутри контейнеров, например, для проверки их состояния или выполнения отладочных задач.
4. Обновление приложений: управлять версиями и состоянием развернутых приложений, поддерживать их обновление и масштабирование.
5. Настройка кластера: управлять конфигурациями, такими как сетевые настройки и политика безопасности.
Пример команды
Эта команда возвращает информацию обо всех запущенных подах, их состоянии и доступных IP-адресах.
#devops #девопс
👉 @devops_star
kubectl — это командная утилита для взаимодействия с Kubernetes-кластером. Она используется для выполнения различных операций по управлению кластерами и развертыванию приложений. С kubectl можно выполнять следующие задачи:1. Управление ресурсами: создавать, обновлять и удалять ресурсы в кластере (например, Pod, Deployment, Service).
2. Мониторинг и отладка: просматривать информацию о текущем состоянии ресурсов и кластера, диагностировать проблемы.
3. Запуск команд в кластере: запускать команды внутри контейнеров, например, для проверки их состояния или выполнения отладочных задач.
4. Обновление приложений: управлять версиями и состоянием развернутых приложений, поддерживать их обновление и масштабирование.
5. Настройка кластера: управлять конфигурациями, такими как сетевые настройки и политика безопасности.
Пример команды
kubectl для получения списка всех подов в текущем пространстве имён:
kubectl get pods
Эта команда возвращает информацию обо всех запущенных подах, их состоянии и доступных IP-адресах.
#devops #девопс
👉 @devops_star
👍1
Чем отличается StatefulSet от Deployment?
Deployment — ресурс Kubernetes предназнваенный для развертывания приложения без сохранения состояния. При использовании PVC все реплики будут использовать один и тот же том, и ни один из них не будет иметь собственного состояния.
StatefulSet — поддерживают состояние приложений за пределами жизненного цикла отдельных модулей pod, например для хранилища. Используется для приложений с отслеживанием состояния, каждая реплика модуля будет иметь собственное состояние и будет использовать свой собственный том.
#devops #девопс
👉 @devops_star
Deployment — ресурс Kubernetes предназнваенный для развертывания приложения без сохранения состояния. При использовании PVC все реплики будут использовать один и тот же том, и ни один из них не будет иметь собственного состояния.
StatefulSet — поддерживают состояние приложений за пределами жизненного цикла отдельных модулей pod, например для хранилища. Используется для приложений с отслеживанием состояния, каждая реплика модуля будет иметь собственное состояние и будет использовать свой собственный том.
#devops #девопс
👉 @devops_star
👍1
Unused
CLI-инструмент, экспортер для Prometheus и модуль на Go для перечисления неиспользуемых дисков во всех облачных провайдерах
Этот репозиторий содержит библиотеку на Go для поиска ваших неиспользуемых постоянных дисков у разных облачных провайдеров, а также бинарные файлы для отображения этой информации в CLI или экспорта метрик для Prometheus.
В Grafana Labs мы размещаем рабочие нагрузки у разных облачных провайдеров. Оркестрация рабочих нагрузок управляется Kubernetes, и мы обнаружили, что из-за некоторых ошибок в конфигурации системы хранения у нас накапливалось множество неиспользуемых ресурсов, особенно постоянных дисков. Эти утечки ресурсов стоят денег, и, поскольку эти ресурсы больше не используются, это приводит к финансовым потерям. Эта библиотека и сопутствующие инструменты помогут вам определить такие ресурсы и очистить их.
https://github.com/grafana/unused
#devops #девопс
👉 @devops_star
CLI-инструмент, экспортер для Prometheus и модуль на Go для перечисления неиспользуемых дисков во всех облачных провайдерах
Этот репозиторий содержит библиотеку на Go для поиска ваших неиспользуемых постоянных дисков у разных облачных провайдеров, а также бинарные файлы для отображения этой информации в CLI или экспорта метрик для Prometheus.
В Grafana Labs мы размещаем рабочие нагрузки у разных облачных провайдеров. Оркестрация рабочих нагрузок управляется Kubernetes, и мы обнаружили, что из-за некоторых ошибок в конфигурации системы хранения у нас накапливалось множество неиспользуемых ресурсов, особенно постоянных дисков. Эти утечки ресурсов стоят денег, и, поскольку эти ресурсы больше не используются, это приводит к финансовым потерям. Эта библиотека и сопутствующие инструменты помогут вам определить такие ресурсы и очистить их.
https://github.com/grafana/unused
#devops #девопс
👉 @devops_star
👍1
Что такое 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 #девопс
👉 @devops_star
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 #девопс
👉 @devops_star
👍1
Для чего нужна команда git commit --amend?
Команда
Основные случаи использования:
1. Изменение сообщения коммита: если было допущено опечатку или необходимо уточнить содержание сообщения коммита.
2. Добавление изменений в последний коммит: если были забыты изменения, которые нужно включить в последний коммит, можно их добавить, выполнить
3. Удаление ненужных файлов: если случайно добавлен лишний файл, можно удалить его с помощью
После выполнения
#devops #девопс
👉 @devops_star
Команда
git commit --amend используется для изменения последнего коммита в локальном репозитории. Она позволяет исправить сообщение коммита, добавить в него изменения, которые не были учтены, или удалить файлы, которые не должны были быть в коммите. Основные случаи использования:
1. Изменение сообщения коммита: если было допущено опечатку или необходимо уточнить содержание сообщения коммита.
git commit --amend -m "Новое сообщение коммита"
2. Добавление изменений в последний коммит: если были забыты изменения, которые нужно включить в последний коммит, можно их добавить, выполнить
git add для этих файлов и затем git commit --amend, чтобы объединить их с предыдущим коммитом.3. Удаление ненужных файлов: если случайно добавлен лишний файл, можно удалить его с помощью
git rm, затем выполнить git commit --amend, чтобы пересобрать коммит без этого файла.После выполнения
git commit --amend создается новый коммит с измененной историей, что важно помнить, если работа ведется в команде.#devops #девопс
👉 @devops_star
❤3👍1
Sudo без бинарного setuid или SSH через UNIX-сокет
В этом посте я подробно расскажу, как заменить
Я считаю, что программы с
Это связано с работой группы Confined Users SIG в Fedora.
https://tim.siosm.fr/blog/2023/12/19/ssh-over-unix-socket/
#devops #девопс
👉 @devops_star
В этом посте я подробно расскажу, как заменить
sudo (программу с setuid), используя SSH через локальный UNIX-сокет.Я считаю, что программы с
setuid / setgid — это устаревшая часть наследия UNIX, которую следует исключить. В будущем посте я объясню причины безопасности, стоящие за этим утверждением.Это связано с работой группы Confined Users SIG в Fedora.
https://tim.siosm.fr/blog/2023/12/19/ssh-over-unix-socket/
#devops #девопс
👉 @devops_star
👍1
Деплой больших инфраструктур в Yandex Cloud: как минимизировать риски и ошибки
Привет, я Алексей Колосков, DevOps‑инженер Hilbert Team. Сегодня я расскажу вам историю о компании, которая из маленькой облачной инфраструктуры выросла до сложного решения с использованием Infrastructure as Code (IaC) и Terraform. И, как это часто бывает, в процессе роста учли не всё. Все персонажи вымышлены и любые совпадения случайны (ну, почти).
В этой статье покажу грабли, на которые можно наступить при росте облачной инфраструктуры, и расскажу, как их обойти.
https://habr.com/ru/companies/yandex_cloud_and_infra/articles/858704/
#devops #девопс
👉 @devops_star
Привет, я Алексей Колосков, DevOps‑инженер Hilbert Team. Сегодня я расскажу вам историю о компании, которая из маленькой облачной инфраструктуры выросла до сложного решения с использованием Infrastructure as Code (IaC) и Terraform. И, как это часто бывает, в процессе роста учли не всё. Все персонажи вымышлены и любые совпадения случайны (ну, почти).
В этой статье покажу грабли, на которые можно наступить при росте облачной инфраструктуры, и расскажу, как их обойти.
https://habr.com/ru/companies/yandex_cloud_and_infra/articles/858704/
#devops #девопс
👉 @devops_star
👍2
Media is too big
VIEW IN TELEGRAM
Правильный DevOps для Spring Boot и Java
Рустам Курамшин
В докладе рассматриваются следующие темы: оптимизация сборки образа приложения, изменение конфигурации приложения без релиза и выделение накатки миграции на БД в отдельную джобу. Все три темы раскрыты очень хорошо.
источник
#devops #девопс
👉 @devops_star
Рустам Курамшин
В докладе рассматриваются следующие темы: оптимизация сборки образа приложения, изменение конфигурации приложения без релиза и выделение накатки миграции на БД в отдельную джобу. Все три темы раскрыты очень хорошо.
источник
#devops #девопс
👉 @devops_star
👍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
#devops #девопс
👉 @devops_star
Больше не нужно покидать терминал, чтобы использовать секреты при разработке, тестировании и создании приложений.
Вместо использования кастомных скриптов, токенов в файлах .zshrc, видимых команд EXPORT в истории bash, ошибочно размещенных файлов .env.production и других уязвимостей на рабочей станции, просто используйте Teller и подключите его к любому хранилищу секретов, ключевому хранилищу или облачному сервису, который вам нужен (Teller поддерживает HashiCorp Vault, AWS Secrets Manager, Google Secret Manager и многие другие).
Вы можете использовать Teller для упорядочения своего окружения или внедрения его как процесса и лучшей практики для вашей команды.
https://github.com/tellerops/teller
#devops #девопс
👉 @devops_star
👍1