- Prerequisites
- Step 1. Review the architecture page
- Step 2. Clone SENTIENT Kubernetes scripts repository
- Step 3. Configure SENTIENT database
- Step 4. Running
- Upgrading
- Next steps
This guide will help you to setup SENTIENT in cluster mode using Minikube tool.
Prerequisites
SENTIENT Microservices run on the Kubernetes cluster. You need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster.
If you don’t have Minikube installed, please follow these instructions.
Enable ingress addon
By default ingress addon is disabled in the Minikube, and available only in cluster providers. To enable ingress, please execute the following command:
1
minikube addons enable ingress
Step 1. Review the architecture page
Starting SENTIENT v2.2, it is possible to install SENTIENT cluster using new microservices architecture and docker containers. See microservices architecture page for more details.
Step 2. Clone SENTIENT Kubernetes scripts repository
1
2
git clone -b release-4.3.1.1 https://github.com/sentient/sentient-ce-k8s.git --depth 1
cd sentient-ce-k8s/minikube
Step 3. Configure SENTIENT database
Before performing initial installation you can configure the type of database to be used with SENTIENT.
In order to set database type change the value of DATABASE variable in .env file to one of the following:
postgres- use PostgreSQL database;hybrid- use PostgreSQL for entities database and Cassandra for timeseries database;
NOTE: According to the database type corresponding kubernetes resources will be deployed (see postgres.yml and cassandra.yml for details).
Step 4. Running
Execute the following command to run installation:
1
./k8s-install-tb.sh --loadDemo
Where:
--loadDemo- optional argument. Whether to load additional demo data.
Execute the following command to deploy third-party resources:
1
./k8s-deploy-thirdparty.sh
Type ‘yes’ when prompted, if you are running SENTIENT in high-availability DEPLOYMENT_TYPE for the first time or don’t have configured Redis cluster.
Execute the following command to deploy SENTIENT resources:
1
./k8s-deploy-resources.sh
After a while when all resources will be successfully started you can open http://{your-cluster-ip} in your browser (for ex. http://192.168.99.101).
You can see your cluster IP using command:
1
minikube ip
You should see SENTIENT login page.
Use the following default credentials:
- System Administrator: sysadmin@sentient.org / sysadmin
If you installed DataBase with demo data (using --loadDemo flag) you can also use the following credentials:
- Tenant Administrator: tenant@sentient.org / tenant
- Customer User: customer@sentient.org / customer
In case of any issues you can examine service logs for errors. For example to see SENTIENT node logs execute the following command:
1) Get the list of the running tb-node pods:
1
kubectl get pods -l app=tb-node
2) Fetch logs of the tb-node pod:
1
kubectl logs -f [tb-node-pod-name]
Where:
tb-node-pod-name- tb-node pod name obtained from the list of the running tb-node pods.
Or use kubectl get pods to see the state of all the pods.
Or use kubectl get services to see the state of all the services.
Or use kubectl get deployments to see the state of all the deployments.
See kubectl Cheat Sheet command reference for details.
Execute the following command to delete all SENTIENT microservices:
1
./k8s-delete-resources.sh
Execute the following command to delete all third-party microservices:
1
./k8s-delete-thirdparty.sh
Execute the following command to delete all resources (including database):
1
./k8s-delete-all.sh
Upgrading
In case you would like to upgrade, please pull the latest changes from master branch:
1
git pull origin master
Then, execute the following commands:
1
2
3
./k8s-delete-resources.sh
./k8s-upgrade-tb.sh
./k8s-deploy-resources.sh
Note, that you have to upgrade versions one by one (for example 4.0.0 -> 4.0.1 -> 4.1.0 etc).
Migration to Professional Edition
You can also migrate from Community Edition (CE) to Professional Edition (PE) using ./k8s-upgrade-tb.sh script:
-
Upgrade to the latest CE version.
- Stop the SENTIENT resources executing the following command:
1
./k8s-delete-resources.sh
-
Merge your configuration with the latest PE Minikube scripts. Do not forget to configure the license key.
- Run the following upgrade script to migrate database data from CE to PE:
1
./k8s-upgrade-tb.sh --fromVersion=CE
- Execute the following command to deploy SENTIENT resources:
1
./k8s-deploy-resources.sh
Next steps
-
Getting started guides - These guides provide quick overview of main SENTIENT features. Designed to be completed in 15-30 minutes.
-
Connect your device - Learn how to connect devices based on your connectivity technology or solution.
-
Data visualization - These guides contain instructions on how to configure complex SENTIENT dashboards.
-
Data processing & actions - Learn how to use SENTIENT Rule Engine.
-
IoT Data analytics - Learn how to use rule engine to perform basic analytics tasks.
-
Advanced features - Learn about advanced SENTIENT features.
-
Contribution and Development - Learn about contribution and development in SENTIENT.