Skip to main content

MarkLogic Server on Kubernetes

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