Есть ли способ предоставить пользовательское значение, отличное от ClientIP, для sessionAffinity в кубернетах?

Прежде всего, запрос поступает в прокси-службу, которую я реализовал, служба перенаправляет запрос на поды случайным образом без использования 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-адрес каждого запроса.


person Akshay Lakhe    schedule 20.02.2020    source источник
comment
Привет, вы нашли какой-либо другой способ направлять запросы к конкретному модулю на основе другого значения? Мне тоже нужно подобное решение   -  person Swapnil Masurekar    schedule 18.07.2021


Ответы (1)


Как вы можете прочитать здесь, в настоящее время он поддерживает только ClientIP и None значения.

sessionAffinity строка Поддерживает ClientIP и None. Используется для поддержания привязки к сеансу. Включите привязку сеанса на основе IP-адреса клиента. Должен быть ClientIP или None. По умолчанию Нет. Дополнительная информация: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies

К сожалению, другие значения не допускаются.

person mario    schedule 20.02.2020