Azure Red Hat OpenShift
Was this helpful?
Was this helpful?
OpenShift Cluster
Before setting up DecisionRules on Openshift it is important to set up the MongoDB database and Redis Cache. Without these requirements, DecisionRules won't start successfully.
For deploying Decision Rules you need to login into the OpenShift console.
After you are logged in, select developer perspective.
Go to Project and click on create a Project.
After the Project is created and selected go to +Add.
Choose Container images.
Image name from the external registry: docker.io/decisionrules/server(:version)
Deployment
Target port: 8080
Readiness probe
Type: HTTP GET
Path: /health-check
Port: 8080
Failure threshold: 3
Success threshold: 1
Initial delay: 30
Period: 30
Timeout: 5
Liveness probe
Type: HTTP GET
Path: /health-check
Port: 8080
Failure threshold: 3
Success threshold: 1
Initial delay: 30
Period: 30
Timeout: 5
Startup probe
Type: HTTP GET
Path: /health-check
Port: 8080
Failure threshold: 3
Success threshold: 1
Initial delay: 30
Period: 30
Timeout: 5
LICENSE_KEY: Your license key
DB_TYPE: COSMOSDB (in case you’re using Cosmos DB otherwise do not use this environment variable)
Click on Create.
Choose Container images.
Image name from the external registry: docker.io/decisionrules/client(:version)
Deployment
Target port: 8080
API_URL: URL of created DecisionRules server deployment
NGINX_PORT: 8080
Click on Create.
After DecisionRules server deployment and DecisionRules client deployment is deployed, it is necessary to modify DecisionRules server deployment for the best experience.
You need to add a CLIENT_URL environment variable. The value is the URL of created DecisionRules client deployment with #. For example: https://app.decisionrules.io/#
Openshift supports horizontal cluster scaling using 2 metrics. Either by using the CPU or RAM usage of the containers. The following parameters need to be set for scaling to work properly.
Resource limit
HorizontalPodAutoscaler
Request: same as WORKERS_NUMBER environmental variable (cores)
Limit: same as WORKERS_NUMBER environmental variable (cores)
Request: WORKERS_NUMBER * 300 + 400 (Mi)
Limit: WORKERS_NUMBER * 300 + 1000 (Mi)
Custom name of metrics.
It depends on the needs. The recommended value is a minimum of 2.
It depends on the needs and the expected maximum performance.
Value: 60%
Value: 0%
The default value when the cluster checks if the pods exceed the set parameters is 15s.
The cluster will add more pods if needed until the maximum number of pods defined in HorizontalPodAutoscaler is filled.
When resources (pods) are no longer needed, they are automatically deleted according to usage up to the Minimum Pods value set in HorizontalPodAutoscaler. This ensures that unused pods are not running unnecessarily.
List of .
REDIS_URL: Redis Cache connection string ()
MONGO_DB_URI: MongoDB connection string ()
List of .