Pull to refresh

Управление секретами при деплое в k8s

Level of difficultyMedium
Reading time4 min
Views3K
Привет, Хабр!

В определенный момент мы приходим к понимаю, что процесс, который работает «хорошо», должен начать работать «правильно», особенно, если речь зашла про секреты приложений.

Дано: gitlab(onprem), облако (в моем случае Yandex Cloud), 10+ сервисов, которые нужно активно и часто деплоить (с возможностью быстрого наращивания кол-ва сервисов)

Требования к решению: деплои должны происходить без участия вмешательства инженера непосредственно в процессе деплоя, процесс прозрачен для разработчика и отвечает принятым в компании требованиям к качеству и безопасности.
Читать дальше →
Total votes 3: ↑3 and ↓0+3
Comments3

Встреча разработчиков werf с сообществом. Обсудим новый движок деплоя, проблемы Helm и ответим на все вопросы

Reading time1 min
Views381

На встрече мы расскажем о новом экспериментальном движке деплоя werf, который, сохраняя совместимость с Helm 3, принесет с собой много новых фичей и исправлений: Kubernetes Server-Side Apply вместо Helm 3-way merge, гибкие механизмы, которые позволяют задавать зависимости/очередность ресурсов, команда werf plan и многое другое.

Вторая часть встречи — Q&A. Можно будет задать вопросы команде разработки о новых фичах, использовании werf, построении CI/CD, предложить новые механики работы или просто поделиться своим опытом.

Дата и время: 27 сентября, 18:00 Мск.

Читать далее
Total votes 3: ↑3 and ↓0+3
Comments0

8 лет werf — утилите для построения CI/CD с любой CI-системой: главные события и полезные материалы

Reading time2 min
Views3.3K

Утилите werf, которая позволяет выстраивать CI/CD-пайплайн с любой CI-системой, 22 января исполнилось 8 лет. В 2016 году она начиналась как внутренний проект «Фланта» под названием dapp, а сегодня это уже полноценный Open Source-проект, принятый в CNCF (хотя команда «Фланта» и продолжает развитие проекта). werf только в рамках инфраструктуры клиентов «Фланта» используется примерно на 6000 проектов, а у других пользователей проектов с werf еще больше.

На восемь лет — восемь интересных событий, связанных с werf, за последние годы.

Читать далее
Total votes 16: ↑14 and ↓2+12
Comments3

Создаем Cloud native приложение с помощью Kubernetes

Reading time2 min
Views771

Материал для тех, кто собирается развернуть свое первое приложение в Kubernetes. Пошагово разбираем процесс деплоя — разворачиваем GitLab и показываем, как выстроить пайплайн сборки и запуска приложения. Смотрите видеозапись практического занятия с демонстрацией, а также читайте обзоры и инструкции по Cloud native и Kubernetes. Подробности — под катом.
Читать дальше →
Rating0
Comments1

Docker: На старт. Внимание. Деплой

Reading time5 min
Views26K
Как часто вам приходилось настраивать окружения сервера для деплоя вашего приложения (например веб-сайта)? Наверняка чаще чем хотелось бы.

В лучшем случае, у вас был скрипт, который все это делал автоматически. В худшем случае, это могло выглядеть вот так:

  • установить базу данных D версии x.x.x
  • установить веб сервер N версии x.x и т.д.

Управление окружением, сконфигурированное подобным образом, со временем становится очень ресурсозатратным. Любое, даже незначительное изменение в конфигурации означает как минимум:

  • что каждый разработчик должен быть в курсе данных изменений
  • все эти изменения должны быть безболезненно добавлены в продакшн среду

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

Выше я описал то, что называется vendor lock-in. Для разработки приложений, в частности серверного типа, это явление становится большой проблемой. В данной статье мы рассмотрим одно из возможных решений — Docker. Вы узнаете, как создать, задеплоить и запустить приложение на его основе.


Читать дальше →
Total votes 18: ↑6 and ↓12-6
Comments2

HighLoad++, Евгений Кузовлев (EcommPay IT): что делать, когда минута простоя стоит $100000

Reading time25 min
Views17K
Все рассказывают про процессы разработки и тестирования, обучения персонала, повышение мотивации, но этих процессов мало, когда минута простоя сервиса стоит космических денег. Что делать, когда вы проводите финансовые транзакции под жесткий SLA? Как повысить надежность и отказоустойчивость ваших систем, вынося за скобки разработку и тестирование?



Следующая конференция HighLoad++ пройдет 6 и 7 апреля 2020 года в Санкт-Петербурге. Подробности и билеты по ссылке. 9 ноября, 18:00. HighLoad++ Moscow 2018, зал «Дели + Калькутта». Тезисы и презентация.
Total votes 31: ↑30 and ↓1+29
Comments12

Выкладка go pet проекта на VPS

Reading time4 min
Views4.3K
Привет, Хабр! Меня зовут Артем Желтак, я teamlead, а также преподаватель курса “Разработчик Golang” в OTUS. В преддверии старта нового потока курса, хочу поделиться с вами своей авторской статьей.


Я верю, что Golang прекрасен, но в мире еще много php и других проектов работающих на VPS, VDS. Можно поставить туда докер, но это (по мнению автора) переусложнение задачи. Можно компилировать файлик и загружать по FTP — небезопасно и не по феншую, SFTP — безопаснее, но снова не феншуй. Тогда давайте автоматизируем этот процесс через CircleCI. Мы будем по шагам писать файл конфигурации для CI, в конце соберем результат и запустим deploy.



Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments4

Python-Celery in Windows with Docker managing

Reading time2 min
Views13K
Для того чтобы 'адекватно' отладить Celery из-под Windows существует несколько путей таких как:

> celery worker --app=demo_app.core --pool=solo --loglevel=INFO

Но, по факту для нормальной разработки нужна Unix-система. Если у Вас нет возможности использовать её как родную, то стоит задуматься…) Ну а если честно, то выход всегда есть и это Docker, а также WSL. Если Вы используете такие «крутые» IDE, как PyCharm, то всё так же усложняется, ведь тогда при использовании интерпретатора с источником из WSL после установки пакета через pip скелет проекта придётся обновлять вручную из-за проблем с индексацией.
Читать дальше →
Total votes 3: ↑3 and ↓0+3
Comments2

Организация деплоя в множество k8s окружений с помощью helmfile

Reading time7 min
Views21K

Helmfile — обёртка для helm, которая позволяет в одном месте описывать множество helm релизов, параметризовать их чарты для нескольких окружений, а также задавать порядок их деплоя.


О самом helmfile и примерах его использования можно почитать в readme и best practices guide.


Upd. 10/06/2022: Со временем довёл до ума этот подход и получилось гораздо лучше и удобнее, чем описано в статье. При возможности напишу отдельный пост, а пока с примерами улучшенного варианта можно ознакомиться здесь и здесь.

Мы же познакомимся с неочевидными способами описать релизы в helmfile


Допустим, у нас есть пачка helm-чартов (для примера пусть будет postgres и некое backend приложение) и несколько окружений (несколько kubernetes кластеров, несколько namespace'ов или несколько и того, и другого). Берём helmfile, читаем документацию и начинаем описывать наши окружения и релизы:


    .
    ├── envs
    │   ├── devel
    │   │   └── values
    │   │       ├── backend.yaml
    │   │       └── postgres.yaml
    │   └── production
    │       └── values
    │           ├── backend.yaml
    │           └── postgres.yaml
    └── helmfile.yaml
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments0

Один день из жизни DevOps

Reading time10 min
Views8.5K



Накануне запуска курса «DevOps-практики и инструменты» мы провели очередной открытый урок. Вебинар получился весьма содержательным. По сути, это была полуторачасовая практика в режиме нон-стоп:

  • рассмотрели 4 основных инструмента современного DevOps-инженера, каждый из которых реализует базовые практики: инфраструктура как код, CI/CD, обратная связь;
  • научились не ломать историю в Git и хорошо работать в команде;
  • обсудили, чем Ansible отличается от других систем, и почему именно его мы изучаем на курсе;
  • рассмотрели Docker и рассказали, почему контейнеры и микросервисы чаще побеждают монолитные архитектуры.

Рабочая среда:

  • Ubuntu 18.04;
  • Python 3;
  • весь необходимый софт устанавливали в процессе вебинара.

Преподаватель — Лев Николаев, DevOps-инженер и тренер в компании «Экспресс 42». Занятие прошло в режиме «Демо».
Читать дальше →
Total votes 14: ↑11 and ↓3+8
Comments2

Разработка приложений опираясь на методологию The Twelve-Factor App с примерами на php и docker

Reading time12 min
Views10K


Для начала немного теории. Что такое The Twelve-Factor App?


Простыми словами, это документ призванный упростить разработку SaaS приложений, помогает тем что, осведомляет разработчиков и DevOps инженеров о проблемах \ практиках которые чаще всего встречались в разработке современных приложений.

Документ сформирован разработчиками платформы Heroku.

Методология двенадцати факторов(The Twelve-Factor App) может быть применена для приложений, написанных на любом языке программирования и использующих любые комбинации сторонних служб (backing services) (базы данных, очереди сообщений, кэш-памяти, и т.д.).
Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments7

Быстрый деплой vm ESXi с помощью Terraform

Reading time7 min
Views23K
Всем привет, меня зовут Иван и я алкоголик системный администратор (OPS).

Я бы хотел рассказать как разворачиваю виртуальные машины на ESXi без vCenter с помощью Terraform.
Читать дальше →
Total votes 13: ↑10 and ↓3+7
Comments14

Строим pipeline для доставки Graal Native Image конечным пользователям

Reading time7 min
Views1.1K

В данной статье я хочу описать свой опыт по доставке Graal Native Image конечным пользователям Mac OS и Linux в одну команду при помощи Travis CI.


Когда я столкнулся с данной задачей, я ощутил нехватку информации по этой теме, поэтому я решил описать свой опыт здесь.


Пожалуй начнем.


У меня есть:


  • Java приложение со всеми конфигурациями для сборки native image.

Что хочу получить:


  • Собрать native image при помощи Travis
  • Собрать rpm и deb дистрибутивы, а также архив для mac версии
  • Залить полученные пакеты на Bintray
  • Дать пользователям возможность загрузить приложение через пакетный менеджер
  • Максимально автоматизировать процесс.
Поехали
Total votes 3: ↑3 and ↓0+3
Comments0

Погружение в Helm Package Manager. Часть вторая

Reading time11 min
Views17K

Helm — один из самых популярных пакетных менеджеров для Kubernetes, так что познакомиться с ним поближе стоит всем, кто сталкивается с задачами деплоя приложений. Эта статья завершает мое краткое, но достаточно полное введение в Helm.

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments9

Универсальный Helm-чарт для ваших приложений

Reading time5 min
Views12K

Приветствую всех Хабровчан. Сегодня говорим про Helm и то, как мы у себя в Nixys пришли к универсальному чарту, который стали использовать в своей работе как стандартный инструмент и почему это сделало нашу работу эффективнее.

Читать далее
Total votes 22: ↑21 and ↓1+20
Comments11

Как мы в команде Oracle-разработки организовали deploy

Reading time8 min
Views2.9K

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

Читать далее
Total votes 9: ↑6 and ↓3+3
Comments11

Универсальный Helm-чарт v2.0

Reading time4 min
Views5K

Прошло чуть больше 2 месяцев с момента релиза первой версии универсального чарта, и мы рады представить чарт версии 2.0. В этой статье расскажу что нового, и рассмотрим на примере, как это работает.

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments3

Как автодеплой ускорил разработку нашей системы управления производственными процессами

Reading time8 min
Views2.3K

Помните, недавно мы рассказывали, как несколько лет создавали нашу систему управления производственными процессами (MES)? Мы бы ее еще дольше создавали (и тому были объективные причины, включая переоценку своих сил подрядчиками), если бы не он. Автодеплой нам в помощь! 
Я, Куликов Алексей, являюсь техническим архитектором MES-системы, хочу рассказать о том, как мы пришли к развертыванию MES-приложения при помощи автоматизированных решений и как это оптимизировало нашу работу.

DEPLOY!
Total votes 3: ↑2 and ↓1+1
Comments0
1
23 ...