В этой статье мы будем говорить о нашей старой инфраструктуре, основанной на Nginx, ее болячках, а также выгоде, которую мы получили после миграции на Envoy. Мы сравним Nginx и Envoy различными способами. Также кратко коснемся процесса миграции, текущего состояния, а также проблем, возникших при переходе.
Рубрика «devops» - 29
Как мы в Dropbox перешли с Nginx на Envoy
2020-08-02 в 19:52, admin, рубрики: bazel, devops, DropBox, envoy, golang, nginx, Блог компании Southbridge, Серверное администрирование, системное администрированиеСценарии использования service mesh
2020-07-30 в 6:49, admin, рубрики: devops, kubernetes, service mesh, Блог компании Флант, микросервисы, сервисная сетка, системное администрированиеПрим. перев.: автор это статьи (Luc Perkins) — developer advocate в организации CNCF, являющейся домом для таких Open Source-проектов, как Linkerd, SMI (Service Mesh Interface) и Kuma (кстати, вы тоже задумывались, почему в этом списке нет Istio?..). В очередной раз пытаясь принести в DevOps-сообщество лучшее понимание в модный хайп под названием «service mesh», он приводит 16 характерных возможностей, которые предоставляют подобные решения.
Сегодня service mesh ― одна из самых горячих тем в области программной инженерии (и по праву!). Я считаю эту технологию невероятно перспективной и мечтаю стать свидетелем ее широкого распространения (конечно, когда это имеет смысл). Тем не менее, она до сих пор окружена ореолом таинственности для большинства людей. При этом даже те, кто хорошо знаком с ней, нередко затрудняются сформулировать ее плюсы и что именно она собой представляет (включая и вашего покорного слугу). В статье я попытаюсь исправить ситуацию, перечислив различные сценарии использования «сервисных сеток»*.Читать полностью »
Аутентификация и чтение секретов в HashiCorp’s Vault через GitLab CI
2020-07-28 в 11:28, admin, рубрики: devops, Git, gitlab ci, integration, jwt, security, Vault, Блог компании Nixys, информационная безопасностьДоброго времени суток, читатель!
22 апреля в GitLab выпустили релиз 12.10 и сообщили о том, что теперь CI-процесс может авторизовываться в Hashicorp's Vault через JSON Web Token (JWT), и для авторизации нет необходимости хранить токен для доступа к нужным policy в переменных окружения (или где-либо ещё).
Данная фича показалась нам полезной, поэтому предлагаем перевод соотвествующего туториала из официальной документации GitLab:
Squzy — бесплатная open-source self-host система мониторинга с инцидентами и уведомлениями
2020-07-26 в 11:54, admin, рубрики: devops, Go, open source, Агент, метрики, Программирование, системное администрированиеОднажды знойным зимним вечером к нам пришла идея написать приложение для проверки Sitemap фирмы, в которой мы работаем, с возможностью нотификации при возникновении ошибки.
Постепенно эта идея перешла к реализации, там появились мысли по улучшению, возник мониторинг хостов, затем — мониторинг приложений, и как вишенка на торте — инциденты с нотификацией.
В итоге мы получили полноценную систему мониторинга, являющуюся полностью open-source self-host решением, не имеющим внешних коммуникаций, с полностью определяемыми пользователем инцидентами.
И в этом посте мы хотим познакомить Вас с получившимся продуктом.
Читать полностью »
В Kubernetes 1.18 сломали «kubectl run». Что на замену?
2020-07-22 в 12:24, admin, рубрики: api, devops, k8s, kubectl run, kubernetes, благими намерениями, Блог компании Southbridge, версия 1.16 K8s, версия 1.18 K8s, работает - не трогай, Серверное администрирование, системное администрирование, хотели как лучшеЕсли вы применяли в работе предыдущие выпуски Kubernetes — тот же 1.16 — вы, возможно, видели странное предупреждение от kubectl run
.
До недавнего времени этой командой можно было сгенерировать объекты для развертывания или YAML из командной строки. Начиная с Kubernetes 1.18 такая возможность была сломана весьма удивительным образом. В статье будут ответы на вопросы «Почему?» и «Как дальше с этим жить?»
Отслеживание ошибок в приложении React с помощью Sentry
2020-07-20 в 7:27, admin, рубрики: devops, React, Sentry, отладка, Тестирование IT-систем, Тестирование веб-сервисовСегодня я расскажу вам об отслеживании ошибок в реальном времени в приложении React. Приложение внешнего интерфейса обычно не используется для отслеживания ошибок. Некоторые компании часто откладывают отслеживание ошибок, возвращаясь к нему после документации, тестов и прочего. Однако, если вы можете изменить свой продукт в лучшую сторону, то просто сделайте это!
Масштабирование CI-CD монорепозитория
2020-07-19 в 13:49, admin, рубрики: bamboo, bash, bash scripting, ci/cd, continuous integration, devops, horizontal scaling, lerna, monorepo, scalability, shell, shell scripting, yarn workspacesДано
- Монорепозиторий на базе Lerna и Yarn workspaces.
- Десяток приложений, и десятки общих пакетов на TypeScript, Angular, NodeJS.
- Высокое покрытие тестами самых разных мастей (модульные, интеграционные, e2e).
- и Atlassian Bamboo CI/CD.
Задача
Ускорить имеющиеся пайплайны в 2 раза (до, хотя бы, получаса). Попутно повысив стабильность до 90%.
Забегая вперед, скажу что требуемые показатели были достигнуты.
Валидация Kubernetes YAML на соответствие лучшим практикам и политикам
2020-07-15 в 9:34, admin, рубрики: config-lint, conftest, copper, devops, kube-score, kubernetes, kubeval, Polaris, yaml, Блог компании Флант, системное администрированиеПрим. перев.: С ростом числа YAML-конфигураций для K8s-окружений всё более актуальной становится потребность в их автоматизированной проверке. Автор этого обзора не просто отобрал существующие решения для этой задачи, но и на примере Deployment'а посмотрел, как они работают. Получилось весьма информативно для тех, кому эта тема интересна.
TL;DR: В статье сравниваются шесть статических инструментов проверки и оценки YAML-файлов Kubernetes на соответствие лучшим практикам и требованиям.
Рабочие нагрузки Kubernetes, как правило, определяются в форме YAML-документов. Одна из проблем с YAML'ом — сложность задания ограничений или взаимоотношений между файлами манифестов.Читать полностью »
Пример event-driven приложения на основе вебхуков в объектном S3-хранилище Mail.ru Cloud Solutions
2020-07-13 в 7:37, admin, рубрики: ci/cd, cloud storage, devops, event-driven, Mail.Ru Cloud Solutions, object storage, s3, webhooks, Блог компании Mail.Ru Group, облачные сервисы, хранение данных, хранилища данных
Event-driven architecture повышает ценовую эффективность используемых ресурсов, потому что они задействуются только в тот момент, когда они нужны. Существует масса вариантов, как это реализовать и не создавать дополнительные облачные сущности в качестве worker-приложений. И сегодня я расскажу не про FaaS, а про вебхуки. Я покажу учебный пример обработки событий с помощью вебхуков объектного хранилища.
Читать полностью »
Простое создание Kubernetes-операторов с shell-operator: прогресс проекта за год
2020-07-10 в 11:08, admin, рубрики: devops, kubernetes, kubernetes operator, open source, Блог компании Флант, системное администрирование, ФлантKubernetes-операторы — удобный механизм для расширения возможностей этой контейнерной платформы, по праву снискавший широкое признание в среде инженеров эксплуатации и им сочувствующих. О том, как они устроены и работают, мы рассказывали в уже далёком 2017-м. А в апреле прошлого года мы представили Open Source-проект shell-operator, который значительно упростил процесс создания Kubernetes-операторов.
Для этого был разработан фреймворк, позволяющий запускать произвольные скрипты (на Bash, Python и т.п.) в случае наступления определённых событий в K8s-кластере.
За минувшее время shell-operator обрёл свою пользовательскую базу (см. подробности в конце статьи) и, конечно, новые возможности. По случаю недавнего релиза v1.0.0-beta.11 (о бета-статусе см. дальше) мы решили рассказать о том, к чему проект пришёл за время своего существования, с момента анонса первой публичной версии.Читать полностью »