Меня зовут Виктор Ягофаров, и я занимаюсь развитием Kubernetes-платформы в компании ДомКлик в должности технического руководителя разработки в команде Ops (эксплуатация). Я хотел бы рассказать об устройстве наших процессов Dev <-> Ops, об особенностях эксплуатации одного из самых больших k8s-кластеров в России, а также о DevOps/SRE-практиках, которые применяет наша команда.
Виктор Ягофаров @Nastradamus
DevOps, Kubernetes, Monitoring, Postgres, Golang
Как собрать NGINX Ingress Controller старой версии и пропатчить его
2 min
2.6KTutorial
В данной HOWTO мы исправим баг в древней версии nginx ingress controller v0.20.0 и научимся работать с зависимостями Go старых версий через dep + vendor.
+16
Отладка высоконагруженных Golang-приложений или как мы искали проблему в Kubernetes, которой не было
4 min
8.6KВ современном мире Kubernetes-облаков, так или иначе, приходится сталкиваться с ошибками в программном обеспечении, которые допустил не ты и не твой коллега, но решать их придется тебе. Данная статья, возможно, поможет новичку в мире Golang и Kubernetes понять некоторые способы отладки своего и чужого софта.
Меня зовут Виктор Ягофаров, я занимаюсь развитием Kubernetes-облака в компании ДомКлик, и сегодня хочу рассказать о том как мы решили проблему с одним из ключевых компонентов нашего production k8s (Kubernetes) кластера.
В нашем боевом кластере (на момент написания статьи):
Меня зовут Виктор Ягофаров, я занимаюсь развитием Kubernetes-облака в компании ДомКлик, и сегодня хочу рассказать о том как мы решили проблему с одним из ключевых компонентов нашего production k8s (Kubernetes) кластера.
В нашем боевом кластере (на момент написания статьи):
- запущено 1890 pod'ов и 577 сервисов (количество реальных микросервисов тоже в районе этой цифры)
- Ingress-контроллеры обслуживают около 6k RPS и примерно столько же идёт мимо Ingress сразу в hostPort.
+30
Как вынудить процесс использовать новый адрес DNS-сервера из обновлённого resolv.conf без перезапуска самого процесса
4 min
13KЯ работаю системным администратором Unix. Однажды к нам в отдел эксплуатации сервисов упал тикет от программиста с выдержой из лога application-сервера в заголовке: "pgbouncer cannot connect to server". Посмотрев логи pgbouncer'ов, я увидел, что периодически возникают lookup fail'ы при обращении к нашим DNS. Было установленно, что это связано не с работой наших DNS-серверов, а с ненадёжностью самого протокола UDP: иногда возникают потери пакетов по разным причинам.
В результате, было решено установить на каждом сервере с pgbouncer'ами по кэширующему BIND. И тут возникла интересная проблема: pgbouncer не перечитывал по сигналу HUP файл /etc/resolv.conf и продолжал обращаться к старым DNS-серверам. А перезагружать баунсеры категорически нельзя: есть проблемные проекты, которые очень болезненно относятся к разрывом сессий с базой.
В данной статье я расскажу как можно pgbouncer или любую другую программу, использующую библиотечный вызов getaddrinfo(), заставить перечитать resolv.conf и начать использовать новый DNS-сервер совершенно безболезненно для клиентов (без даунтайма).
В результате, было решено установить на каждом сервере с pgbouncer'ами по кэширующему BIND. И тут возникла интересная проблема: pgbouncer не перечитывал по сигналу HUP файл /etc/resolv.conf и продолжал обращаться к старым DNS-серверам. А перезагружать баунсеры категорически нельзя: есть проблемные проекты, которые очень болезненно относятся к разрывом сессий с базой.
В данной статье я расскажу как можно pgbouncer или любую другую программу, использующую библиотечный вызов getaddrinfo(), заставить перечитать resolv.conf и начать использовать новый DNS-сервер совершенно безболезненно для клиентов (без даунтайма).
+34
Microsoft Mail app и неработающая отправка писем через smtp
2 min
19KНа днях мой директор попросил разобраться почему его новенький планшет Microsoft Surface RT не желает отправлять почту.
Гугление только подтвердило тот факт, что Mail App не работает c smtp как во «взрослой» Windows 8, так и на планшетах. Решения же найдено не было. Общение с поддержкой через чат с сотрудником Microsoft привело к тому, что я получил ссылки на темы форумов Microsoft, которые и раньше находил гуглом.
+24
mysqlcheck и optimize таблиц InnoDB
1 min
3.9KТолько что заметил, что если делать
и ваши таблицы в InnoDB, то не только не происходит repair (что и не должно, так как движок не поддерживает эту функцию), но и optimize не срабатывает.
То есть, база остается без optimize и вы этого не замечаете!
Если делать так:
, то происходит пересоздание (recreate) каждой таблицы.
Из-за этого у меня optimize не выполнялся скриптом по крону уже полгода, с момента перехода с MyISAM на InnoDB.
PS: В моем случае используется innodb_file_per_table.
mysqlcheck -o --repair db_name
и ваши таблицы в InnoDB, то не только не происходит repair (что и не должно, так как движок не поддерживает эту функцию), но и optimize не срабатывает.
То есть, база остается без optimize и вы этого не замечаете!
Если делать так:
mysqlcheck -o db_name
, то происходит пересоздание (recreate) каждой таблицы.
Из-за этого у меня optimize не выполнялся скриптом по крону уже полгода, с момента перехода с MyISAM на InnoDB.
PS: В моем случае используется innodb_file_per_table.
-3
jointSPACE: управляем телевизором Philips по сети
2 min
20KУдивившись практически полному отсутствию информации по данной теме, решил написать этот пост.
В двух словах jointSPACE — это OpenSource платформа, созданная для разработки пользовательских приложений для телевизоров Philips. Она являет собой открытый API для разработки приложений двух типов:
Существует SDK под Linux, iOS, MacOS, Android и Windows (как cygwin, так и родной под Visual Studio). Разработчиками и сообществом написано множество примеров для разных платформ. Особенно хочу отметить запуск игры Doom на телевизоре с управлением с пульта.
В двух словах jointSPACE — это OpenSource платформа, созданная для разработки пользовательских приложений для телевизоров Philips. Она являет собой открытый API для разработки приложений двух типов:
- Приложения, запускаемые на удаленной системе, рендеринг и управление которыми производится средствами интерфейса телевизора.
- Приложения для управления телевизором с удаленных систем
Существует SDK под Linux, iOS, MacOS, Android и Windows (как cygwin, так и родной под Visual Studio). Разработчиками и сообществом написано множество примеров для разных платформ. Особенно хочу отметить запуск игры Doom на телевизоре с управлением с пульта.
+20
Пишем простое, но полезное приложение для Nokia N900 за 20 минут
3 min
5.1KПриветствую, уважаемый хабраюзер!
В данной заметке я расскажу об интересных свойствах операционной системы Maemo с точки зрения
системного администратора Unix. Цель заметки — показать удобство написания приложений под данную ОС.
Писать приложение мы будем на Shell. А почему бы и нет? — ведь для Maemo это родная среда!
В данной заметке я расскажу об интересных свойствах операционной системы Maemo с точки зрения
системного администратора Unix. Цель заметки — показать удобство написания приложений под данную ОС.
Писать приложение мы будем на Shell. А почему бы и нет? — ведь для Maemo это родная среда!
+25
Использование DynDNS для надежного зеркалирования web-сайта
2 min
1.3KУ многих системных администраторов рано или поздно возникает задача «сделать зеркало сайта».
Практика показывает, что логичнее всего разместить зеркалирующий сервер в другом дата-центре. Это избавит от головной боли при аварии в основном дата-центре. Думаю, здесь комментарии излишни.
Но как же организовать быстрое переключение сайта на зеркало в другом дата-центре?
Вариант с BPG отметаем сразу — слишком дорого, не все могут себе позволить покупать или арендовать дорогостоящее оборудование, да и не со всяким ДЦ есть возможность договориться.
Практика показывает, что логичнее всего разместить зеркалирующий сервер в другом дата-центре. Это избавит от головной боли при аварии в основном дата-центре. Думаю, здесь комментарии излишни.
Но как же организовать быстрое переключение сайта на зеркало в другом дата-центре?
Вариант с BPG отметаем сразу — слишком дорого, не все могут себе позволить покупать или арендовать дорогостоящее оборудование, да и не со всяким ДЦ есть возможность договориться.
+9
Information
- Rating
- Does not participate
- Location
- Лермонтов, Ставропольский край, Россия
- Date of birth
- Registered
- Activity