Обновить
9
12
Стас Иванкевич@stkevich

Go-dev

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

Разбираем подводные камни, ошибки и лучшие практики при разработке Kubernetes-операторов

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели7.5K

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

Меня зовут Стас Иванкевич, я техлид в команде разработки управляющего слоя Platform V DropApp в СберТехе. В управляющий слой входят установщик кластера, консоль, API, другие компоненты и самое релевантное для этой статьи — наши многообразные операторы.

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

Читать далее

Как мы сделали свой mini-k8s на go с helm шаблонизатором

Время на прочтение15 мин
Охват и читатели3K

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

Меня зовут Станислав Иванкевич. Я старший программист в команде разработки DataMasters компании VK Tech. В этой статье я расскажу, как мы применили подход с декомпозицией при разработке своего mini-k8s для автоматизации создания и поддержки приложений в пользовательских кластерах Kubernetes.

Читать далее

Потрошим golang: как устроена память

Время на прочтение18 мин
Охват и читатели52K


Привет, меня зовут Стас Иванкевич, и я работаю в VK Cloud над разработкой облачных сервисов в команде Data Masters. Сервисы, запрошенные клиентами, так или иначе должны развернуться в том виде, в котором клиенты их запросили, в адекватные сроки и без ошибок. Существует множество механизмов, позволяющих этого достичь, и еще больше существует ошибок и проблем, которые мешают в достижении этих целей.

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

Единственным надежным решением таких проблем является глубокое погружение в теорию и исследования инструмента, которым решаются поставленные проблемы. В нашем случае таким инструментом является язык Go. И как же замечательно, что исследование его внутренностей — совсем легкое дело. В том числе когда дело касается использования памяти.
Читать дальше →

Информация

В рейтинге
629-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик
Golang