This section describes the output and artifacts created when deploying HCL Digital Experience 9.5 Docker images to Red Hat OpenShift.
Note: All modifications must be done on the custom resource instance and not the individual
pieces of the deployment. See Customize the container deployment for details.
Deploy with the following command:
Namespace: your_namespace
- REPLICAS: 1
- Repository: your_repository
- Image Name: dxen
- Image Tag: v95_CF184_20200916-2009
- Volume Name: dxh1-dam
- Storage Class Name: dx-deploy-stg
- Database Type: derby
-
namespace/your_namespace created
serviceaccount/hcldx-cloud-operator created
role.rbac.authorization.k8s.io/hcldx-cloud-operator created
rolebinding.rbac.authorization.k8s.io/hcldx-cloud-operator created
deployment.apps/hcldx-cloud-operator created
dxdeployment.git.cwp.pnp-hcl.com/dx-deployment created
The following artifacts are created during deployment:
Artifacts
Note: Before executing OpenShift CLI, we need to set the project:
oc project project_name
Figure 1. Setting project on CLI
Project/Namespace
The Project /Namespace gets
created if it does not already exist.
Figure 2. Sample with OpenShift Container Platform console
Example Kubernetes
command:
kubectl get namespaces your_namespace
Example OpenShift CLI
command:
oc get project your_namespace
Figure 3. Namespace sample with CLI
Note: dx-latest is the project name in this example.
Service AccountThe operator is scoped to the same
namespace as the project namespace. It is also possible to implement multiple DX 9.5
deployments in one namespace, sharing a single operator.
Note: The Operator is used to deploy, configure, and manage the HCL DX9.5 deployment to Red Hat OpenShift. Consult
the Red Hat OpenShift Operator documentation for more
information. Figure 4. Sample with OpenShift Container Platform console
Example Kubernetes
command:
kubectl get serviceaccounts -n your_namespace
Example OpenShift CLI
command:
oc get serviceaccount
Figure 5. Service accounts sample with CLI
Role
A Role that defines the access required by the operator.Figure 6. Sample with OpenShift Container Platform console
Example Kubernetes
command:
kubectl get role -n your_namespace
Example OpenShift CLI
command:
oc get roles
Figure 7. Role sample with CLI
Role Binding
A Role Binding that binds the operator service account to the operator role. Figure 8. Sample with OpenShift Container Platform console
Example Kubernetes
command:
kubectl get rolebinding -n your_namespace
Example OpenShift CLI
command:
oc get rolebinding
Figure 9. Role binding sample with CLI
Deployment
A Deployment that defines/describes the operator Replica Set.Figure 10. Sample with OpenShift Container Platform console
Example Kubernetes
command:
kubectl get deployment -n your_namespace
Example OpenShift CLI
command:
oc get deployment
Figure 11. Deployment sample with CLI
Replica Sets
A Replica Set based on the deployment. This maintains a stable set of replica
pods.
Figure 12. Sample with OpenShift Container Platform console
Example Kubernetes
command:
kubectl get replicaset -n your_namespace
Example OpenShift CLI
command:
oc get replicasets
Figure 13. Replica sets sample with CLI
Metrics and Services
Services to expose HCL WebSphere Portal running as part of the Stateful Set and to provides
metrics for the operator are created.
Figure 14. Sample with OpenShift Container Platform console
Example Kubernetes
command:
kubectl get service -n your_namespace
Example OpenShift CLI
command:
oc get service
Figure 15. Service sample with CLI
Secrets
There are several secrets that are created.
Figure 16. Sample with OpenShift Container Platform console
Use double base64 encoded values when updating secrets. Most Linux
operating systems will allows us to generate double base64 values with
this command:
echo 'wpsadmin' | base64 | base64
Config Map
A Config Map is created to handle clustering in scenarios where multiple operators are
deployed.
Figure 18. Sample with OpenShift Container Platform console
Example Kubernetes
command:
kubectl get configmap -n your_namespace
Example OpenShift CLI
command:
oc get configmap
Figure 19. Config Map sample with CLI
Persistent Volume Claims
One or more Persistent Volume Claims are created, one for the shared profile, and
another, if configured, for the logs of each pod.Figure 20. Sample with OpenShift Container Platform console
Example Kubernetes
command:
kubectl get pvc -n your_namespace
Example OpenShift command:
oc get pvc
Figure 21. Persistent Volume Claims sample with CLI
Note: Logs are shown when logging is configured.
Stateful Set
A Stateful Set is created for the HCL WebSphere Portal core. A Stateful Set manages
pods that are based on an identical container specification.Figure 22. Sample with OpenShift Container Platform console
Example Kubernetes
command:
kubectl get statefulset -n your_namespace
Example OpenShift CLI
command:
oc get statefulset
Figure 23. Stateful set sample with CLI
Pods
Pods are part of the Stateful Set, running HCL WebSphere Portal.Figure 24. Sample with OpenShift Container Platform console
Example Kubernetes
commands:
kubectl get pods -n your_namespace
kubectl get pods -l app=app_name -n your_namespace
Example OpenShift CLI command:
oc get pods
oc get pods -l app=app_name
Figure 25. Pods sample with CLI
Routes
These are used to expose various ports in the HCL WebSphere Portal service, including those
used to access HCL WebSphere Portal, the WAS console, and the Config Wizard. Figure 26. Sample with OpenShift Container Platform console
Example Kubernetes command:
kubectl get routes
Example OpenShift CLI command:
oc get routes
Figure 27. Routes sample with CLI
Extras
There are several files created for each deployment. HCL recommends to keep these
files.Figure 28. Extra files
File 1 'dxNameSpace_NAMESPACE.yaml' can be used to delete the namespace/project if needed.
File 2 'git_v1_dxdeployment_cr_NAMESPACE.yaml' is a representation of the last deployed deployment for the given
namespace/project.