A Helm chart for Actian Zen DB optimized for Intel Smart Edge Open 22.04
Overview of Actian Zen DB
Actian Zen Edge Data Management is a single, secure, modular, and scalable solution that embeds in or bundles with applications for remote/branch, mobile, and IoT data processing and analytics support. Zen provides SQL and NoSQL access for any type of data from within most popular programming languages on Windows (IoT Core, Desktop, Server), Linux (embedded and standard), MacOS running on Intel platforms and running on iOS/Android for mobile.
Prerequisites
Pre-deployed container images from https://github.com/ActianCorp/ActianZen-OpenNESS on edge nodes:
• actianzen.tar.gz: The docker container image for the Actian Zen Server • zensample.tar.gz: The docker container for the Zen client and sample application
Images can be pre-deployed on edge nodes by copying them to the respective hosts and loading them in Docker these commands:
• docker image load -i actianzen.tar.gz • docker image load -i zensample.tar.gz
The Helm charts for deploying these images are located under the “charts” and should be copied to the controller for deployment.
It is recommended that a namespace is created (such as “zen”) for deploying Actian Zen container and associated container applications.
Usage
Install the Actian Zen chart
kubectl create namespace zen
cd edgeapps/applications/actian-zen/helm-charts/actianzen
helm install -n zen actianzen.
Test Output
$ kubectl create namespace zen
namespace/zen created
$ cd edgeapps/applications/actian-zen/helm-charts/actianzen
$ helm install -n zen actianzen.
NAME: actianzen
LAST DEPLOYED: Mon Sep 28 12:47:50 2020
NAMESPACE: zen
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Installed actianzen.
The release is named actianzen.
Get the Actian Zen Server address by running the following:
export NODE_IP=$(kubectl get nodes --namespace default -o jsonpath="{.items[0].status.addresses[0].address}")
$ kubectl get all -n zen | ||||||
NAME | READY | STATUS | RESTARTS | AGE | ||
pod/actianzen-7fc4dfcf9d-7zsds | 1/1 | Running | 0 | 39s |
NAME | TYPE | CLUSTER-IP | EXTERNAL-IP | PORT(S) | AGE |
service/actianzen | NodePort | 10.104.98.35 | 1583:30936/TCP,3551:31273/TCP | 39s |
NAME | READY | UP-TO-DATE | AVAILABLE | AGE |
deployment.apps/actianzen | 1/1 | 1 | 1 | 39s |
NAME | DESIRED | CURRENT | READY | AGE |
replicaset.apps/actianzen-7fc4dfcf9d | 1 | 1 | 1 | 39s |
$ helm list -n zen | ||||||
NAME | NAMESPACE | REVISION | UPDATED | STATUS | CHART | APP VERSION |
actianzen zen | 1 | 2020-09-28 | 12:47:50.36313447 -0500 CDT | deployed | actianzen-0.1.0 | 14.11.23 |
Install Zen Sample App Chart
kubectl create namespace zen
cd edgeapps/applications/actian-zen/helm-charts/zensample
helm dep update
helm install -n zen zensample.
Test Output
$ cd edgeapps/applications/actian-zen/helm-charts/zensample
$ helm install -n zen zensample.
NAME: zensample
LAST DEPLOYED: Mon Sep 28 12:53:15 2020
NAMESPACE: zen
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Installed zensample.
The release is named zensample.
1. Get the application URL by running these commands:
export NODE_PORT=$(kubectl get --namespace zen -o jsonpath="{.spec.ports[0].nodePort}" services zensample)
export NODE_IP=$(kubectl get nodes --namespace zen -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT
$ kubectl get all -n zen | ||||
NAME | READY | STATUS | RESTARTS | AGE |
pod/zensample-599cf67d6f-9dgg9 | 1/1 | Running | 0 | 76s |
pod/zensample-actianzen-6cd5b6b99b-h8xmv | 1/1 | Running | 0 | 76s |
NAME | TYPE | CLUSTER-IP | EXTERNAL-IP | PORT(S) | AGE |
service/zensample | NodePort | 10.102.123.154 | 5000:31846/TCP | 76s | |
service/zensample-actianzen | NodePort | 10.98.136.49 | 1583:30490/TCP,3551:30974/TCP | 76s |
NAME | READY | UP-TO-DATE | AVAILABLE | AGE |
deployment.apps/zensample | 1/1 | 1 | 1 | 76s |
deployment.apps/zensample-actianzen | 1/1 | 1 | 1 | 76s |
NAME | DESIRED | CURRENT | READY | AGE |
replicaset.apps/zensample-599cf67d6f | 1 | 1 | 1 | 76s |
replicaset.apps/zensample-actianzen-6cd5b6b99b | 1 | 1 | 1 | 76s |
$ helm list -n zen | ||||||
NAME | NAMESPACE | REVISION | UPDATED | STATUS | CHART | APP VERSION |
zensample | zen | 1 | 2020-09-28 12:53:15.216141816 -0500 CDT | deployed | zensample-0.1.0 | 1.0.0 |
Configure Actian Zen
kubectl exec -it actianzen-pod-name -- bash
Test Output
[root@zensample-actianzen-6cd5b6b99b-kp4q4 /]# su -l zen-svc
Last login: Fri Sep 18 13:24:33 UTC 2020
-bash-4.2$ bcfg -o zenconfig.txt
Configuration Utility 14.11.021.000
Copyright (C) Actian Corporation
System settings written to file: zenconfig.txt
-bash-4.2$ head zenconfig.txt
===========================================
CATEGORY - 1: ACCESS NUMBER OF SETTINGS: 26
===========================================
Settings Count: 26
============================
USE LOCAL MICROKERNEL ENGINE
============================
ID: 18
Value: On
Options: On Off
Uninstall chart
helm uninstall -n zen actianzen
helm uninstall -n zen zensample
Test Output
release "zensample" uninstalled
release "actianzen" uninstalled
Additional Information
Learn more about Actian Zen at https://www.actian.com/data-management/zen-embedded-database/
Registered U.S. Patent No. 7,181,457, Registered U.S. Patent No. 6,988,165, Registered U.S. Patent No. 6,996,584, and other patents pending
Where to Purchase
Optimized for Intel® Smart Edge
Install
Actian
Retrieve Container Images and Helm Charts
Containers: https://github.com/ActianCorp/ActianZen-OpenNESS
Helm Charts: https://github.com/smart-edge-open/edgeapps/tree/master/applications/actian-zen
Pre load docker images on nodes
docker image load -i actianzen.tar.gz
Deploy service
kubectl create namespace zen
helm install -n zen actianzen.
Where to Purchase
Related Material
General Actian Zen Information