Pull to refresh
52
0
Виктор Ягофаров @Nastradamus

DevOps, Kubernetes, Monitoring, Postgres, Golang

Send message

Kubernetes в ДомКлик: как спать спокойно, управляя кластером на 1000 микросервисов

Reading time 8 min
Views 16K
Меня зовут Виктор Ягофаров, и я занимаюсь развитием Kubernetes-платформы в компании ДомКлик в должности технического руководителя разработки в команде Ops (эксплуатация). Я хотел бы рассказать об устройстве наших процессов Dev <-> Ops, об особенностях эксплуатации одного из самых больших k8s-кластеров в России, а также о DevOps/SRE-практиках, которые применяет наша команда.


Поехали!
Total votes 39: ↑39 and ↓0 +39
Comments 37

Как собрать NGINX Ingress Controller старой версии и пропатчить его

Reading time 2 min
Views 2.5K

В данной HOWTO мы исправим баг в древней версии nginx ingress controller v0.20.0 и научимся работать с зависимостями Go старых версий через dep + vendor.


simple

Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Comments 4

Отладка высоконагруженных Golang-приложений или как мы искали проблему в Kubernetes, которой не было

Reading time 4 min
Views 8.4K
В современном мире Kubernetes-облаков, так или иначе, приходится сталкиваться с ошибками в программном обеспечении, которые допустил не ты и не твой коллега, но решать их придется тебе. Данная статья, возможно, поможет новичку в мире Golang и Kubernetes понять некоторые способы отладки своего и чужого софта.

image

Меня зовут Виктор Ягофаров, я занимаюсь развитием Kubernetes-облака в компании ДомКлик, и сегодня хочу рассказать о том как мы решили проблему с одним из ключевых компонентов нашего production k8s (Kubernetes) кластера.

В нашем боевом кластере (на момент написания статьи):

  • запущено 1890 pod'ов и 577 сервисов (количество реальных микросервисов тоже в районе этой цифры)
  • Ingress-контроллеры обслуживают около 6k RPS и примерно столько же идёт мимо Ingress сразу в hostPort.
Читать дальше →
Total votes 36: ↑33 and ↓3 +30
Comments 18

Как вынудить процесс использовать новый адрес DNS-сервера из обновлённого resolv.conf без перезапуска самого процесса

Reading time 4 min
Views 12K
Я работаю системным администратором Unix. Однажды к нам в отдел эксплуатации сервисов упал тикет от программиста с выдержой из лога application-сервера в заголовке: "pgbouncer cannot connect to server". Посмотрев логи pgbouncer'ов, я увидел, что периодически возникают lookup fail'ы при обращении к нашим DNS. Было установленно, что это связано не с работой наших DNS-серверов, а с ненадёжностью самого протокола UDP: иногда возникают потери пакетов по разным причинам.
image
В результате, было решено установить на каждом сервере с pgbouncer'ами по кэширующему BIND. И тут возникла интересная проблема: pgbouncer не перечитывал по сигналу HUP файл /etc/resolv.conf и продолжал обращаться к старым DNS-серверам. А перезагружать баунсеры категорически нельзя: есть проблемные проекты, которые очень болезненно относятся к разрывом сессий с базой.

В данной статье я расскажу как можно pgbouncer или любую другую программу, использующую библиотечный вызов getaddrinfo(), заставить перечитать resolv.conf и начать использовать новый DNS-сервер совершенно безболезненно для клиентов (без даунтайма).
Читать дальше →
Total votes 38: ↑36 and ↓2 +34
Comments 18

Microsoft Mail app и неработающая отправка писем через smtp

Reading time 2 min
Views 19K
image
На днях мой директор попросил разобраться почему его новенький планшет Microsoft Surface RT не желает отправлять почту.
Гугление только подтвердило тот факт, что Mail App не работает c smtp как во «взрослой» Windows 8, так и на планшетах. Решения же найдено не было. Общение с поддержкой через чат с сотрудником Microsoft привело к тому, что я получил ссылки на темы форумов Microsoft, которые и раньше находил гуглом.
Читать дальше →
Total votes 50: ↑37 and ↓13 +24
Comments 20

mysqlcheck и optimize таблиц InnoDB

Reading time 1 min
Views 3.7K
Только что заметил, что если делать
mysqlcheck -o --repair db_name
и ваши таблицы в InnoDB, то не только не происходит repair (что и не должно, так как движок не поддерживает эту функцию), но и optimize не срабатывает.
То есть, база остается без optimize и вы этого не замечаете!

Если делать так:
mysqlcheck -o db_name
, то происходит пересоздание (recreate) каждой таблицы.

Из-за этого у меня optimize не выполнялся скриптом по крону уже полгода, с момента перехода с MyISAM на InnoDB.

PS: В моем случае используется innodb_file_per_table.
Total votes 15: ↑6 and ↓9 -3
Comments 5

jointSPACE: управляем телевизором Philips по сети

Reading time 2 min
Views 19K
Удивившись практически полному отсутствию информации по данной теме, решил написать этот пост.
В двух словах jointSPACE — это OpenSource платформа, созданная для разработки пользовательских приложений для телевизоров Philips. Она являет собой открытый API для разработки приложений двух типов:

  • Приложения, запускаемые на удаленной системе, рендеринг и управление которыми производится средствами интерфейса телевизора.
  • Приложения для управления телевизором с удаленных систем

Существует SDK под Linux, iOS, MacOS, Android и Windows (как cygwin, так и родной под Visual Studio). Разработчиками и сообществом написано множество примеров для разных платформ. Особенно хочу отметить запуск игры Doom на телевизоре с управлением с пульта.
Читать дальше →
Total votes 22: ↑21 and ↓1 +20
Comments 18

Пишем простое, но полезное приложение для Nokia N900 за 20 минут

Reading time 3 min
Views 5K
Приветствую, уважаемый хабраюзер!
В данной заметке я расскажу об интересных свойствах операционной системы Maemo с точки зрения
системного администратора Unix. Цель заметки — показать удобство написания приложений под данную ОС.

Писать приложение мы будем на Shell. А почему бы и нет? — ведь для Maemo это родная среда!
Читать дальше →
Total votes 43: ↑34 and ↓9 +25
Comments 43

Использование DynDNS для надежного зеркалирования web-сайта

Reading time 2 min
Views 1.1K
У многих системных администраторов рано или поздно возникает задача «сделать зеркало сайта».

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

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

Читать дальше →
Total votes 15: ↑12 and ↓3 +9
Comments 11

Information

Rating
Does not participate
Location
Лермонтов, Ставропольский край, Россия
Date of birth
Registered
Activity