We are currently using Traefik as an ingress controller for kubernetes (AWS EKS). We are running Wildfly 19 in multiple k8s PODs serving stateless EJBs through Wildfly's HTTP Remoting connector. We have set up a Traefik Service that proxies to one or more k8s pods (replicas). In addition we have added an IngressRoute that looks for the 'Upgrade: jboss-remoting' header and adds that to the request being forwarded to one of our kubernetes Wildlfy PODs. With this configuration we have been able to successfully lookup and invoke remote EJBs.
Remote EJB requests are initiated from remote Java clients using the standard Wildfly client libraries connecting to our Wildfly servers through an AWS ALB configured with target groups consisting of our
EKS worker nodes. Sticky load balancing has been disabled at the ALB so all requests are load balanced across worker nodes.
We are experiencing that, when we make Remote EJB calls, all requests are being routed consistently to a single POD (the same POD each time) and are not being round-robin load-balanced across all available PODs.
Is there something we need to include, in addition to what we currently have configured, to enable the loadbalancing across ALL of the PODS behind our Service definition?
[This is a dump of our Service and IngressRoute YAML]
Name: ctr-calc Namespace: ctr-dev Labels: <none> Selector: app=ctr-calc Type: ClusterIP IP: 172.20.168.217 Port: ctr-calc 443/TCP TargetPort: 8443/TCP Endpoints: 10.196.84.105:8443,10.196.84.142:8443 Session Affinity: None API Version: traefik.containo.us/v1alpha1 Kind: IngressRoute Metadata: Creation Timestamp: 2020-10-06T16:46:23Z Generation: 2 Resource Version: 11441119 Self Link: /apis/traefik.containo.us/v1alpha1/namespaces/ctr-dev/ingressroutes/ctr-calc UID: c6fafbbb-f0e7-4b52-ab18-75a6dba18b5d Spec: Entry Points: websecure Routes: Kind: Rule Match: Host(`ctr-dev.putnam.com`) Services: Name: ctr-calc Port: 443 Kind: Rule Match: Host(`ctr-dev.putnam.com`) && Headers("Upgrade", "jboss-remoting") Middlewares: Name: wildfly-set-headers Namespace: traefik Services: Name: ctr-calc Port: 443 Tls: '''