Installation (3.0)
Note!
Installation of
Create a namespace in which you want to install .
$ kubectl create ns <namespace>
Note!
If you plan to use the same EKS cluster to host multiple namespaces of
, you must enable the aws.namespace.enabled property in the values.yaml file before performing the installation. All subsequent installations of in the same cluster must also have this property set to enable.When planning for multiple
installations in one EKS cluster, the following property must be set to enable for the installations to be successful. Insert the option below to the helm install command shown in step 3.--set aws.namespace.enabled=true
Once enabled, the name given to your namespace will act as an identifier for the domain name and postgres.db name that will be installed.
The domain name will have the namespace added into it, resulting in a name that looks like mzonline-namespace.mz-eks.example.com.
The namespace will also be applied as a suffix to the postgres.db value like so <postgres.db><namespace>.
The following placeholder values are getting from the terraform command output
Place Holder Value from terraform output <cluster_name>
Follow as per the value configured in mz-eks.yaml
Default is mz-eks
<region>
Follow as per the value configured in mz-eks.yaml
Default is eu-west-1
<certificate_arn>
certificate_arn
<db_endpoint>
db_endpoint without the “:port” part
<db_user>
db_user
<admin_password>
Follow as per the value configured in terraform.tfvars
db_password
<eks_domain_zone_name>
eks_domain_zone_name
If you are running multiple Usage Engine installations on the cluster, please ensure to read through Cluster Multi Tenancy(3.0) instructions.
Install Platform, use the License Key file from License Key and Helm Chart (3.0). This is an example of a minimal installation.
- Use a suitable unique name for <release_platform> in the command below.- Service name of ingress nginx should be <release_name>-ingress-nginx-controller in the command below.
$ helm install <release_platform> ./usage-engine-private-edition --wait --timeout=5m \ --set environment=aws \ --set aws.cluster_name=<cluster_name> \ --set aws.region=<region> \ --set global.domain=<cluster_name>.<eks_domain_zone_name> \ --set aws.acm_certificate="<certificate_arn>" \ --set aws.ingress.serviceName="<service name of ingress nginx>" \ --set persistence.enabled=true \ --set platform.tls.enabled=true \ --set mzonline.ssl.enabled=false \ --set postgres.db=mz \ --set platform.db.type=postgresql \ --set postgres.adminUsername=<db_user> \ --set postgres.adminPassword="<admin_password>" \ --set postgres.host="<db_endpoint>" \ --set-file licenseKey=<licenseKey_file> \ --set debug.script.enabled=true \ --namespace <namespace>
Verify the installation.
$ kubectl get all -n <namespace> NAME READY STATUS RESTARTS AGE pod/aws-load-balancer-controller-7f8bcc8585-t46qz 1/1 Running 0 4d10h pod/aws-load-balancer-controller-7f8bcc8585-zr755 1/1 Running 0 4d10h pod/efs-csi-controller-69d97cfd88-kqprs 3/3 Running 0 4d10h pod/efs-csi-controller-69d97cfd88-qsm6f 3/3 Running 0 4d10h pod/efs-csi-node-h64hs 3/3 Running 0 4d10h pod/efs-csi-node-z4nmg 3/3 Running 0 4d10h pod/efs-csi-node-zjjrc 3/3 Running 0 4d10h pod/external-dns-d6b57ff89-xm7jc 1/1 Running 0 4d10h pod/my-ingress-ingress-nginx-controller-79d8bc697f-2ml44 1/1 Running 0 34h pod/mz-operator-controller-manager-6d46b7848d-b5btd 2/2 Running 0 5h44m pod/mz-operator-controller-manager-6d46b7848d-kpprs 2/2 Running 0 5h44m pod/mzonline-764df4f5db-862gr 1/1 Running 0 5h44m pod/platform-0 1/1 Running 0 5h44m NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/aws-load-balancer-webhook-service ClusterIP 10.100.130.33 <none> 443/TCP 4d10h service/external-dns ClusterIP 10.100.110.187 <none> 7979/TCP 4d10h service/my-ingress-ingress-nginx-controller NodePort 10.100.119.73 <none> 80:30706/TCP,443:32523/TCP 34h service/mz-operator-controller-manager-metrics-service ClusterIP 10.100.130.54 <none> 8443/TCP 5h44m service/mzonline NodePort 10.100.210.0 <none> 443:30411/TCP 5h44m service/platform LoadBalancer 10.100.134.68 k8s-test-platform-61d7d5d72f-dcc6fd18df87ddd0.elb.eu-west-1.amazonaws.com 9000:31522/TCP,6790:30956/TCP,443:31032/TCP 5h44m NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.apps/efs-csi-node 3 3 3 3 3 kubernetes.io/os=linux 4d10h NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/aws-load-balancer-controller 2/2 2 2 4d10h deployment.apps/efs-csi-controller 2/2 2 2 4d10h deployment.apps/external-dns 1/1 1 1 4d10h deployment.apps/my-ingress-ingress-nginx-controller 1/1 1 1 34h deployment.apps/mz-operator-controller-manager 2/2 2 2 5h44m deployment.apps/mzonline 1/1 1 0 5h44m NAME DESIRED CURRENT READY AGE replicaset.apps/aws-load-balancer-controller-7f8bcc8585 2 2 2 4d10h replicaset.apps/efs-csi-controller-69d97cfd88 2 2 2 4d10h replicaset.apps/external-dns-d6b57ff89 1 1 1 4d10h replicaset.apps/my-ingress-ingress-nginx-controller-79d8bc697f 1 1 1 34h replicaset.apps/mz-operator-controller-manager-6d46b7848d 2 2 2 5h44m replicaset.apps/mzonline-764df4f5db 1 1 1 5h44m NAME READY AGE statefulset.apps/platform 1/1 5h44m
Accessing the Environment
Basic examples of how to define the User Interfaces below. For a more comprehensive guide, see: Starting and Managing Desktop (3.0).
Web Desktop: https://desktop.<domain>/ Web interface: https://mzonline.<domain>/ Platform: https://platform.<domain>:<mz.webserver.port>/
Connect to Desktop
How you connect to the Desktop client depends on if you want to use Desktop in Browser or the Desktop Launcher. Refer to the relevant section below.
Web Desktop
Example - Web Desktop URL
Example. Enter the URL in a web browser: # Define connection type "desktop." before the <domain>, as indicated below: https://desktop.mz-eks.tafdr.net/auth
Desktop Launcher
To deploy the Desktop Launcher, you need to do the following steps:
Prerequisite: Download and install java 11 on the PC that you will use the Desktop on. Both JRE and JDK work.
Download the Desktop Launcher from
https://platform.<cluster node>:<mz.webserver.port>/launch/desktop.
The port is by default 9000.Example - Desktop Launcher URL
Example. Enter the URL in a web browser: # Define connection type "platform." before the <domain>, as indicated below: https://platform.mz-eks.tafdr.net:9000/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
- When you add an instance in the Desktop Launcher, set the Port to 9000. Host should begin with "platform." before the <domain>.
Connect to the Web Interface
Example - Webb Interface URL
Example. Enter the URL in a web browser: # Define connection type "mzonline." before the <domain>, as indicated below: https://mzonline.mz-eks.tafdr.net/
Define Configurations on the Installation
The Installation guide is now complete. To get a system ready for production or testing purposes, you will need to define Configurations and ECs, there are three different types as described below:
- Deploy real-time configurations through UI
EC Deployment Web Interface(3.0)
There are many examples available in the documentation. - Deploy batch configurations through UI
EC Deployment Web Interface(3.0)
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(3.0).