Getting started

STEP 1 - Prepare ZebClient Deployment Manager machine (OS, user and required packages)

The machine running ZebClient Deployment Manager must meet the following requirements:

  • VM or bare-metal
  • AMD64 or ARM64 architecture with 50 GB of storage, No specific CPU or RAM requirements
  • OS: Ubuntu 20.04
  • Non-root user with sudo-privilege
Read the section if you neeed assistance to create a non-root user with sudo privilege.

Login to the ZebClient Deployment Manager machine

Run as root, and replace <new-user> with a unique username of your choice:

adduser <new-user>

# Once prompted, set the password for the user:

New password:
Retype new password:
passwd: password updated successfully

# It is possible to set the following values, or just enter emtpy values (default):

Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] Y

Once the new user is created, assign the sudo privilege:

usermod -aG <new-user>

STEP 2 - Install ZebClient Deployment Manager

Ensure that you have logged in as a non-root user with sudo privilege to ZebClient Deployment Manager machine.

Run the following command to install ZebClient Deployment Manager:

wget -O - https://gitlab.com/zebware/public/zebclient-deployment/-/raw/v1.0.3-beta/manager.sh | bash

Create a new ssh key-pair for ZebClient Deployment Manager to access ZebClient Cluster passwordless:

ssh-keygen -t rsa

STEP 3 - ZebClient license file

The ZebClient license is provided at Zebware Customer Portal. The license file is in JSON-format and can be downloaded or content can be copied.

Copy the JSON and navigate to folder [/home/<user>/zebclient-deployment/license/]. Open the zebclient_license.json with vi

vi zebclient_license.json

Paste the JSON and save.

If you choose to download the license file it must be placed in [/home/<user>/zebclient-deployment/license/] and the name of the file must be zebclient_license.json.


STEP 4 - Install ZebClient Cluster with ZebClient Deployment Manager

The ZebClient Deployment Manager is now installed and ready to be used for ZebClient Cluster deployment.

Navigate to the “zebclient-deployment” folder located in [/home/<user>/zebclient-deployment/]

cd zebclient-deployment

Run ZebClient Deployment Manager (zebclient_manager.py) and follow the wizard, please use this Deployment Guide for guidance:

./zebclient_manager.py -ci

The command above starts ZebClient Deployment Manager wizard:

Deployment ID: Enter an ID for the deployment without any special characters for example ZebClientCluster

Please select where ZebClient Application and Cluster Nodes will be installed: AWS, Azure, OnPrem [AWS]: <Select AWS, Azure or OnPrem ([AWS] means default)>

AWS and Azure are two supported cloud providers that offers compute notes, meaning ZebClient Cluster can be hosted in that environment. ZebClient Deployment Manager will automatically interact with AWS or Azure to get everything up and running based on selected configuration alternatives in the steps to come.

OnPrem means that ZebClient Cluster is hosted locally or on Hypervisor and details about target machines need to be entered in the steps to come.

Please continue this Deployment guide depending on your selection on where ZebClient Application and Cluster Nodes will be installed:

AWS - Cloud Service Provider

Please enter the details for your Cloud Service Provider AWS:

AWS_ACCESS_KEY_ID:
AWS_SECRET_ACCESS_KEY:
AWS_DEFAULT_REGION: for example us-east-1

Azure - Cloud Service Provider

Work in progess…

OnPrem

Work in progess…

Please select ZebClient cluster size from small(s), medium(m), large(l) or custom(c) [s] <Select small(s), medium(m), large(l) or custom(c)> Default is [s]

ZebClient Deployment Manager comes pre-configured with a few cluster sizes configurations for simplicty. It also support a Custom alternative for more advanced users.

Please read Application nodes & cluster size to determine a cluster size that fit your business needs.

Enter the path of the ZebClient license [/home//zebclient-deployment/license/zebclient-license.json]:

ZebClient Deployment Manager need to know the location of the license file. Ensure that the license file is located in the default location or change it to a place of your choice.

Continue? [yes]

ZebClient Cluster installation is about to start and ZebClient Deployment Manager will list all configuration selections and ask for a configuration confirmation. To continue select Yes.

ZebClient Deployment Manager runs the deployment of a ZebClient Cluster as defined in the configuration.

Once the script completes the installation is complete.


STEP 5 - ZebClient Cluster validation

ZebClient Deployment Manager will print the fqdn or ip-addresses of the created Application nodes in the following format:

ssh ubuntu@<target-machine-fqdn-or-ipaddr>

Please login to one of the Application nodes and switch to ZebClient User:

sudo su - zebclient

Enable bash:

bash

Navigate to file system folder:

cd /fs

Create a folder that will be used as file system bucket:

mkdir zebclient

Enter the new folder:

cd zebclient

Write something to the file system in a cluster:

date > helloworld

Validate that it was written to the Application node:

ls

If you have a cluster with at least two Applications nodes it is possible to validate that the content is available in another Application node.

Logout from the Application node:

exit

Login to another Application node (fqdn-or-ipaddr) in the ZebClient cluster by repeating Step 5. Navigate to the /fs/zebclient folder and list the content:

ls

The content that you added in the first Application node is now available in the second Application node as they are within the same cluster.

You are now ready to explore and enjoy ZebClient cluster!