В докладе я расскажу о двух свободных проектах: Kubernetes-in-Kubernetes и Kubefarm, которые мы используем для быстрого развёртывания Kubernetes-кластеров на собственном оборудовании.

В программе дня:

  • Простейший способ развернуть и поддерживать в актуальном состоянии сотни серверов on-premise.
  • Легко спавнить и удалять физические ноды как виртуалки.
  • Разделять кластера и властвовать.
  • Cluster API? Не, не слышали…
  • Деплоить Kubernetes Helm’ом, WAT?

Читать далее

Регистратор доменов Subreg (компания Gransy) подвергается атаке на свою инфраструктуру. В настоящее время веб-сайты subreg.cz и gransy.com недоступны, как и другие сервисы компании - например клиенты не имеют доступа к доменам. Компания подтвердила наличие проблемы на своей странице в Facebook:

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

- говорится в заявлении.

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

Читать далее

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

В большинстве случаев требуется типовая задача: “сгенерировать YAML и положить его в Kubernetes”. Собственно, с чем Argo CD замечательно и справляется.

Argo CD позволяет подключить Git-репозиторий и синкать его состояние в Kubernetes. По умолчанию есть поддержка нескольких видов приложений: Kustomize, Helm чарты, Ksonnet, голый Jsonnet или просто директории с YAML/JSON манифестами.

Большинству пользователей этого набора будет достаточно, но не всем. Для того чтобы удовлетворить потребности всех и каждого в Argo CD имеется возможность использовать custom tooling.

В первую очередь интересует возможность добавления поддержки qbec и git-crypt, которые с полна были рассмотренны в предыдущей статье.

Читать далее

Душещипательная история о том как мы выбирали кластерную файловую систему под виртуальные машины и контейнеры, с какими трудностями столкнулись и почему остановили свой выбор на LINSTOR.

В докладе будут рассмотрены различные свободные кластерные файловые системы и эволюция нашего выбора, а так обзор возможностей LINSTOR, хранилища построенного на свободных технологиях: ZFS, LVM, DRBD и ориентированного на максимальную производительность и высокую доступность.

Читать далее

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

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

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

Рассмотрим какие есть альтернативы :

Erasure Coding - Аналог RAID5, RAID6, но с настраиваемым уровнем четности. При этом резервирование выполняется не поблочно а для каждого объекта отдельно. Наиболее простой способ попробовать erasure coding - это развернуть minio.

DRAID - это на данный момент ещё не выпущенная возможность ZFS. В отличие от RAIDZ DRAID имеет распределённый parity block и при восстановлении задействует сразу все диски массива, благодаря чему лучше переживает отказы дисков и быстрее восстанавливается после сбоя.

Читать далее

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

В данной статье я расскажу как настроить source-based и policy-based routing для внешней сети вашего кластера.

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

Читать далее

Фотография автора

Andrei Kvapil

DevOps / Cloud Architect

WEDOS Internet a. s.

Czech republic, EU