Сходство модулей гарантирует, что расположенные вместе модули будут развернуты на одном узле. Это не гарантирует, что трафик c будет отправлен модулям на том же узле.
Вам необходимо использовать топологию сервиса . Для этой функции требуется Kubernetes версии 1.17 или более поздней, и вам необходимо включить эту функцию с помощью флага функции.
Топология службы позволяет службе маршрутизировать трафик c на основе Узловая топология кластера. Например, служба может указать, что трафик c предпочтительно направляется к конечным точкам, которые находятся на том же узле, что и клиент, или в той же зоне доступности
Рассмотрим кластер с узлами, помеченными с их hostname
, zone name
и region name
. Затем вы можете установить значения topologyKeys
службы для прямого трафика c следующим образом.
Только для endpoints
на том же узле, сбой, если конечная точка не существует на узел: ["kubernetes.io/hostname"]
.
Предпочтительно до endpoints
на том же узле, возвращаясь к endpoints
в той же зоне, за которым следует тот же регион, и иначе: ["kubernetes.io/hostname"
, "topology.kubernetes.io/zone"
, "topology.kubernetes.io/region"]
. Это может быть полезно, например, в случаях, когда локальность данных имеет решающее значение.
Предпочтительно тот же zone
, но откатиться к любому доступному endpoint
, если в этом zone
: ["topology.kubernetes.io/zone", "*"]
.