Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

<cluster_name>

The following placeholder values are getting from the terraform command output.

Excerpt


Note
titleNote!
See Bootstrapping System Certificates and Secrets before starting the installation.

Installation of  

  1. Create a namespace in which you want to install .

    Code Block
    $ kubectl create ns <namespace>


    Note
    titleNote!

    If you plan to use the same EKS cluster to host multiple namespaces of , you  you must enable set the helm value aws.namespace.enabled property in the values.yaml file before =true 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 4.

    Code Block
    --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>.

  2. Create secrets to be able to pull images from the Image Removed private Docker Hub repository.

    Code Block
    $ kubectl create secret -n <namespace> docker-registry dockerhub 
      --docker-server=https://index.docker.io/v1/ 
      --docker-username=<username> 
      --docker-password=<password> 
      --docker-email=<email>
    

     

  3. Run the following commands by replacing the placeholders with the values from the terraform output

Place HolderValue from terraform output
Place HolderValue 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 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

<encrypted_admin_password>

echo -n db_password | base64
Where db_password is the value from the terraform output.

<eks_domain_zone_name>

eks_domain_zone_name

in terraform.tfvars

db_password

<eks_domain_zone_name>

eks_domain_zone_name


Note

If you are running multiple Usage Engine installations on the cluster, please ensure to read through Cluster Multi Tenancy(3.2) instructions.


  • Install Platform, use the License Key file from License Key and Helm Chart (3.2). This is an example of a minimal installation, you need all the parameters.

    -  Use a suitable unique name for <release_platform> in the command below.

    Code Block

    -  Service name of ingress nginx should be <release_name>-ingress-nginx-controller in the command below.

    Code Block
    $ 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 persistenceaws.ingress.enabled=trueserviceName="<service name of ingress nginx>" \
    --set platform.tlspersistence.enabled=true \
    --set mzonlineplatform.ssltls.enabled=falsetrue \
    --set ingress-nginx-v4mzonline.ssl.enabled=truefalse \
    --set postgres.db=mz \
    --set platform.db.type=postgresql \
    --set postgres.adminUsername=<db_user> \
    --set postgres.adminPassword="<encrypted<admin_admin_password>" \
    --set postgres.host="<db_endpoint>" \
    --set-file licenseKey=<licenseKey_file> \
    --set debug.script.enabled=true \
    --namespace <namespace>
    Note

    If you are running multiple Image Removed installations on the cluster, in case the CRD or Nginx Ingress class 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 \


  • Verify the installation.

    Code Block$ kubectl get all -n <namespace> efs-provisioner-7bf57d6fcd-22kp7

    Verify the installation.

    Code Block
    $ 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
    pod/ui-5f6d547d6d-wb2q7                                    1/1     Running		      0                5h44m
    pod/wd-c8cb79bf4-fqwgq                                     1/1     Running		      0                5h44m
    
    NAME                                                     TYPE           CLUSTER-IP       EXTERNAL-IP                                                                       PORT(S)                                       AGE
    1/1service/aws-load-balancer-webhook-service             Running   0ClusterIP      10.100.130.33    17h
    external-dns-86776cbff9-47pfc<none>                               1/1     Running   0          17h <release_platform>-ingress-nginx-v4-controller-6b8679dfc8  1/1     Running   0          17h mz-operator-controller-manager-66648c48d9-m282f     443/TCP       2/2     Running   0          17h
    mz-operator-controller-manager-66648c48d9-wqphx              2/24d10h
    service/external-dns     Running   0          17h mzonline-b56cbd899-vrp4p                  ClusterIP      10.100.110.187   <none>        1/1     Running   0          17h platform-0                                                 17979/1TCP     Running   0          17h wd-5cfcb6cbfc-lppxj                   4d10h
    service/my-ingress-ingress-nginx-controller              NodePort       1/110.100.119.73    <none> Running   0          17h  NAME                                                    TYPE        80:30706/TCP,443:32523/TCP   CLUSTER-IP       EXTERNAL-IP          34h
    service/mz-operator-controller-manager-metrics-service   ClusterIP      10.100.130.54    <none>                                      PORT(S)                         AGE service/external-dns            8443/TCP                        ClusterIP      10.100.30.0      <none>  5h44m
    service/mzonline                                         NodePort       10.100.210.0     <none>            7979/TCP                        17h service/<release_platform>-ingress-nginx-v4-controller  NodePort       10.100.137.133   <none>                           443:30411/TCP                                 5h44m
    service/platform      80:30963/TCP,443:31556/TCP      17h
    service/mz-operator-controller-manager-metrics-service  ClusterIP              10.100.209.39    <none>           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
    service/ui                                    8443/TCP           NodePort       10.100.247.130   <none>   17h service/mz-operator-controller-manager-service          ClusterIP      10.100.141.185   <none>                                                     9001:32735/TCP              443/TCP                  5h44m
    service/wd      17h service/mzonline                                        NodePort       10.100.173247.140124   <none>                                                                   80:31330/TCP,443:32378/TCP         17h
    service/platform9001:32735/TCP                                5h44m
    
    NAME       LoadBalancer   10.100.61.188    a6e66e3227e4511eab69206e4c11461d-132070548.eu-west-1.elb.amazonaws.com   9000:32650/TCP,6790:30146/TCP   17h service/wd     DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR            AGE
    daemonset.apps/efs-csi-node   3         NodePort3       10.100.180.176  3 <none>      3            3           kubernetes.io/os=linux   4d10h
    
    NAME                                 9999:32414/TCP                 READY 17h  NAMEUP-TO-DATE   AVAILABLE   AGE
    deployment.apps/aws-load-balancer-controller          2/2     2            2           4d10h
    deployment.apps/efs-csi-controller              READY   UP-TO-DATE   AVAILABLE2/2   AGE deployment.apps/aws-alb-ingress-controller  2            2         1/1  4d10h
    deployment.apps/external-dns  1            1           17h deployment.apps/efs-provisioner1/1     1            1           4d10h
    deployment.apps/my-ingress-ingress-nginx-controller    1/1     1            1           17h34h
    deployment.apps/external-dnsmz-operator-controller-manager        2/2     2            2           5h44m
    1deployment.apps/1mzonline     1            1           17h deployment.apps/<release_platform>-ingress-nginx-v4-controller  1/1     1            10           17h5h44m
    deployment.apps/mzonline    ui                                    1/1     1            10           17h5h44m
    deployment.apps/wd                                    1/1     1         1/1   0           5h44m
    
    NAME 1            1           17h  NAME                                   DESIRED   CURRENT   READY   AGE
    replicaset.apps/aws-load-balancer-controller-7f8bcc8585          2         2       DESIRED  2 CURRENT   READY   AGE4d10h
    replicaset.apps/awsefs-alb-ingresscsi-controller-7fc8f854b69d97cfd88                     2  1       2  1       2  1       17h4d10h
    replicaset.apps/efs-provisioner-84cc87d7f9external-dns-d6b57ff89                           1         1         1       4d10h
    replicaset.apps/my-ingress-ingress-nginx-controller-79d8bc697f   1         1         1       17h34h
    replicaset.apps/external-dns-64f844469cmz-operator-controller-manager-6d46b7848d        2         2         2       5h44m
    replicaset.apps/mzonline-764df4f5db  1         1         1       17h
    replicaset.apps/<release_platform>-ingress-nginx-v4-controller-7f8cc84675     1         1         1       17h5h44m
    replicaset.apps/mzonlineui-69b787d885f6d547d6d                                         1         1         1       17h5h44m
    replicaset.apps/wd-5b9b64c5b9c8cb79bf4                                     1         1         1       5h44m
    
    1NAME       17h  NAME               READY   AGE
    statefulset.apps/platform   1/1                        READY   AGE
    statefulset.apps/mz-operator-controller-manager   1/1     17h
    statefulset.apps/platform                         1/1     17h
  • 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)

    Code BlockWeb Desktop:
    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)

    Code Block
    Desktop Online: https://ui.<domain>/
    
    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

    Info
    titleExample - Web Desktop URL


    Code Block
    Example. Enter the URL in a web browser:
    
    # Define connection type "desktop." before the <domain>, as indicated below:
    
    https://desktop.
    <domain>/ Web interface: https://mzonline.<domain>/ Platform:
    mz-eks.tafdr.net/auth


    Desktop Launcher

    To deploy the Desktop Launcher, you need to do the following steps:

    1. Prerequisite: Download and install java 11 on the PC that you will use the Desktop on. Both JRE and JDK work.

    2. Download the Image Added Desktop Launcher from https://platform.

    <domain>
    1. <cluster node>:<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
    1. launch/desktop. The port is by default 9000.

      Info
      titleExample -
    Web
    1. Desktop Launcher URL


      Code Block
      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:

    1. Prerequisite: Download and install java 11 on the PC that you will use the Desktop on. Both JRE and JDK work.
      Download the Image Removed Desktop Launcher from 
      platform." before the <domain>, as indicated below:
      
      https://platform.
      <cluster node>:<mz.webserver.port>/launch/desktop. The port is by default 9000
      mz-eks.tafdr.net:9000/launch/desktop/



    2. 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.

      Info
      titleExample - Desktop Launcher URL
      Code Block
      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.
      via java -jar


      Code Block
      $ java -jar standard standard-mzx-launcher-1.1.4.jar



    3. When you add an instance in the Desktop Launcher, set the Port to 9000. Host should begin with "platform." before the <domain>.

      Image Added

    Connect to the Desktop Online


    Info
    titleExample - Desktop
    Launcher via java -jar
    Code Block
    $ 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>.
    Image Removed
    unsafe-Online URL


    Code Block
    Example. Enter the URL in a web browser:
    
    # Define connection type “ui.” before the <domain>, as indicated below:
    
    https://ui.mz-eks.tafdr.net/



    Connect to the Web Interface

    Info
    titleExample - Webb Interface URL


    Code Block
    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: