Как стать автором
Обновить
37
0
Ilya Andreev @IlyaArens

Systems Engineer

Отправить сообщение

Опыт миграции инфраструктуры клиента из AWS в Яндекс.Облако

Время на прочтение7 мин
Количество просмотров10K

Задача по миграции из одного облака в другое, на самом деле, довольно распространенная в нашей практике. Происходит это по разным причинам: ценовая политика облачного провайдера, требования местного законодательства, наличие отдельных преимуществ облака, в которое мы будем переезжать…

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

Читать далее
Всего голосов 37: ↑37 и ↓0+37
Комментарии6

Аварии как опыт #3. Как мы спасали свой мониторинг во время аварии в OVH

Время на прочтение7 мин
Количество просмотров8K

В данной статье я поделюсь опытом, как недавняя авария в OVH отразилась на нашей инфраструктуре мониторинга, как мы решали проблему и какие уроки из этого извлекли.

Начать стоит с того, как во «Фланте» вообще устроен мониторинг клиентских приложений и инфраструктуры в целом…

Читать далее
Всего голосов 47: ↑47 и ↓0+47
Комментарии5

Запускаем тесты на GitLab Runner с werf — на примере SonarQube

Время на прочтение6 мин
Количество просмотров7.6K


Если в качестве инфраструктуры, где разворачивается приложение, выступает Kubernetes, можно сказать, что существует два способа запуска тестов (и других утилит для анализа кода) в CI/CD:

  • непосредственно в кластере K8s — с помощью отдельных Job или Helm hooks;
  • «снаружи» K8s — например, на сервере сборки/деплоя или локально у разработчиков.

Первый подход мы достаточно подробно описывали на интересном примере с базами данных в статье «Как мы выносили СУБД (и не только) из review-окружений в статическое». В этой статье рассмотрен более простой путь — запуск вне K8s-кластера. Делать мы это будем на примере SonarQube-тестов в рамках CI/CD, построенного на базе GitLab с использованием werf.
Читать дальше →
Всего голосов 36: ↑36 и ↓0+36
Комментарии0

Из жизни с Kubernetes: Как мы выносили СУБД (и не только) из review-окружений в статическое

Время на прочтение13 мин
Количество просмотров6.4K


Примечание: эта статья не претендует на статус лучшей практики. В ней описан опыт конкретной реализации инфраструктурной задачи в условиях использования Kubernetes и Helm, который может быть полезен при решении родственных проблем.

Использование review-окружений в CI/CD может быть весьма полезным, причём как для разработчиков, так и для системных инженеров. Давайте для начала синхронизируем общие представления о них:

  1. Review-окружения могут создаваться из отдельных веток в Git-репозитории, определяемых разработчиками (так называемые feature-ветки).
  2. Они могут иметь отдельные экземпляры СУБД, обработчиков очередей, кэширующих сервисов и т.п. — в общем, всё для полноценного воспроизведения production-окружения.
  3. Они позволяют вести параллельную разработку, значительно ускоряя выпуск новых функций в приложении. При этом каждый день могут потребоваться десятки подобных окружений, из-за чего скорость их создания критична.

На пересечении второго и третьего пунктов зачастую и возникают сложности: поскольку инфраструктура бывает очень разной, её компоненты могут деплоиться долгое время. В это затрачиваемое время, например, входит восстановление базы данных из уже подготовленного бэкапа*. Статья — о том, каким увлекательным путем мы однажды отправились для решения такой проблемы.
Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии2

Tips & tricks в работе с Ceph в нагруженных проектах

Время на прочтение9 мин
Количество просмотров13K


Используя Ceph как сетевое хранилище в разных по нагруженности проектах, мы можем столкнуться с различными задачами, которые с первого взгляда не кажутся простыми или тривиальными. Например:

  • миграция данных из старого Ceph в новый с частичным использованием предыдущих серверов в новом кластере;
  • решение проблемы распределения дискового пространства в Ceph.

Разбираясь с такими задачами, мы сталкиваемся с необходимостью корректно извлечь OSD без потери данных, что особенно актуально при больших объемах данных. Об этом и пойдет речь в статье.

Описанные ниже способы актуальны для любых версий Ceph. Кроме того, будет учтен тот факт, что в Ceph может храниться большой объем данных: для предотвращения потерь данных и других проблем некоторые действия будут «дробиться» на несколько других.
Читать дальше →
Всего голосов 41: ↑39 и ↓2+37
Комментарии20

Kubernetes tips & tricks: особенности выполнения graceful shutdown в NGINX и PHP-FPM

Время на прочтение8 мин
Количество просмотров18K
Типовое условие при реализации CI/CD в Kubernetes: приложение должно уметь перед полной остановкой не принимать новые клиентские запросы, а самое главное — успешно завершать уже существующие.



Соблюдение такого условия позволяет достичь нулевого простоя во время деплоя. Однако, даже при использовании очень популярных связок (вроде NGINX и PHP-FPM) можно столкнуться со сложностями, которые приведут к всплеску ошибок при каждом деплое…
Читать дальше →
Всего голосов 45: ↑45 и ↓0+45
Комментарии6

Как с tcpserver и netcat открыть туннель в Kubernetes pod или контейнер

Время на прочтение4 мин
Количество просмотров6.2K
Прим. перев.: Эта практическая заметка от создателя LayerCI — отличная иллюстрация так называемых tips & tricks для Kubernetes (и не только). Предлагаемое здесь решение — лишь одно из немногих и, пожалуй, не самое очевидное (для некоторых случаев может подойти уже упомянутый в комментариях «родной» для K8s kubectl port-forward). Однако оно позволяет как минимум посмотреть на проблему с позиции применения классических утилит и их дальнейшего комбинирования — одновременно простого, гибкого и мощного (см. «другие идеи» в конце для вдохновения).



Представьте типичную ситуацию: вы хотите, чтобы порт на локальном компьютере волшебным образом перенаправлял трафик в pod/контейнер (или наоборот).
Читать дальше →
Всего голосов 32: ↑30 и ↓2+28
Комментарии12

Информация

В рейтинге
Не участвует
Работает в
Дата рождения
Зарегистрирован
Активность