Андрей Квапил: «Уже несколько лет мы делаем в Kubernetes то, что только сейчас готовится к production-ready»

kbx39zqawtyo7-z798qjuwwpjqw.jpeg

Андрей Квапил (kvaps) — Solutions Architect в компании Флант. Путь в ИТ он начал с подработки эникейщиком во время учебы в школе. А сейчас создает платформы для автоматического управления инфраструктурой, участвует в open-source-сообществе, пишет статьи и выступает на конференциях. Поговорили с Андреем о его карьере в ИТ, переезде в Чехию и выступлениях на конференциях.

Андрей — один из спикеров VK Kubernetes Conference, которая пройдет 9 декабря 2021 года. 


— Начнем издалека. Ты помнишь, когда впервые начал интересоваться ИТ?


— Первый компьютер в нашей семье появился у деда — он работал профессором в МГУ. Это был Pentium 1133 Mhz с 32 Мбайт памяти, еще с кнопкой Turbo. Мои старшие братья часто играли на нем в Larry, а мне не разрешали. Но меня тогда интересовал не сугубо развратный подтекст игры, а то, насколько широко она использует возможности компьютера. Звуковых карт тогда еще не было, но музыка проигрывалась через спикер. Мне это показалось крутым: компьютер играет музыку, ничего себе!
Через некоторое время компьютер появился и в нашей семье, в основном его использовала мама для работы, она архитектор. Игр практически не было, интернета тоже. 

Развлекаться и проводить время за компьютером хотелось, и не мне одному. Однажды я заметил, как моя сестра копалась в системных файлах и нашла много интересного: картинки, видеоролики, системные звуки. Для меня это было большим открытием. Я начал повторять за ней — изучать, что еще можно найти, и таким образом познавать недра Windows. Позже я рисовал скины для Winamp, Light Alloy, QIP и других программ, но тяга к изучению компьютеров и систем появилась у меня именно в этот момент.

— Какой была твоя первая работа в ИТ?


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

В компании было несколько серверов, в основном все на Windows. Но была и одна загадочная для меня машина, на которой крутилась Gentoo. Большую часть времени на ней была запущена консоль, но минимальный GUI тоже был: XWM и XScreenSaver с его глючными заставками. В компании работал матерый сисадмин, он рассказывал мне про Gentoo, и для меня это было чем-то странным и завораживающим, но пока недоступным.

Спустя время этот матерый админ покинул компанию, а я понял, что хочу админить не только Windows-серверы, но и Linux. Как раз подвернулась задача — поднять почтовый сервер. На тот момент я еще ничего не знал ни про Postfix, ни про Exim, а решил использовать проприетарный Kerio Connect. Установить его не составило особого труда, но вот настроить роутинг и пробросить порты в iptables для меня оказалось не совсем простой задачей. 

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

— Ты где-то обучался администрированию, Linux и другим технологиям?


mu24mv20pubr2yktsjp-j7vngpg.jpeg
Андрей Квапил на DevOps Conf 2021 рассказывает про GitOps

— Нет. Все произошло само собой. Я поступил в колледж, учился на оператора ЭВМ — это был трехлетний курс о том, как заполнять таблички в Excel, базы данных в Microsoft Access, и программировать в Visual Basic. Мне это не было интересно, да и к тому времени я уже и так много знал.

Потом поступил в Московский институт радиотехники, электроники и автоматики. Мне нравилось учиться, но предметы по специальности мне были неинтересны — я знал гораздо больше некоторых преподавателей. На одном занятии произошел забавный случай. Преподаватель начал показывать прошивку DD-WRT, а затем сказал: «А вообще, это вам лучше Андрей расскажет», и показал на меня.

Я параллельно и работал, и учился — времени на все не хватало. В итоге пришел к выводу, что реальная работа в компании даст мне больше, чем институт, и через полгода бросил учебу.

— Хорошо, давай перейдем к работе. Можешь рассказать о своем пути от эникейщика до Cloud-архитектора и DevOps-инженера?


— На тот момент я админил Windows-серверы и занимался сетью. Я хотел быть Linux-админом, хотя практически ничего не знал о Linux.

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

Но вместо этого я пошел на аутстаффинг в компанию Konica Minolta. Аутстаффинг — это когда компания предоставляет своих специалистов другой фирме as a service. То есть я был трудоустроен в ЛанКее, но по факту работал в Konica Minolta. В основном поддерживал уже существующую Windows-инфраструктуру и занимался текучкой. Например, подготавливал ОС и заливал ее на компьютеры, устанавливал обновления, решал проблемы пользователей.

Спустя время из российского подразделения Konica Minolta ушел штатный ИТ-менеджер. Они долго не могли найти нового, и поэтому мне стали прилетать и более сложные задачи вроде переустановки и настройки продакшен-серверов. Благодаря этому я многому научился в плане устройства систем и их взаимодействия. Даже смог внедрить Linux там, где это было оправдано: поднял Apache для хостинга лендингов, за что получил прозвище Linux fanboy. 

Но все равно у меня не было настоящей работы с Linux, а мне очень хотелось. Дома экспериментировал с Proxmox, Zentyal и прочим, но все это было just for fun.

Когда набрался больше опыта, начал искать работу целенаправленно как Linux-администратор. Устроился в системный интегратор Crosslab. Мы предоставляли клиентам инфраструктурные решения, построенные преимущественно на свободных технологиях. А вообще, много чем занимались: закупали серверы, протягивали сеть, настраивали телефонию. 

Как раз в Crosslab я получил основной опыт работы с Linux. Начиналось все с настройки Proxmox, Kolab Groupware, Owncloud, Asterisk, а позже появились и более интересные задачки.

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

Мы хотели внедрить Thinstation, он позволял собрать единый образ системы со всем необходимым и раздавать его на клиентские машины по PXE. Но позже я наткнулся на проект LTSP — и это была просто бомба. LTSP позволял настроить один сервер, который использовался для загрузки всех рабочих станций в офисе. Обновлять и вносить изменения в такой сервер было очень просто, и я взял этот проект себе на вооружение.

Позднее появилась еще одна интересная задача. Нужно было организовать некоторое подобие VDI — то есть сделать так, чтобы при подключении пользователя к серверу для него создавалась отдельная виртуальная машина из шаблона. А после того как пользователь поработал в этой машине и сохранил все на удаленную шару, виртуальная машина уничтожалась. Я использовал для этого OpenNebula, потому что она реализует облачный паттерн, легко кастомизируется и отлично подходит для такой задачи.

Обо всех интересных кейсах я старался писать на Хабр. Цель этих статей — не заявить о себе, а рассказать сообществу об интересных open-source-проектах и их применении в реальной жизни. Также это помогло мне лучше структурировать материал у себя в голове. Кто-то пишет в блокнотик — я пишу статьи на Хабр.

Забавно, что статьи с Хабра иногда переводят на английский сервисы, зарабатывающие на рекламе, причем с помощью грубого машинного перевода. Так перевели несколько моих статей, и на одну из них наткнулись ребята из WEDOS. Они как раз искали решение для своего дата-центра и собирались полностью переходить на виртуализацию. И предложили мне развернуть для них отказоустойчивый кластер OpenNebula с Ceph по разовому контракту.

Была загвоздка: систему нужно было установить на блейд-серверах без iLO и возможности подключить внешний ISO. То есть единственный возможный вариант установить систему — раздать установочный образ по PXE.

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

© Habrahabr.ru