To ensure routes are automatically created, the following parameters under service must be set , either by customizing the values.yaml or setting them as command line arguments to the helm command. In particular, is the parameter service.type
when set to ClusterIP, will enable routes to be automatically created.
service:
enableTLS: true
# when enableRoute-true, set type=ClusterIP
type: ClusterIP
# type: NodePort
enableRoute: true
hostname: ""
ingress:
enabled: false
annotations: # {annotation1: "1",annotation2: "2"}
tlsHosts: []
tlsSecretRef:
host:
If you set enableRoute: true but did not change type: NodePort to type: ClusterIP,
routes will not be enabled to create automatically when installing the helm chart.
Example using customized values.yaml with:
enableRoute: true
type: ClusterIP
$ helm install odm8105 -f values.yaml /home/notroot/ODM8105_K8S/charts/ibm-odm-prod-20.3.0.tgz
The output of the helm install will print the output of the cmd: helm status odm8105.
When routes are automatically created, the helm status output will show the following,
which is evident that routes were enabled correctly:
$ helm status odm8105
export SCHEME=https
-- Decision Center Business Console
export DC_ROUTE=$(oc get routes odm8105-odm-dc-route -o jsonpath='{.spec.host}')
echo $SCHEME://$DC_ROUTE/decisioncenter
-- Decision Center Enterprise Console
export DC_ROUTE=$(oc get routes odm8105-odm-dc-route -o jsonpath='{.spec.host}')
echo $SCHEME://$DC_ROUTE/teamserver
-- Decision Runner
export DR_ROUTE=$(oc get routes odm8105-odm-dr-route -o jsonpath='{.spec.host}')
echo $SCHEME://$DR_ROUTE/DecisionRunner
-- Decision Server Console
export DSC_ROUTE=$(oc get routes odm8105-odm-ds-console-route -o jsonpath='{.spec.host}')
echo $SCHEME://$DSC_ROUTE/res
-- Decision Server Runtime
export DSR_ROUTE=$(oc get routes odm8105-odm-ds-runtime-route -o jsonpath='{.spec.host}')
echo $SCHEME://$DSR_ROUTE/DecisionService
Whereas, if routes were not enabled , then the output of the cmd: helm status odm8105
will show the NODE_PORT and NODE_IP instead of route-
export SCHEME=https
-- Decision Center Business Console
export NODE_PORT_DC=$(kubectl get --namespace odm8105 -o jsonpath="{.spec.ports[0].nodePort}" services odm8105-odm-decisioncenter)
export NODE_IP=$(kubectl get nodes --namespace odm8105 -o jsonpath="{.items[0].status.addresses[0].address}")
echo $SCHEME://$NODE_IP:$NODE_PORT_DC/decisioncenter
-- Decision Center Enterprise Console
export NODE_PORT_DC=$(kubectl get --namespace odm8105 -o jsonpath="{.spec.ports[0].nodePort}" services odm8105-odm-decisioncenter)
export NODE_IP=$(kubectl get nodes --namespace odm8105 -o jsonpath="{.items[0].status.addresses[0].address}")
echo $SCHEME://$NODE_IP:$NODE_PORT_DC/teamserver
-- Decision Runner
export NODE_PORT_DR=$(kubectl get --namespace odm8105 -o jsonpath="{.spec.ports[0].nodePort}" services odm8105-odm-decisionrunner)
export NODE_IP=$(kubectl get nodes --namespace odm8105 -o jsonpath="{.items[0].status.addresses[0].address}")
echo $SCHEME://$NODE_IP:$NODE_PORT_DR/DecisionRunner
-- Decision Server Console
export NODE_PORT_DSC=$(kubectl get --namespace odm8105 -o jsonpath="{.spec.ports[0].nodePort}" services odm8105-odm-decisionserverconsole)
export NODE_IP=$(kubectl get nodes --namespace odm8105 -o jsonpath="{.items[0].status.addresses[0].address}")
echo $SCHEME://$NODE_IP:$NODE_PORT_DSC/res
-- Decision Server Runtime
export NODE_PORT_DSR=$(kubectl get --namespace odm8105 -o jsonpath="{.spec.ports[0].nodePort}" services odm8105-odm-decisionserverruntime)
export NODE_IP=$(kubectl get nodes --namespace odm8105 -o jsonpath="{.items[0].status.addresses[0].address}")
echo $SCHEME://$NODE_IP:$NODE_PORT_DSR/DecisionService
Refer to the Reference section of the Knowledge Center for ODM on Certified Kubernetes-
https://www.ibm.com/support/knowledgecenter/SSQP76_8.10.x/com.ibm.odm.kube/topics/ref_reference.html
which shows the helm syntax using values.yaml-
It is also possible to use a custom-made .yaml file to specify the values of the parameters when you install the chart. For example:
$ helm install release_name -f values.yaml /path/to/ibm-odm-prod-version.tgz
Also, refer to the
ODM for production configuration parameters page in
Reference section of the Knowledge Center -
https://www.ibm.com/support/knowledgecenter/SSQP76_8.10.x/com.ibm.odm.kube/topics/ref_parameters_prod.htmlwhich shows the optional configuration parameters and their descriptions-
Review the last parameter listed in the table:
Parameter: service.type
Description: The Kubernetes Service type. You can set it to ClusterIP if you enable OpenShift routes to be created automatically (through the service.enableRoute parameter), or if you define an Ingress controller manually.
Default value: NodePort
You can extract the values.yaml with default values after you completed Step 1 of the procedure from section-
https://www.ibm.com/support/knowledgecenter/SSQP76_8.10.x/com.ibm.odm.kube/topics/tsk_config_odm_prod_kube.html
Once in the extracted folder, cd charts.
Extract the file: ibm-odm-prod-20.3.0.tgz and cd to its extracted folder, ibm-odm-prod
to access values.yaml.
The full path of the file will be: ../PPA_NAME/charts/ibm-odm-prod/values.yaml
----
Regarding ODM 8.10.5 on OpenShift 3.11, it is supported (*) as it is a fully compliant Certified Kubernetes platform.
*Note: Full support for v3.11 ends this year in June 2021.
Maintenance support will continue as scheduled until June 2022, followed by Extended Life Phase (ELP) support until June 2024.
https://www.redhat.com/en/blog/red-hat-announces-product-life-cycle-changes
#OperationalDecisionManager(ODM)#Support#SupportMigration