Deploy Local WEKA Home v3.0 or higher
Explore procedures for deploying the Local WEKA Home v3.0 or higher, upgrading, modifying the configuration, and troubleshooting.
Last updated
Explore procedures for deploying the Local WEKA Home v3.0 or higher, upgrading, modifying the configuration, and troubleshooting.
Last updated
This Local WEKA Home implementation runs on K3s, a lightweight Kubernetes installed on a single node cluster. Customize the deployment by specifying configuration parameters in the config.json
file.
If you have deployed the WMS, follow the procedure:Deploy monitoring tools using the WEKA Management Station (WMS). Otherwise, perform the following workflow:
Verify that the following requirements are met:
A dedicated physical server (or VM) for the installation with systemd
.
The user account for installing the LWH must have root privileges.
Server minimum CPU and RAM requirements:
Minimum 8 CPU cores and 20 GiB RAM for up to 1000 total processes.
Total processes are equal to the cores used on the cluster backends for Management/Frontend/Compute/Drives roles and the cores used on clients for Management/Frontend roles.
Sizing for additional processes:
The total number of processes determines the number of CPU and RAM required.
For every additional 1000 processes or less, add 1 CPU core and 8 GiB RAM.
Example: 20 backends with 10 processes each = 200 processes; 500 clients with 2 processes each = 1000 processes. The total is 1200 processes. This deployment requires 9 CPU cores and 28 GiB.
SSD-backed storage requirements:
Minimum 500 GiB for locally collected data in /opt/wekahome/data
1 Gbps network
For using other operating systems, contact the Customer Success Team.
It's recommended to disable the SELinux.
If enabled, it is required to disable nm-cloud-setup and reboot the node:
Ensure the following ports are open and not used by any other process. Each port is used for the process specified in the brackets. homecli
adds firewall rules automatically during installation for supported systems (firewalld
, ufw)
. For any other setup, check the following ports:
6443
(kube-apiserver)
10259
(kube-scheduler)
10257
(kube-controller-manager)
10250
(kubelet)
80
(Local WEKA Home, WEKA cluster, and web browser)
443
(Local WEKA Home, WEKA cluster, and web browser)
Ensure the following networks are trusted:
10.42.0.0/16
(pods)
10.43.0.0/16
(services)
If you forward data from the Local WEKA Home to the Cloud WEKA Home, ensure the outbound traffic on port 443 is open.
Download the latest Local WEKA Home bundle (v3.0 or above) to the dedicated server or VM.
Run the Local WEKA Home setup bundle as a root user (where *
is wekahome version):
bash wekahome-*.bundle
To update the environment, do one of the following:
Re-login to the server.
Run the following command: source /etc/profile
To customize the configuration, create a config.json
file from the following examples and the template located in /opt/wekahome/current/config.json.sample
.
To initialize the setup, run the following command from the root user: homecli local setup -c config.json
For a fresh installation, expect approximately 5 minutes for completion.
Options:
You can use the default configuration by running:
homecli local setup
Specify the network interface or bind address for the cluster using:
homecli local setup --iface <interface> --ip <IP address>
Set your domain name or external IP as the host with:
homecli local setup --host <host.domain.com>
Enable HTTPS by providing a certificate and key directly to the command instead of using the config.json
:
homecli local setup --iface <interface> --tls-cert <cert.pem> --tls-key <key.pem>
URLs:
LWH portal: https://<your_domain>
Grafana: https://<your_domain>/stats/
WEKA Home REST API: https://<your_domain>/api/
Username: admin
(for accessing all portals).
Passwords to access the URLs:
Obtain the LWH portal password: Run the command:
kubectl get secret -n home-weka-io wekahome-admin-credentials -o jsonpath='{.data.adminPassword}' | base64 -d
Obtain the Grafana portal password: Run the command:
kubectl get secret -n home-weka-io wekahome-grafana-credentials -o jsonpath='{.data.password}' | base64 -d
Obtain the WEKA Home secret key: Run the command:
kubectl get secret -n home-weka-io wekahome-encryption-key -o jsonpath='{.data.encryptionKey}' | base64 -d
By default, the WEKA cluster is set to send information to the public instance of WEKA Home. To get the information in the Local WEKA Home, connect to the WEKA cluster and run one of the following commands depending on the configuration:
Standard configuration:
Secure configuration with valid TLS certificates:
Access the WEKA Home portal and verify that the test data appears.
To trigger a test event, run weka events trigger-event test
and verify the test event is received in the Local WEKA Home portal under the Events section.
If required, go to /var/log/pods
and review the relevant log according to the timestamp (for example, wekahome-install-03-08-2023_16-29.log
).
The upgrade process takes up to 5 minutes. It is recommended to perform the upgrade during a maintenance window.
Upgrading from minikube
or WMS to the new Local WEKA Home 3.0 bundle (based on K3s
) is not supported. To upgrade, install the new Local WEKA Home bundle to the new server and add API forwarding from the minikube
cluster to the new K3s
cluster.
Procedure
Download the latest Local WEKA Home bundle to the dedicated physical server (or VM).
Run bash wekahome-*.bundle
To modify the existing configuration, open the /opt/wekahome/config/config.json
file and modify the settings. See Install and configure Local WEKA Home.
Run homecli local upgrade
. For an upgrade, it takes about 2 minutes.
Run kubectl get pods
and verify in the results that all pods have the status Running or Completed. (To wait for the pods' statuses, run watch kubectl get pods
.)
Verify the Local WEKA Home is upgraded successfully. Run the following command line:
helm status wekahome -n home-weka-io
If there is a change in the TLS certificates, SMTP server in your environment, or any other settings in the Local WEKA Home configuration, you can modify the existing config.json
with your new settings and apply them.
Procedure
Open the /opt/wekahome/config/config.json
file and modify the settings. See 4. Install and configure Local WEKA Home.
Run homecli local upgrade
Run kubectl get pods -n home-weka-io
and verify in the results that all pods have the status Running or Completed. (To wait for the pods' statuses, run watch kubectl get pods
.)
Verify the Local WEKA Home is updated successfully. Run the following command line:
helm status wekahome -n home-weka-io
The probable cause can be, for example, a communication problem.
Check the firewall and node IP settings. If you didn't set up a firewall (see #id-2.-prepare-the-management-server), set valid rules and run:
Retrieve the ingress pod (controller) of the Local WEKA Home.
Retrieve the logs and look for the error.
The probable cause for this issue is that the containers dir (/var/lib/rancher/k3s
) consumes disk space.
Do one of the following:
Try to clean unused images with homecli local cleanup images
Resize the disk and reinstall the Local WEKA Home.
Relocate the K3s root directory path to a new path on a larger device (if it exists) and copy the content from the old path to the new path.
The probable cause can be issues related to the SMTP server, such as wrong credentials or recipient email address.
On the Integration page, select Test Integration. Wait until an error appears.
Retrieve the logs and search for the error. On the Local WEKA Home terminal, run the following command:
for dep in `kubectl get deployment -n home-weka-io -o name`; do echo -----$dep-----; kubectl logs $dep --all-containers=true --timestamps=true --since=5m ; done
The LWH provides a script that collects various resource details from the LWH deployed on the Kubernetes cluster and generates an archive. This information helps the Customer Success Team and R&D to analyze and provide support when troubleshooting is needed.
The LWH deployment diagnostics provide the following information:
Pods status
Logs of all pods
K3s settings
Free disk space
CPU and memory usage
Name resolutions
LWH version
Syslogs
Procedure
Run the following command:
Once you generate the LWH deployment diagnostics archive file, send it to the Customer Success Team for analysis.
Parameters
archive
*
The path and output archive file name.
For example: /path/diag/lwh_diagnostics.tar.gz
include-sensitive
Include sensitive data in the archive. For example, value overrides. Use this parameter only if required by the Customer Success Team.
full-disk-scan
Perform a higher level of disk scan. Use this parameter only if required by the Customer Success Team.
verbose
Provide a higher verbosity level of the debug information.
The WEKA cluster uploads data to the Local WEKA Home periodically and on-demand according to its information type (see ).