Сокращение использования памяти на ISTIO Side Car - PullRequest
0 голосов
/ 02 ноября 2018

Мы оцениваем ISTIO для одного из проектов. В проекте у нас около 200 контейнеров и около 200 сервисов. Каждый контейнер может быть запущен с репликой, установленной на 2. Таким образом, в общей сложности может быть 400 контейнеров и, следовательно, 400 боковых вагонов ISTIO.

При настройках по умолчанию каждая боковая машина ISTIO использует до 300 Мбайт. С 400 побочными автомобилями это приведет к 120 Гбайтам (300 Мбайт * 400) памяти для побочных машин. Кажется, это даже выше, чем требования к памяти, необходимые для приложения.

Есть два наблюдения

  1. Кажется, что использование памяти увеличивается с количеством ядер. На системе, которую мы пытаемся, есть 88 ядер. В настоящее время понимается, что для каждого ядра требуется от 1,5 до 2 Мбайт.
  2. Использование памяти, по-видимому, увеличивается с увеличением количества услуг. В проекте, над которым мы работаем, мы ожидаем увидеть около 200 услуг. Кажется, он занимает около 3 Мбайт для каждой службы.

По (1) мы нашли (по поиску) решение. Решение состоит в том, чтобы установить параллелизм посланника на меньшее число.

На (2), есть ли решение? В нашем проекте не каждый контейнер взаимодействует с любым другим контейнером / сервисом. Данный контейнер может общаться с набором сервисов назначения (обычно около 5 или около того). Возможно ли, чтобы дополнительная машина данного контейнера выделяла память для служб, которые использует контейнер?

Мне интересно, есть ли у кого-нибудь подобные проблемы с ISTIO и как они справляются с проблемами потребления памяти.

1 Ответ

0 голосов
/ 02 ноября 2018

Вы правы, что проблема №2. Об этом говорилось в списке рассылки Istio: https://groups.google.com/forum/#!topic/istio-users/gRP4roSnHtQ

Суть в том, что текущая реализация, где каждая служба настроена для взаимодействия с любой другой службой, - это O (N ^ 2), которая не масштабируется. До сих пор было только некоторое (в основном внутреннее) раннее обсуждение о том, какие могут быть различные варианты для обрезки конфигурации коляски, но я думаю, что, вероятно, в этой области скоро начнутся некоторые работы.

ОБНОВЛЕНИЕ Istio 1.1 включает новый конфигурационный ресурс Sidecar , который можно использовать для этой цели.

...