Обновить
52
Виктор@Nastradamus

DevOps, Kubernetes, Monitoring, Postgres, Golang

23
Подписчики
Отправить сообщение

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

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


Поехали!

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

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

image

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

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

  • запущено 1890 pod'ов и 577 сервисов (количество реальных микросервисов тоже в районе этой цифры)
  • Ingress-контроллеры обслуживают около 6k RPS и примерно столько же идёт мимо Ingress сразу в hostPort.
Читать дальше →

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

Время на прочтение4 мин
Охват и читатели13K
Я работаю системным администратором 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-сервер совершенно безболезненно для клиентов (без даунтайма).
Читать дальше →

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

Время на прочтение2 мин
Охват и читатели19K
image
На днях мой директор попросил разобраться почему его новенький планшет Microsoft Surface RT не желает отправлять почту.
Гугление только подтвердило тот факт, что Mail App не работает c smtp как во «взрослой» Windows 8, так и на планшетах. Решения же найдено не было. Общение с поддержкой через чат с сотрудником Microsoft привело к тому, что я получил ссылки на темы форумов Microsoft, которые и раньше находил гуглом.
Читать дальше →

mysqlcheck и optimize таблиц InnoDB

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

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

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

PS: В моем случае используется innodb_file_per_table.

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

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

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

Существует SDK под Linux, iOS, MacOS, Android и Windows (как cygwin, так и родной под Visual Studio). Разработчиками и сообществом написано множество примеров для разных платформ. Особенно хочу отметить запуск игры Doom на телевизоре с управлением с пульта.
Читать дальше →

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

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

Писать приложение мы будем на Shell. А почему бы и нет? — ведь для Maemo это родная среда!
Читать дальше →

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

Время на прочтение2 мин
Охват и читатели1.4K
У многих системных администраторов рано или поздно возникает задача «сделать зеркало сайта».

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

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

Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Лермонтов, Ставропольский край, Россия
Дата рождения
Зарегистрирован
Активность