#performance #kubernetes #containers #heterogeneous
#Производительность #kubernetes #контейнеры #разнородный
Вопрос:
Предположим, что существует кластер k8s, состоящий из узлов с различными характеристиками оборудования.
Затем 2 модуля распределяются на 2 разных узла.
Предположим, что в контейнере в модуле указан процессор 1000m.
Могут ли два контейнера, работающие на этих 2 разных узлах, показывать разные уровни производительности?
Чтобы спросить более прямо: в гетерогенном кластере k8s могут ли контейнеры работать по-разному (iops, cpu, mem и т. Д.) Из-за того, На какой узел он выделен?
Ответ №1:
ДА. Если два модуля задают, например, 1000m CPU и работают на разных узлах, они оба получают эквивалент 1 ядра процессора на своем узле. Если один узел имеет более быстрый процессор, чем другой узел, то модуль на этом узле, соответственно, работает быстрее.
То же самое относится и к другим аппаратным характеристикам узлов, например, к доступности графического процессора, скорости памяти и кэша и т. Д.
Если вы хотите более детерминированное поведение, вы можете классифицировать свои узлы с помощью меток или присвоить им taints. Затем, на стороне модуля, вы можете повлиять на то, на какой узел будет назначен модуль, с помощью допусков, селекторов узлов, привязок узлов или даже пользовательского планировщика.