Powered by Zoomin Software. For more details please contactZoomin

MarkLogic® Server on Kubernetes

Helm Chart configuration

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

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

Note:

With the MarkLogic Helm Chart, you may configure HAProxy only at the cluster level where all nodes will be exposed.

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 values.yaml file:

timeout:
  timeoutClient: 600s
  timeoutConnect: 600s
  timeoutServer: 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 values.yaml file of the chart:

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

Then, the system configures a dedicated front-end section.

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 Helm Chart 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 values.yaml file:

tcpports:
# TCP port has to be explicitly enabled
  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:

# Path and port used on HAProxy
# The same path will be used on Ingress for Default AppServers
 
  defaultAppServers:
    appservices:
      path: /console
      port: 8000
    admin:
      path: /adminUI
      port: 8001
    manage:
      path: /manage
      port: 8002

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

additionalAppServers:   
  - name: myapp1
    type: HTTP
    port: 8010
    targetPort: 8010
    path: /myapp1

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 in 4 hours.

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