ODBC connection through Ingress in EKS
Ingress does not support TCP or UDP services. However, a MarkLogic ODBC application server can be exposed using HAProxy as an Ingress controller.
HAProxy Ingress Controller provides a feature to expose the TCP port through Ingress.
Components
This section contains information on the EKS cluster, MarkLogic cluster, MarkLogic Load Balancer, the Ingress controller, and the AWS Network LoadBalancer.
EKS cluster
The EKS cluster is composed of three worker nodes, each hosted on a different availability zone (AZ).
MarkLogic cluster
The MarkLogic cluster is deployed on a dedicated namespace and is composed of two groups, a Dnode group and an Enode group.
Dnode group
Managed by its own StatefulSet
Each pod hosted on a different worker node
Dedicated to Dnodes
Not exposed through the MarkLogic Load Balancer
Enode group
Managed by its own StatefulSet
Exposed through the MarkLogic Load Balancer
Dedicated to Enodes
MarkLogic Load Balancer (HAProxy Load Balancer)
Deployed into a dedicated namespace
Deployment composed of two replicas
Each pod deployed on a different worker node
Ingress Controller (HAProxy Ingress Controller)
Deployed on a dedicated namespace
Configured with two replicas
Each pod deployed on a different worker node
Exposed via NodePort
AWS Network LoadBalancer
Listens on all Ingress NodePorts via the TCP service
Exposed using Route53