Как стать автором
Поиск
Написать публикацию
Обновить
83.38
Слёрм
Учебный центр для тех, кто работает в IT
Сначала показывать

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

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


Короткая история о 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]
Читать дальше →

GitLab 11.10

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


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


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


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


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

Читать дальше →

Что есть что и кто есть кто на рынке защиты от DDoS

Время на прочтение7 мин
Количество просмотров30K
Я на digital рынке с 2008 года, и за это время видел переход от веб-сайтов на Joomla (помните такую? ) до сегодняшнего Интернета с его mobile-first приложениями и сотнями миллионов IoT устройств, подключенных в сеть.
Атаки в Интернете также за это время неплохо развилиcь :)
Но рынок защиты от DDoS и используемые операторами технологии защиты от атак остаются все еще достаточно сильно закрытым.
Расскажу, что узнал про него, поддерживая веб-сайты и интернет-сервисы, находящиеся под непрерывными атаками несколько последних лет.

image
Регулярные атаки. 350k req total, 52k req legitimate
Читать дальше →

Docker: вредные советы

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


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


Читаешь детям «Вредные советы» Григория Остера, и видишь, как легко и непринужденно до них доходит, что так делать нельзя.


О том, как правильно писать Dockerfile, написана куча статей. Но мне не попадалось инструкций, как писать неправильные Dockerfile. Восполняю этот пробел. И, может быть, в проектах, которые я получаю на поддержку, таких докерфайлов станет меньше.

Читать дальше →

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

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

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

Слёрм: интенсив по Kubernetes. Программа и бонусы

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

27-29 мая мы проводим четвертый Слёрм: интенсив по Kubernetes.



Бонус: онлайн-курсы по Docker, Ansible, Ceph


Мы вывели из Слёрма темы, которые важны для работы с Kubernetes, но напрямую к k8s не относятся. Как, почему и что получилось — под катом.
Все участники Слёрма-4 получат доступ к этим курсам.


Полный манибек в первый день


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


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


Консультации техдира


Если кто знает Дмитрия Симонова (он собрал клуб техдиректоров), мы пригласили его на Слёрм (учиться, а не выступать). Он обещал консультировать всех желающих. Вряд ли это будет интересно администраторам и разработчикам, а вот управленцам от IT — очень даже.

Читать дальше →

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 в локальных и в том числе физически изолированных средах.

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

Читать дальше →

Результаты бенчмарка сетевых плагинов Kubernetes (CNI) по сети 10 Гбит/с (обновлено: апрель 2019)

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


Это обновление моего предыдущего бенчмарка, который теперь работает на Kubernetes 1.14 с актуальной версией CNI на апрель 2019 года.


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


Что изменилось с ноября 2018


Вот что изменилось с тех пор (если интересно):


Flannel остается самым быстрым и простым интерфейсом CNI, но все еще не поддерживает сетевые политики и шифрование.


Romana больше не поддерживается, так что мы удалили ее из бенчмарка.


WeaveNet теперь поддерживает сетевые политики для Ingress и Egress! Но производительность снизилась.


В Calico все еще нужно вручную настраивать максимальный размер пакета (MTU) для лучшей производительности. Calico предлагает два варианта установки CNI, так что можно обойтись без отдельного хранилища ETCD:

Читать дальше →

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

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


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


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


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


Что такое CASE?


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

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

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


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


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


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


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


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


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


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


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

Читать дальше →

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

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


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


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

Читать дальше →

Параллельные запросы в PostgreSQL

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


В современных ЦП очень много ядер. Годами приложения посылали запросы в базы данных параллельно. Если это отчетный запрос ко множеству строк в таблице, он выполняется быстрее, когда задействует несколько ЦП, и в PostgreSQL это возможно, начиная с версии 9.6.


Понадобилось 3 года, чтобы реализовать функцию параллельных запросов — пришлось переписать код на разных этапах выполнения запросов. В PostgreSQL 9.6 появилась инфраструктура для дальнейшего улучшения кода. В последующих версиях и другие типы запросов выполняются параллельно.

Читать дальше →

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

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


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


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


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

Читать дальше →

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

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


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


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


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


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

Читать дальше →

Ближайшие события

Автоматические canary деплои с Flagger и Istio

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


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


Flagger — это оператор Kubernetes с открытым исходным кодом, цель которого — исключить запутанные взаимосвязи. Он автоматизирует продвижение canary деплоев, используя смещение трафика Istio и метрик Prometheus, чтобы анализировать поведение приложения во время управляемого роллаута.


Ниже приведено пошаговое руководство по настройке и использованию Flagger в Google Kubernetes Engine (GKE).

Читать дальше →

Публикуем приложения iOS в App Store с GitLab и fastlane

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


Как GitLab с fastlane собирает, подписывает и публикует приложения для iOS в App Store.


Недавно у нас был пост о том, как быстро собрать и запустить приложение Android с GitLab и fastlane. Здесь мы увидим, как собрать и запустить приложение iOS и опубликовать его в TestFlight. Зацените, как круто я вношу изменение на iPad Pro с GitLab Web IDE, беру сборку и получаю обновление тестовой версии приложения на том же iPad Pro, где я его разработал.


Здесь мы возьмем простое приложение для iOS на Swift, с которым я записывал видео.

Читать дальше →

Настройка НА-кластера Kubernetes на «голом железе», мониторинг, логи и примеры использования. Часть 3/3

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


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


Часть 2/3 тут.


Всем привет! А вот и третья часть руководства «Kubernetes на «голом железе»! Я уделю внимание мониторингу кластера и сбору логов, также мы запустим тестовое приложение для использования предварительно настроенных компонентов кластера. Затем проведем несколько стресс-тестов и проверим стабильность этой кластерной схемы.

Читать дальше →

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

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


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


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


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


Читать дальше →

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

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


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


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


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


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


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

Читать дальше →

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

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

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



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

Читать дальше →

Информация

Сайт
to.slurm.io
Дата регистрации
Дата основания
Численность
51–100 человек
Местоположение
Россия
Представитель
Антон Скобин