Powered by Zoomin Software. For more details please contactZoomin

MarkLogic® Server on Kubernetes

Operator configuration

  • Last Updated: April 14, 2026
  • 3 minute read
    • MarkLogic Server
    • Documentation

The Operator HAProxy configuration is fully dynamic. The configuration operates efficiently with MarkLogic and is separated into five sections:

Note:

With MarkLogic Operator, you may configure HAProxy at the cluster level where all nodes will be exposed, and at the group level where only the node of the configured group will be exposed. For details on configuring HAProxy at the group level, see Group-level configuration.

OpenShift Users:

When deploying on Red Hat OpenShift, you must configure HAProxy to use an alternative frontend port (such as 8443) instead of the default port 443, which is reserved for system services. See OpenShift configuration requirements for complete configuration details.

Global section

The default HAProxy configuration handles 1024 parallel connections. Log output appears through the container stdout. Use the kubectl log command to check this output.

Default section

timeout is set at 600s to match the default timeout on MarkLogic. By default, HAProxy forwards the client IP to MarkLogic.

To modify timeout, change the configuration in the samples.yaml file:

timeout:
  client: 600s
  connect: 600s
  server: 600s

Resolver DNS

This section primarily handles the DNS configuration between HAProxy and MarkLogic server.

  • Front-end section

  • HAProxy statistics pages

The statistics page is disabled by default. Enable this page by providing this configuration in the samples.yaml file:

stats:
  enabled: false
  port: 1024
  auth:
    enabled: false
    username: ''
    password: ''

Then, a dedicated front-end section can be configured.

MarkLogic front-end

Two different front-end types can be configured:

  • HTTP

  • TCP

The HTTP front-end can be configured using path-based routing or port routing. See Set up and use path-based routing with MarkLogic Operator for configuration information.

Note:

Path-based routing is only supported in MarkLogic 11.1 and higher.

TCP front-end

By default, HAProxy uses the leastconn algorithm. HAProxy selects the server with the fewest active sessions. The logs are standard TCP output which is the recommended value for a pure TCP connection. The TCP front-end allows the exposure of ODBC servers from MarkLogic.

To add port 5432 for TCP load balancing, add this configuration to the samples.yaml file:

    tcpPorts:
      enabled: true
      ports:
        - name: odbc
          type: TCP
          port: 5432

HTTP front-end

The HTTP front-ends are all configured in the same way. When path-based routing is enabled, only one front-end section is created. Each request is handled by the relevant MarkLogic server based on the path used. When path-based routing is not enabled, then a dedicated front-end section is created for each port exposed.

This is the default configuration:

    appServers:
      - name: "app-service"
        port: 8000
        path: "/console"
      - name: "admin"
        port: 8001
        path: "/adminUI"
      - name: "manage"
        port: 8002
        path: "/manage"

To add port 8010 for HTTP load balancing, add this configuration to the samples.yaml file:

    appServers:
      - name: "app-service"
        port: 8000
        path: "/console"
      - name: "admin"
        port: 8001
        path: "/adminUI"
      - name: "manage"
        port: 8002
        path: "/manage"
      - name: "logs-injector"
        path: "/logsInjector"
        port: 8010

Back-end section

HTTP back-ends are all configured in the same way. By default, HAProxy uses the leastconn algorithm. HAProxy selects the server with the fewest active sessions.

Specific cookies are managed to bring session stickiness capability.

  • The HostId cookie is used for XCC connections.

  • The SessionID cookie is used for the Java client.

  • A dedicated cookie is used to manage requests made through the internet browser.

Cookies are set to expire after 4 hours.

TitleResults for “How to create a CRG?”Also Available inAlert