Я погружаюсь в проблему с существующим кластером kubernetes, не EKS, настроенным на AWS. Мы пытаемся включить поддержку липких сессий, и я просто не могу заставить ее работать. Я следовал за документами и не повезло. Вот где я сейчас нахожусь:
Я внес эти изменения в наши шаблоны helm (как с префиксом nginx, так и без него в начале аннотации). Я не понял, как проверить, какую версию nginx-ingress-controller мы используем, поэтому я попробовал оба, и я знаю, что аннотация изменилась еще в 17 декабря.
annotations:
kubernetes.io/ingress.class: nginx
ingress.kubernetes.io/affinity: "cookie"
ingress.kubernetes.io/session-cookie-name: "route"
ingress.kubernetes.io/session-cookie-hash: "sha1"
Развернуты изменения, и когда я описываю вход, я вижу, что он был развернут путем описания входа (опять же, с префиксом nginx и без него). Я действительно не думаю, что эта часть правильна, потому что примеры, которые я видел, - то, что все до / для липких аннотаций не должно быть там, но здесь они есть.
Annotations:
ingress.kubernetes.io/affinity: cookie
ingress.kubernetes.io/session-cookie-hash: sha1
ingress.kubernetes.io/session-cookie-name: route
kubernetes.io/ingress.class: nginx
Но когда я делаю запрос curl, я вижу, что cookie не будет установлен:
curl -I https://test.com/hello
HTTP/2 200
server: nginx/1.11.3
date: Mon, 27 Aug 2018 20:26:37 GMT
content-type: application/json; charset=utf-8
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
etag: W/"93a23971a914e5eacbf0a8d25154cda3"
cache-control: max-age=0, private, must-revalidate
x-request-id: fc91644f-a4b6-475b-9fb5-ccabe0551038
x-runtime: 0.006894
strict-transport-security: max-age=15724800; includeSubDomains; preload
vary: Origin
Опять же, я протестировал с и без nginx. префикс для липких аннотаций, и никаких изменений не произошло, поэтому я должен что-то упустить.