Рубрика «k8s» - 8

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

Короткая история о 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]

Читать полностью »

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

KlusterKit - 1

Сегодня мы с радостью объявляем, что 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 - 1

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

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

Читать полностью »

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

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

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

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

Читать полностью »

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

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

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

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

Читать полностью »

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

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

Читать полностью »

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

Часть 1/3 тут

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

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

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

Читать полностью »

Привет, друзья. Краткое содержание предыдущих серий: мы запустили @Kubernetes Meetup в Mail.ru Group и почти сразу поняли, что не вмещаемся в рамки классического митапа. Так появился Love Kubernetes — special edition @Kubernetes Meetup #2 на День всех влюблённых.

Честно сказать, мы немного волновались, любите ли вы Kubernetes настолько сильно, чтобы провести с нами вечер 14 февраля. Но почти 600 заявок на участие в митапе, регистрацию на который пришлось довольно быстро остановить, 400 гостей и ещё 600 участников, которые присоединились к нам в онлайн-трансляции, сказали нам: «Да».

Как прошёл Love Kubernetes в Mail.ru Group 14 февраля - 1

Под катом видео с митапа — про Kubernetes в Booking.com, безопасность в K8S и Kubernetes на Bare Metal, — как всё прошло, кто победил — ваниль или дистрибутивы, — и новости нашей серии @Meetup.
Читать полностью »

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

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

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

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

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

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

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

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

Читать полностью »

Почему в Kubernetes так сложно с хранилищами? - 1

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

Kubernetes абстрагируется от физических компьютеров, которыми управляет. Только скажите ему, сколько надо памяти и вычислительной мощности, — и все получите. Ифраструктура? Не, не слыхали.

Управляя образами Docker, Kubernetes и приложения делает переносимыми. Разработав контейнерные приложения с Kubernetes, их можно деплоить хоть куда: в открытое облако, локально или в гибридную среду, — и при этом не менять код.

Мы любим Kubernetes за масштабируемость, переносимость и управляемость, но вот состояния он не хранит. А ведь у нас почти все приложения stateful, то есть им нужно внешнее хранилище.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js