Note!
General Information
After the installation you will get a number of pods and a crd, function and purpose are explained in the table:
pod | unique-id | Purpose | Installed with Helm chart: |
---|---|---|---|
mz-operator-controller-manager | Yes | usage-engine-private-edition | |
mzonline | Yes | Web interface | usage-engine-private-edition |
platform | No | Platform | usage-engine-private-edition |
wd | Yes | Web Desktop interface | usage-engine-private-edition |
crd | |||
ecdeployments.mz.digitalroute.com | N/A | Custom Resource Definition | usage-engine-private-edition |
The crd ecdeployments.mz.digitalroute.com is installed with helm install below. For detailed information on how helm handle Custom Resource Definitions see:
https://helm.sh/docs/chart_best_practices/custom_resource_definitions/
Installing
To install:
- Validate the Helm Chart Contents
To ensure there are no errors in the Helm chart content, you can run the following:
$ helm lint usage-engine-private-edition
You can also run the helm template chart to see the yaml files with modified values:$ helm template usage-engine-private-edition
[hide] Line Brake [/hide] Install all pods. Use the License Key from License Key and Helm Chart (2.2).
- Use a suitable unique name for <release_platform> in the command below.$ helm install <release_platform> usage-engine-private-edition --set-file licenseKey=<licensekey_file> --namespace <namespace> Example: $ helm install platform1 usage-engine-private-edition --set-file licenseKey=license_key --namespace user1
If you are running multiple installations on the cluster, in case the CRD or Nginx Ingressclass resource is already installed, then you should add the following to your helm command to avoid hitting a resource already exists error.
--set mzOperator.installCRDs=false \
--set ingress-nginx-v4.controller.ingressClassResource.enabled=false \
There is also a usage-engine-private-edition-ecd helm chart available to install if you don't want to create it through the Web UI.
[hide] Line Brake [/hide]Verify the installation.
# Verify pods $ kubectl get pods -n <namespace> #Example NAME READY STATUS RESTARTS AGE mz-operator-controller-manager-c7f6766c4-8z9wd 2/2 Running 0 154m mz-operator-controller-manager-c7f6766c4-bl84f 2/2 Running 0 154m mzonline-5984c4b844-nbpbr 1/1 Running 0 154m platform-0 1/1 Running 0 154m wd-569bf5f746-s7pgd 1/1 Running 0 154m # Verify service contexts to connect $ kubectl get services -n <namespace> #Example NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE mz-operator-controller-manager-metrics-service ClusterIP 10.102.178.52 <none> 8443/TCP 154m mzonline NodePort 10.100.195.106 <none> 80:31200/TCP (443:31300/TCP) 154m platform NodePort 10.111.174.222 <none> 9000:31600/TCP,6790:31700/TCP 154m wd NodePort 10.101.51.191 <none> 9999:31400/TCP 154m # Note that in the case you use TLS, the Web interface, mzonline port will be 443.
Note!
The output for the ports when you run
kubectl get services -n <namespace>
are the ports that you must enter instead of ports 443, 9000, 6790, 80 and 9999 when you connect to the Desktop and/or MzOnline.
User Interfaces
Basic examples of how to define the User Interfaces below. For a more comprehensive guide, see: Starting and Managing Desktop (2.2).
Web Desktop
To connect to the Web Desktop, go to http://<cluster node>
:<NodePort>/auth.
Define your cluster node and the NodePort number substitute for 9999, in the output example in of the kubectl get services above it is 31400.
Example - Web Desktop URL
Enter this URL in a web browser. Use https if security is defined: http://test-mz90-01.dev.drint.net:31400/auth
Desktop via Launcher
To deploy Desktop Launcher, you need to take the following steps:
Prerequisite: Download and install java 11 on the PC that you will use the Desktop on. Both JRE and JDK work.
[hide] Line Brake [/hide]Download the Desktop Launcher from:
http://<cluster node>:<NodePort>/launch/desktop.
Enter your cluster node and the NodePort number substitute for 9000, in the output example of "kubectl get services" above it is 31600.[hide] Line Brake [/hide]Example - Desktop Launcher URL
Enter this URL in a web browser. Use https if security is defined: http://test-mz90-01.dev.drint.net:31600/launch/desktop/
To install the Desktop Launcher, for Windows, download the exe file and double-click to install it. Alternatively download the OS independent jar file and use java -jar to install it.
Example - Desktop Launcher via java -jar
$ java -jar standard standard-mzx-launcher-1.1.4.jar
- Add an instance in the Desktop Launcher. Use the NodePort number substitute for 9000, in the output example in of "kubectl get services" above it is 31600.
- The Platform RCP port is by default 6790, this needs to be changed. Click settings on the Desktop instance and update the
pico.rcp.platform.port
to the NodePort number substitute for 6790, in the output example of "kubectl get services" above it is 31700.
Web Interface
To connect to the Web Interface, go to http://<cluster node>
:<NodePort>
, entering your cluster node and the NodePort. Use the NodePort number substitute for 80 (http) or 443 (https), in the output example of "kubectl get services" above it is 31200.
Example - Web Interface URL
Example. Enter this URL in a web browser. Use https if security is defined: http://test-mz90-01.dev.drint.net:31200
Installation Configuration
The Installation guide is now complete. To get a system ready for production or testing purposes, you will need to define Configurations and ECDs using two methods available to you. These methods are described below:
- Deploy real-time configurations through UI
EC Deployment Web Interface (2.2)
Follow the step-by-step configuration options to configure the instance using the user interface. There are many examples available in the documentation. - Deploy solutions through CI/CD pipelines
Use the Continuous Integration and Deployment (CI/CD) pipeline to automate building, testing, and deployment of use- and test cases.
For more information, see: Continuous Integration and Deployment (2.2).
Note!
If you are using Diameter refer to Diameter Handling in Kubernetes (2.2) to know how Diameter is handled when deployed in a Kubernetes cluster.