Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sticky learn and Wildfly #11898

Open
uqpik opened this issue Aug 28, 2024 · 5 comments
Open

Sticky learn and Wildfly #11898

uqpik opened this issue Aug 28, 2024 · 5 comments
Labels
kind/feature Categorizes issue or PR as related to a new feature. needs-priority needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.

Comments

@uqpik
Copy link

uqpik commented Aug 28, 2024

Wildlfy sends a cookie for session affinity. Depending on the primary session owner the value of the cookie is modified to switch to another server.
How can a i respect this in the ingress configuration, normally i would use "sticky learn", but this seems not to work for the ingress controller.
Like HAProxys "preserve" keyword for cookie would be desirable.

@uqpik uqpik added the kind/feature Categorizes issue or PR as related to a new feature. label Aug 28, 2024
@k8s-ci-robot k8s-ci-robot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Aug 28, 2024
@k8s-ci-robot
Copy link
Contributor

This issue is currently awaiting triage.

If Ingress contributors determines this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.

The triage/accepted label can be added by org members by writing /triage accepted in a comment.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@rikatz
Copy link
Contributor

rikatz commented Aug 31, 2024

@uqpik
Copy link
Author

uqpik commented Sep 2, 2024

https://kubernetes.github.io/ingress-nginx/examples/affinity/cookie/ ?
There is no setting that uses the cookie value set by the application server, it always uses its own cookie (and value). "sticky learn" is not supportetd by nginx ingress.
There should be the possibility to put the cookie send from the application server into a table to use it for routing.

@rikatz
Copy link
Contributor

rikatz commented Sep 2, 2024

I see. Sorry, we dont have a short or midterm to implement or accept this feature, it would demand changing lua code and accepting that the backend will tell ingress to which backend it should route, which IMO is not something we should be doing.

@uqpik
Copy link
Author

uqpik commented Sep 2, 2024

For session caching (replication), a WildFly (and JBoss EAP) cluster has a primary session owner, that is reassigned when the original server is no longer available. For optimal performance, subsequent requests needs to be forwarded to this pod.
So, as the cluster decides which pod to assign, ingress-nginx should be aware of this.

This is indicated using an "affinity" cookie. Where the cookie value is set to the name of the desired server. And changes, when the primary session owner changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. needs-priority needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.
Projects
Development

No branches or pull requests

3 participants