Прежде всего, запрос поступает в прокси-службу, которую я реализовал, служба перенаправляет запрос на поды случайным образом без использования sessionAffinity. Я хочу отправлять запросы в тот же модуль на основе настраиваемого значения, которое я установил в параметрах запроса, используя метод post. Я использовал sessionAffinity со своим сервисом yml.
Вот сервис yml с sessionAffinity:
apiVersion: v1
metadata:
name: abcd-service
namespace: ab-services
spec:
ports:
- name: http
protocol: TCP
port: ****
targetPort: ****
nodePort: *****
selector:
app: abcd-pod
sessionAffinity: ClientIP
sessionAffinityConfig:
clientIP:
timeoutSeconds: 600
type: NodePort
Теперь проблема в том, что когда запрос отправляется несколькими клиентами с одного и того же IP-адреса, все запросы направляются на один модуль, а не на другие реплики, что приводит к неравномерной балансировке нагрузки. Но я также не хочу, чтобы запросы пересылались случайным образом. Я хочу, чтобы все запросы от одного и того же клиента или другого клиента пересылались на основе настраиваемого значения, которое я установил в почтовом запросе, а не с помощью clientIP, учитывая, что clientIP разрешает исходный IP-адрес каждого запроса.