Kubernetes для Go - Go Evrone Meetup

Ғылым және технология

Подписывайтесь на наш канал здесь и в телеграм t.me/meetups_evrone, чтобы не пропускать полезные доклады! В этом докладе разберем основы многопоточных приложений, узнаем, как kubernetes работает с ресурсами (CPU, RAM) и как правильно настраивать ваши Go приложения для производительной работы в kubernetes.
Антон Жуков, Сбермаркет
00:00 - Вступление
00:38 - Что такое Kubernetes
01:26 - Проблемы Kubernetes
02:12 - CFS
04:00 - Goroutine
05:07 - Cgroups
05:58 - Kubernetes Pod Scheduling
06:42 - CPU Requests
07:30 - CPU Shares
07:52 - Requests
09:27 - Зачем нужны Requests
09:52 - Kubernetes Limits
10:42 - CFS Bandwidth Control
12:27 - Зачем нужны лимиты
12:50 - GOMAXPROCS
15:58 - Примеры использования GOMAXPROCS
18:09 - Зачем нужен GOMAXPROCS и Automaxprocs
18:35 - Рекомендации
20:55 - Вопросы и ответы

Пікірлер: 6

  • @nas337
    @nas33727 күн бұрын

    Антон, спасибо за доклад. Есть один вопрос. У нас нагрузка на сервисах может быть спайкообразная. Это значит, что иногда почти нет ощутимой нагрузки, а иногда, на короткий промежуток времени, нагрузка увеличивается в x50-x100 раз. Как в этом случае следует правильно подобрать cpu limit? Спасибо.

  • @solodes3409

    @solodes3409

    27 күн бұрын

    Horizontal Pod Autoscaling

  • @namegorm

    @namegorm

    26 күн бұрын

    Как насчет очереди?)

  • @zhukov1337

    @zhukov1337

    25 күн бұрын

    тут уже было 2 комментария, оба в тему. В целом это хорошая практика - HPA на любой деплоймент + тяжелую обработку выводить в асинхронный режим, т.о. вы контролируете нагрузку, выстраивая очередь из нагрузки. То есть HTTP сервер: принимает события, пишет в очередь. Отдельное приложение, consumer: читает очередь, обрабатывает нагрузку

  • @nas337

    @nas337

    25 күн бұрын

    Спасибо всем за ответы! HPA и так используем, попробуем убирать чать нагрузки в очередь ещё.

  • @nas337

    @nas337

    25 күн бұрын

    @@zhukov1337 Спасибо за ответ. А что скажете по поводу удаления CPU limit - то есть оставить только cpu request? Насколько это хорошая практика?

Келесі