External Access to Management Center

Sometimes you may want to expose a Management Center onto an external IP address, one that’s accessible from outside of your cluster. Management Center supports multiple external access methods.

Configuring Hazelcast External Access

External connectivity defines how to expose Management Center:

Field Description

externalConnectivity.type

Management Center external access methods:

  • LoadBalancer (default): On cloud providers which support external load balancers, setting the type field to LoadBalancer provisions a load balancer for your Management Center.

  • NodePort: If you set the type field to NodePort, the Kubernetes control plane allocates a port from a reserved range (default: 30000-32767). Each node proxies that port (the same port number on every Node) into your Service.

  • ClusterIP: Assigns an IP address from a pool of internal IP addresses that your cluster has reserved for that purpose.

externalConnectivity.ingress

Ingress exposes HTTP and HTTPS routes from outside the cluster to Management Center within the cluster. Traffic routing is controlled by rules defined on the Ingress resource.

externalConnectivity.route

An OpenShift Container Platform Route exposes a service at a host name, so that external clients can reach it by name.

Example Management Center LoadBalancer Configuration

The example configuration below does the following:

  • Expose Management Center using a dedicated load balancer

apiVersion: hazelcast.com/v1alpha1
kind: ManagementCenter
metadata:
  name: managementcenter
spec:
  repository: "hazelcast/management-center"
  licenseKeySecretName: hazelcast-license-key
  externalConnectivity:
    type: LoadBalancer
  hazelcastClusters:
    - address: hazelcast
      name: dev

Example Management Center Ingress Configuration

The example configuration below does the following:

  • Expose Management Center using Ingress defined on Ingress.

apiVersion: hazelcast.com/v1alpha1
kind: ManagementCenter
metadata:
  name: managementcenter
spec:
  repository: "hazelcast/management-center"
  licenseKeySecretName: hazelcast-license-key
  externalConnectivity:
    type: ClusterIP
    ingress:
      hostname: "example.hostname"
      ingressClassName: nginx
      path: "/mancenter"
      annotations:
        nginx.ingress.kubernetes.io/enable-opentelemetry: "true"
  hazelcastClusters:
    - address: hazelcast
      name: dev
Paths that consist of multiple segments, such as /hazelcast/mancenter, are supported from Management Center version 5.4.0.

Example Management Center Route Configuration

The example configuration below does the following:

  • Expose Management Center using default OpenShift Container Platform Route.

apiVersion: hazelcast.com/v1alpha1
kind: ManagementCenter
metadata:
  name: managementcenter
spec:
  repository: "hazelcast/management-center"
  licenseKeySecretName: hazelcast-license-key
  externalConnectivity:
    type: ClusterIP
    route:
      hostname: ""
  hazelcastClusters:
    - address: hazelcast
      name: dev