Dieser Inhalt ist in der von Ihnen ausgewählten Sprache nicht verfügbar.

Chapter 4. Configuring Clustering


The JBoss Data Grid for OpenShift images can use either the Kubernetes or DNS discovery mechanisms for clustering. These discovery mechanisms enable images to automatically join clusters.

By default, DNS is pre-configured in the JBoss Data Grid for OpenShift image templates. If you want to use Kubernetes as the discovery mechanism, or if you plan to build and deploy a custom image, you must configure cluster discovery.

Note

JBoss Data Grid does not support removing images from an active cluster.

4.1. Configuring the Kubernetes Discovery Mechanism

To configure the Kubernetes discovery mechanism for clustering, do the following:

  1. Set openshift.KUBE_PING as the value for the JGROUPS_PING_PROTOCOL environment variable.

    JGROUPS_PING_PROTOCOL=openshift.KUBE_PING
    Copy to Clipboard Toggle word wrap
  2. Specify the OpenShift project name as the value for the OPENSHIFT_KUBE_PING_NAMESPACE environment variable. If you do not set this variable, the server behaves like a single-node cluster.

    OPENSHIFT_KUBE_PING_NAMESPACE=PROJECT_NAME
    Copy to Clipboard Toggle word wrap
  3. Specify the label that is set at the service level as the value for the OPENSHIFT_KUBE_PING_LABELS environment variable. If you do not set this variable, pods outside the application but in the same namespace attempt to join.

    OPENSHIFT_KUBE_PING_LABELS=app=APP_NAME
    Copy to Clipboard Toggle word wrap
  4. Grant authorization to the service account the pod is running under so that it can access the Kubernetes REST API. You grant this authorization using the OpenShift CLI, as follows:

    Granting authorization for the default service account in the myproject namespace:

    oc policy add-role-to-user view system:serviceaccount:$(oc project -q):default -n $(oc project -q)
    Copy to Clipboard Toggle word wrap

    Granting authorization for eap-service-account in the myproject namespace:

    oc policy add-role-to-user view system:serviceaccount:$(oc project -q):eap-service-account -n $(oc project -q)
    Copy to Clipboard Toggle word wrap
  5. Ensure port 8888 is defined as a ping port on the pod container, as follows:

    ports:
        - containerPort: 8888
          name: ping
          protocol: TCP
    Copy to Clipboard Toggle word wrap

4.2. Configuring the DNS Discovery Mechanism

To configure the DNS discovery mechanism for clustering, do the following:

  1. Set openshift.DNS_PING as the value for the JGROUPS_PING_PROTOCOL environment variable.

    JGROUPS_PING_PROTOCOL=openshift.DNS_PING
    Copy to Clipboard Toggle word wrap
  2. Specify the name of the ping service for the cluster as the value for the OPENSHIFT_DNS_PING_SERVICE_NAME environment variable.

    OPENSHIFT_DNS_PING_SERVICE_NAME=PING_SERVICE_NAME
    Copy to Clipboard Toggle word wrap
  3. Specify the port number where the ping service is exposed as the value for the OPENSHIFT_DNS_PING_SERVICE_PORT environment variable. The default value is 8888.

    OPENSHIFT_DNS_PING_SERVICE_PORT=PING_PORT
    Copy to Clipboard Toggle word wrap
  4. Define a ping service that exposes the ping port, as in the following example:

    apiVersion: v1
    kind: Service
    spec:
      clusterIP: None
      ports:
        - name: ping
          port: 8888
          protocol: TCP
          targetPort: 8888
      selector: deploymentConfig=datagrid-app
    metadata:
      annotations:
        description: The JGroups ping port for clustering.
        service.alpha.kubernetes.io/tolerate-unready-endpoints: 'true'
    Copy to Clipboard Toggle word wrap
    Important

    You should configure clusterIP: None so that the service is headless. Likewise, the ping port must be named and include the service.alpha.kubernetes.io/tolerate-unready-endpoints: 'true' annotation.

Nach oben
Red Hat logoGithubredditYoutubeTwitter

Lernen

Testen, kaufen und verkaufen

Communitys

Über Red Hat Dokumentation

Wir helfen Red Hat Benutzern, mit unseren Produkten und Diensten innovativ zu sein und ihre Ziele zu erreichen – mit Inhalten, denen sie vertrauen können. Entdecken Sie unsere neuesten Updates.

Mehr Inklusion in Open Source

Red Hat hat sich verpflichtet, problematische Sprache in unserem Code, unserer Dokumentation und unseren Web-Eigenschaften zu ersetzen. Weitere Einzelheiten finden Sie in Red Hat Blog.

Über Red Hat

Wir liefern gehärtete Lösungen, die es Unternehmen leichter machen, plattform- und umgebungsübergreifend zu arbeiten, vom zentralen Rechenzentrum bis zum Netzwerkrand.

Theme

© 2025 Red Hat