Как стать автором
Обновить
115
0

Пользователь

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

Резервное копирование, часть 4: Обзор и тестирование zbackup, restic, borgbackup

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


В данной статье будут рассматриваться программные средства для резервного копирования, которые путем разбиения потока данных на отдельные компоненты (chunks), формируют репозиторий.


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


Резервная копия в подобном репозитории — именованная цепочка связанных друг с другом компонентов, например, на основе различных hash-функций.


Есть несколько подобных решений, я остановлюсь на 3: zbackup, borgbackup и restic.

Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии20

Резервное копирование, часть 3: Обзор и тестирование duplicity, duplicati

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


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


Из тех, которые удовлетворяют требованиям — duplicity (к которому есть приятный интерфейс в виде deja dup) и duplicati.


Еще одно весьма примечательное средство резервного копирования — dar, но поскольку у него имеется весьма обширный список опций — методика тестирования покрывает едва ли 10% от того, на что он способен, — его в рамках текущего цикла не тестируем.

Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии3

Как соединить кластеры Kubernetes в разных дата-центрах

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


Добро пожаловать в серию кратких руководств по Kubernetes. Это регулярная колонка с самыми интересными вопросами, которые мы получаем онлайн и на наших тренингах. Отвечает эксперт по Kubernetes.


Сегодняшний эксперт — Даниэль Поленчик (Daniele Polencic). Даниэль работает инструктором и разработчиком ПО в Learnk8s.

Если вы хотите получить ответ на свой вопрос в следующем посте, свяжитесь с нами по электронной почте или в Твиттере: @learnk8s.


Пропустили предыдущие посты? Ищите их здесь.


Как соединить кластеры Kubernetes в разных дата-центрах?


Кратко: скоро выходит Kubefed v2, а еще советую почитать о Shipper и проекте multi-cluster-scheduler.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии1

GitLab 11.11: несколько ответственных для мердж-реквестов и улучшения для контейнеров

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


Больше возможностей для совместной работы и дополнительные уведомления


Мы в GitLab постоянно ищем новые способы улучшить совместную работу по всему жизненному циклу DevOps. Мы с радостью объявляем, что с этого выпуска поддерживаем несколько ответственных лиц для одного мердж-реквеста! Эта функция доступна с уровня GitLab Starter и по-настоящему воплощает наш девиз: «Каждый может внести свой вклад». Мы знаем, что с одним мердж-реквестом может работать много людей, чтобы все точно было в порядке, и теперь у вас есть возможность назначать несколько ответственных за мердж-реквесты!


А еще команды DevOps теперь получают автоматические уведомления о событиях деплоя в Slack и Mattermost. Добавьте новые уведомления в список событий отправки в этих двух чатах, и ваша команда будет почти моментально узнавать о новых деплоях.


Сокращение издержек с поддержкой контейнеров Docker в Windows и подготовкой кластеров Kubernetes на уровне экземпляра

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

Бенчмарк потребления ЦП для Istio и Linkerd

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


Введение


Мы в Shopify занялись развертыванием Istio в качестве service mesh. В принципе все устраивает, кроме одной вещи: это дорого.


В опубликованных бенчмарках для Istio говорится:


С Istio 1.1 прокси потребляет примерно 0,6 vCPU (виртуальных ядер) на 1000 запросов в секунду.

Для первого региона в service mesh (по 2 прокси с каждой стороны соединения) у нас будет 1200 ядер только для прокси, из расчета один миллион запросов в секунду. Согласно калькулятору стоимости от Google получается примерно $40/месяц/ядро для конфигурации n1-standard-64, то есть один этот регион будет стоить нам больше 50 тыс. долларов в месяц за 1 млн запросов в секунду.


Айвен Сим (Ivan Sim) наглядно сравнил задержки service mesh в прошлом году и обещал то же самое для памяти и процессора, но не получилось:


Судя по всему, values-istio-test.yaml серьезно увеличит запросы к процессору. Если я все правильно посчитал, нужно примерно 24 процессорных ядра для панели управления и 0,5 ЦП для каждого прокси. У меня столько нету. Я повторю тесты, когда мне выделят больше ресурсов.

Я хотел сам убедиться, насколько показатели Istio схожи с другой service mesh с открытым кодом: Linkerd.

Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии3

Резервное копирование, часть 2: Обзор и тестирование rsync-based средств резервного копирования

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

Данной статьей продолжается


Как мы уже писали в первой статье, есть весьма большое число программ резервного копирования, основанных на rsync.

Из тех, что больше всего подходят под наши условия, я буду рассматривать 3: rdiff-backup, rsnapshot и burp.
Читать дальше →
Всего голосов 30: ↑27 и ↓3+24
Комментарии6

Руководство для чайников: создание цепочек DevOps с помощью инструментов с открытым исходным кодом

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


Создание первой цепочки DevOps за пять шагов для новичков.


DevOps стал панацеей для слишком медленных, разобщенных и прочих проблемных процессов разработки. Но нужны минимальные познания в DevOps. Здесь будет рассмотрены такие понятия, как цепочка DevOps и как создать ее за пять шагов. Это не полное руководство, а только “рыба”, которую можно расширять. Начнем с истории.


Мое знакомство с DevOps


Когда-то я работал с облаками в Citi Group и разрабатывал веб-приложение IaaS, чтобы управлять облачной инфраструктурой Citi, но мне всегда было интересно, как можно оптимизировать цепочку разработки и улучшить культуру среди разработчиков. Грег Лавендер, наш техдиректор по облачной архитектуре и инфраструктуре, посоветовал мне книгу Проект «Феникс». Она прекрасно объясняет принципы DevOps, при этом читается, как роман.

Читать дальше →
Всего голосов 31: ↑26 и ↓5+21
Комментарии18

Скорость хранилища подходит для etcd? Спросим fio

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


Короткая история о fio и etcd


Производительность кластера etcd во многом зависит от производительности его хранилища. etcd экспортирует некоторые метрики в Prometheus, чтобы предоставить нужные сведения о производительности хранилища. Например, метрику wal_fsync_duration_seconds. В документации к etcd сказано: чтобы хранилище считалось достаточно быстрым, 99-й процентиль этой метрики должен быть меньше 10 мс. Если вы планируете запустить кластер etcd на машинах Linux и хотите оценить, достаточно ли быстрое у вас хранилище (например, SSD), можно использовать fio — популярный инструмент для тестирования операций ввода-вывода. Запустите следующую команду, где test-data — это каталог под точкой подключения хранилища:


fio --rw=write --ioengine=sync --fdatasync=1 --directory=test-data --size=22m --bs=2300 --name=mytest

Нужно просто посмотреть результаты и проверить, что 99-й процентиль длительности fdatasync меньше 10 мс. Если да, у вас достаточно быстрое хранилище. Вот пример результатов:


  sync (usec): min=534, max=15766, avg=1273.08, stdev=1084.70
  sync percentiles (usec):
   | 1.00th=[ 553], 5.00th=[ 578], 10.00th=[ 594], 20.00th=[ 627],
   | 30.00th=[ 709], 40.00th=[ 750], 50.00th=[ 783], 60.00th=[ 1549],
   | 70.00th=[ 1729], 80.00th=[ 1991], 90.00th=[ 2180], 95.00th=[ 2278],
   | 99.00th=[ 2376], 99.50th=[ 9634], 99.90th=[15795], 99.95th=[15795],
   | 99.99th=[15795]
Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии2

GitLab 11.10

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


GitLab 11.10 с пайплайнами на панели управления, пайплайнами для объединенных результатов и предложениями по нескольким строкам в мердж-реквестах.


Удобные сведения о работоспособности пайплайнов в разных проектах


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


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

Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии1

Резервное копирование, часть 1: Назначение, обзор методов и технологий

Время на прочтение12 мин
Количество просмотров23K
Backup? I don't need backup!!

Зачем же нужно делать резервные копии? Ведь оборудование весьма и весьма надежное, к тому же есть «облака», которые по надежности лучше физических серверов: при правильной настройке «облачный» сервер запросто переживет отказ инфраструктурного физического сервера, а с точки зрения пользователей сервисов, будет небольшой, еле заметный скачок времени обслуживания. К тому же дублирование информации зачастую требует оплатить «лишнее» процессорное время, дисковую нагрузку, трафик сети.
Читать дальше →
Всего голосов 23: ↑20 и ↓3+17
Комментарии10

KlusterKit

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

KlusterKit: набор инструментов с открытым исходным кодом для упрощения деплоев Kubernetes и работы в физически изолированных локальных средах



Сегодня мы с радостью объявляем, что Platform9 открывает исходные коды Klusterkit, набора из трех инструментов, по лицензии Apache v2.0 на GitHub.


Наши клиенты выкатывают ПО в частных дата-центрах, которые часто не подключены к интернету (по соображениям безопасности или по другим причинам). Эти крупные компании хотят использовать преимущества Kubernetes и модернизировать свои приложения и при этом выкатывать их в разных дата-центрах, у которых нередко нет связи с внешним миром. И тут на помощь приходит Klusterkit, который упрощает поставку и управление кластерами K8s в физически изолированных средах.


В Klusterkit входит три независимых инструмента, которые можно использовать вместе или по отдельности для управления жизненным циклом production-кластера Kubernetes:


  1. etcdadm, CLI для упрощенного управления кластером etcd.
  2. nodeadm, CLI для администрирования нод, который дополняет kubeadm и развертывает зависимости, нужные kubeadm.
  3. cctl, инструмент управления жизненным циклом кластера, который принимает Cluster API из сообщества Kubernetes и использует nodeadm и etcdadm, чтобы без лишних хлопот поставлять и поддерживать высокодоступные кластеры Kubernetes в локальных и в том числе физически изолированных средах.

Вместе эти три инструмента выполняют следующие задачи:

Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии0

Метод CASE: гуманный мониторинг

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


Дзииииииинь! На часах 3 утра, вы смотрите чудесный сон, и вдруг — звонок. На этой неделе вы дежурите, и, видимо, что-то случилось. Автоматизированная система зовет разобраться, в чем дело. Это важный момент управления современными компьютерными системами, но давайте посмотрим, как сделать уведомления удобнее для людей.


Знакомьтесь с философией мониторинга, родившейся за несколько десятилетий моих дежурств в разных командах по мониторингу. На нее во многом повлияла настоящая библия от Роба Еващука My Philosophy on Alerting (Моя философия уведомлений), включенная в книгу по Google SRE, и книга Джона Олспо Considerations for Alert Design (Замечания по настройке оповещений).


Келли Данн, Ариджит Мукхерьи и Максим Петаццони — спасибо за помощь в редактировании поста.


Что такое CASE?


Я решил придумать красивую аббревиатуру, как у метода USE Брендана Грегга или метода RED Тома Уилки. Я зову это метод CASE. Он описывает четыре момента, на которые нужно обратить внимание при работе с автоматическим мониторингом:

Всего голосов 28: ↑28 и ↓0+28
Комментарии3

Как соединить GitLab и Pantheon и оптимизировать рабочие процессы Drupal и WordPress

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


Наш гость, создатель инструментов для разработчиков из Pantheon, рассказывает, как автоматизировать деплои WordPress с помощью GitLab CI/CD.


В Pantheon я занимаюсь связями с разработчиками, поэтому всегда ищу новые способы помочь разработчикам WordPress и Drupal решать проблемы с автоматизацией в рабочих процессах. Для этого я люблю экспериментировать с новыми инструментами и сочетать их друг с другом для эффективной работы.


Я часто вижу, как разработчики мучаются с одним сервером для разработки.


Так себе удовольствие — ждать своей очереди использовать сервер или отправлять клиентам URL с пометкой: «Вот здесь смотреть, а здесь пока не смотреть».


Среды multidev — один из крутых инструментов Pantheon — решают эту проблему, ведь с ними можно по запросу создавать среды под ветки Git. У каждой среды multidev свой URL и база данных, поэтому разработчики спокойно работают, проверяют качество и получают одобрение, не наступая друг другу на пятки.


Но в Pantheon нет инструментов для контроля версий или непрерывной интеграции и деплоя (CI/CD). Зато это гибкая платформа, с которой можно интегрировать любые инструменты.


Еще я заметил, что для разработки команды используют одни инструменты, а для сборки и деплоя — другие.


Например, у них разные инструменты для контроля версий и CI/CD. Приходится возиться и переключаться между инструментами, чтобы редактировать код и диагностировать проблемы.

Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии2

Мониторим ресурсы кластеров Kubernetes

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


Я создал Kube Eagle — экспортер Prometheus. Оказалось, крутая штука, которая помогает лучше разбираться в ресурсах маленьких и средних кластеров. В итоге я сэкономил не одну сотню долларов, потому что подбирал правильные типы машин и настраивал ограничения ресурсов приложений под рабочие нагрузки.


Я расскажу о преимуществах Kube Eagle, но сначала объясню, из-за чего вышел сыр-бор и для чего понадобился качественный мониторинг.

Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии2

Выпущен GitLab 11.9 с функцией обнаружения секретов и несколькими правилами разрешения мердж-реквестов

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


Быстрое обнаружение утечки секретов


Казалось бы, небольшая ошибка — случайно передать учетные данные в общий репозиторий. Однако последствия могут быть серьезные. Как только злоумышленник получит ваш пароль или API-ключ, он захватит вашу учетную запись, заблокирует вас и обманным путем использует деньги. Кроме того, возможен эффект домино: доступ к одной учетной записи открывает доступ к другим. Ставки высоки, поэтому чрезвычайно важно узнавать об утечке секретов как можно скорее.


В этом релизе мы представляем опцию обнаружения секретов в рамках нашего функционала SAST. Каждый коммит сканируется в задании CI/CD на наличие секретов. Есть секрет — и разработчик получает предупреждение в мердж-реквесте. Он на месте аннулирует утекшие учетные данные и создает новые.

Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии3

Как мы использовали отложенную репликацию для аварийного восстановления с PostgreSQL

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


Репликация — не бэкап. Или нет? Вот как мы использовали отложенную репликацию для восстановления, случайно удалив ярлыки.


Специалисты по инфраструктуре на GitLab отвечают за работу GitLab.com — самого большого экземпляра GitLab в природе. Здесь 3 миллиона пользователей и почти 7 миллионов проектов, и это один из самых крупных опенсорс-сайтов SaaS с выделенной архитектурой. Без системы баз данных PostgreSQL инфраструктура GitLab.com далеко не уедет, и что мы только не делаем для отказоустойчивости на случаи любых сбоев, когда можно потерять данные. Вряд ли такая катастрофа случится, но мы хорошо подготовились и запаслись разными механизмами бэкапа и репликации.


Репликация — это вам не средство бэкапа баз данных (см. ниже). Но сейчас мы увидим, как быстро восстановить случайно удаленные данные с помощью отложенной репликации: на GitLab.com пользователь удалил ярлык для проекта gitlab-ce и потерял связи с мерж-реквестами и задачами.


С отложенной репликой мы восстановили данные всего за 1,5 часа. Смотрите, как это было.

Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии2

Настройка HA-кластера Kubernetes на «голом железе» с GlusterFS & MetalLB. Часть 2/3

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


Часть 1/3 тут
Часть 3/3 тут


Привет и с возвращением! Это вторая часть статьи о настройке кластера Kubernetes на «голом железе». Ранее мы настраивали НА-кластер Kubernetes с помощью внешнего etcd, схемы «ведущий-ведущий» и балансировки нагрузки. Ну а теперь пришло время настроить дополнительную среду и утилиты, чтобы сделать кластер полезнее и максимально приближенным к рабочему состоянию.


В этой части статьи мы сосредоточимся на настройке внутреннего балансировщика нагрузки сервисов кластера — это будет MetalLB. Также мы установим и настроим распределенное хранилище файлов между нашими рабочими нодами. Будем использовать GlusterFS для постоянных томов, которые доступны в Kubernetes.
После выполнения всех действий схема нашего кластера будет выглядеть следующим образом:


Читать дальше →
Всего голосов 32: ↑28 и ↓4+24
Комментарии0

Kapitan за штурвалом Kubernetes

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


Знакомьтесь — Kapitan. Он поможет вам навести красоту и порядок в конфигурации Kubernetes.


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


На kubernetes.slack.com #kapitan успел собрать небольшое, но преданное сообщество (присоединяйтесь!), поэтому мы гордимся своей работой :)


Многие до сих пор считают, что Kapitan — это смесь jsonnet и jinja, но они упускают суть.
В этом посте я расскажу, как Kapitan управляет деплоями Kubernetes, но вообще-то он способен не только на это. Это важно: Kapitan универсален и не зациклен на одном Kubernetes. Kubernetes — это просто один из множества вариантов использования.


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

Читать дальше →
Всего голосов 20: ↑16 и ↓4+12
Комментарии1

Как удаленка ускоряет инновации на GitLab

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

На GitLab удаленка — это не бизнес-риск, а конкурентное преимущество.



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

Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии2

Вышел GitLab 11.8 с поддержкой JavaScript в SAST, подгрупп в Pages и функцией отслеживания ошибок

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


*автор иллюстрации: carmen_dorin


Поддержка JavaScript в SAST


Функция статического тестирования безопасности приложений GitLab (SAST) сканирует исходный код и помогает обнаружить потенциальные угрозы безопасности на ранних стадиях пайплайна. В версии 11.8 мы добавили опцию поддержки JavaScript в SAST в плюс к существующей опции поддержки node.js. Теперь возможно сканирование любых файлов JavaScript, например статических скриптов и HTML. Основным методом DevSecOps является сканирование изменений кода при каждом коммите, и благодаря этому изменению мы охватываем один из самых популярных веб-языков, помогая вам как можно раньше выявлять опасные места в коде JavaScript.


GitLab Pages для подгрупп и шаблонов


В этом релизе GitLab мы серьезно улучшили GitLab Pages, и среди новшеств — 2 ключевых усовершенствования. Во-первых, мы реализовали поддержку GitLab Pages для проектов в подгруппах, обеспечив возможность публикации содержимого этих проектов в сети. GitLab 11.8 также объединяет наши наиболее популярные шаблоны для Pages, и, таким образом, пользователи могут начать работу в один клик.


Отслеживание ошибок с помощью Sentry


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


И множество других отличных функций!

Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Комментарии4

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность