Chapter 8. Configuring network access to Data Grid
Expose Data Grid clusters so you can access Data Grid Console, the Data Grid command line interface (CLI), REST API, and Hot Rod endpoint.
8.1. Getting the service for internal connections
By default, Data Grid Operator creates a service that provides access to Data Grid clusters from clients running on OpenShift.
This internal service has the same name as your Data Grid cluster, for example:
metadata: name: example-infinispan
Procedure
Check that the internal service is available as follows:
$ oc get services NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) example-infinispan ClusterIP 192.0.2.0 <none> 11222/TCP
8.2. Exposing Data Grid through load balancers
Use a load balancer service to make Data Grid clusters available to clients running outside OpenShift.
To access Data Grid with unencrypted Hot Rod client connections you must use a load balancer service.
Procedure
-
Include
spec.expose
in yourInfinispan
CR. -
Specify
LoadBalancer
as the service type with thespec.expose.type
field. Optionally specify the network port where the service is exposed with the
spec.expose.port
field. The default port is7900
.spec: expose: type: LoadBalancer port: 65535
- Apply the changes.
Verify that the
-external
service is available.$ oc get services | grep external NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) example-infinispan-external LoadBalancer 192.0.2.24 hostname.com 11222/TCP
8.3. Exposing Data Grid through node ports
Use a node port service to expose Data Grid clusters on the network.
Procedure
-
Include
spec.expose
in yourInfinispan
CR. -
Specify
NodePort
as the service type with thespec.expose.type
field. Configure the port where Data Grid is exposed with the
spec.expose.nodePort
field.spec: expose: type: NodePort nodePort: 30000
- Apply the changes.
Verify that the
-external
service is available.$ oc get services | grep external NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) example-infinispan-external NodePort 192.0.2.24 <none> 11222:30000/TCP
8.4. Exposing Data Grid through routes
Use an OpenShift Route with passthrough encryption to make Data Grid clusters available on the network.
Procedure
-
Include
spec.expose
in yourInfinispan
CR. -
Specify
Route
as the service type with thespec.expose.type
field. Optionally add a hostname with the
spec.expose.host
field.spec: expose: type: Route host: www.example.org
- Apply the changes.
Verify that the route is available.
$ oc get routes NAME CLASS HOSTS ADDRESS PORTS AGE example-infinispan <none> * 443 73s
Route ports
When you create a route, it exposes a port on the network that accepts client connections and redirects traffic to Data Grid services that listen on port 11222
.
The port where the route is available depends on whether you use encryption or not.
Port | Description |
---|---|
| Encryption is disabled. |
| Encryption is enabled. |
8.5. Network services
Reference information for network services that Data Grid Operator creates and manages.
8.5.1. Internal service
- Allow Data Grid pods to discover each other and form clusters.
- Provide access to Data Grid endpoints from clients in the same OpenShift namespace.
Service | Port | Protocol | Description |
---|---|---|---|
|
| TCP | Internal access to Data Grid endpoints |
|
| TCP | Cluster discovery |
8.5.2. External service
Provides access to Data Grid endpoints from clients outside OpenShift or in different namespaces.
You must create the external service with Data Grid Operator. It is not available by default.
Service | Port | Protocol | Description |
---|---|---|---|
|
| TCP | External access to Data Grid endpoints. |
8.5.3. Cross-site service
Allows Data Grid to back up data between clusters in different locations.
Service | Port | Protocol | Description |
---|---|---|---|
|
| TCP | JGroups RELAY2 channel for cross-site communication. |