Node Client (CLI) Installation
Node Client provides a lightweight control plane interface within the Cluster Wizard system.
It can be used to register and control Node Wizard managed hosts in environments where the full Cluster Wizard control plane is not required. Node Client provides authenticated access for node registration, state management, and centralized control of Node Wizard hosts. Node Client acts as a management interface and can run on any machine that has network access to a Node Wizard node.
Node Client is available as both a command line interface (CLI) and a web based interface (Node Client Web UI). Both provide the same control plane functionality for interacting with Node Wizard managed hosts. This document covers the Node Client CLI and how to configure it for use in this role. For the web-based interface, see Node Client Web UI.
Node Client Requirements​
- Supported Host OSes are Ubuntu 20.04, 22.04, 24.04, Rocky Linux 9.2, RHEL 9.2, Windows (amd64) or MacOS (amd64 or arm64)
- The system running Node Client must have network connectivity to the Node Wizard managed hosts it controls.
Install Node Client​
The file naming convention is node-client-<version>-<distribution>. In this guide we will use version 0.4.0. Please see Release for alternative versions and distributions.
- Download a release tarball from Download
- Extract Node Client
tar -xvf node-client-0.4.0-<distribution>.tgz;
- Deploy Node Client
-
Linux OSes​
After unpacking the deployment package, run
deploy-node-client.sh.deploy-node-client.shchecks dependencies and previously installed versions. It will install any missing dependencies and deploy the node-client binary.Supported Parameters for
deploy-node-client.sh:-aDeploy all : default-dDeploy node-client and check package dependencies. Skip version and Ubuntu ISO checking.-l <version>link the installed node-client to this specific version-hprint usage
cd node-client-0.4.0;
./deploy-node-client.sh;notenode-client deployment on Linux systems provides autocompletion.
-
Windows / MacOS​
No deployment script is provided for Windows and MacOS. The MacOS package includes just the node-client binary, and the Windows one provides a .exe file.
You can run this binary using the terminal or powershell. For convenience, you can put the file into a directory in your $PATH.noteNo autocompletion is provided for Windows/MacOS.
-
Troubleshooting​
Quick Diagnostic Commands​
Run these first to quickly assess the situation:
# Check if node-client is working
node-client --version
Common Problems​
Corrupted node-client-0.4.0.tgz file​
- Bash output of
tar -xvf node-client-0.4.0-<distribution>.tgzis one of:-
gzip: stdin: unexpected end of file
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now -
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now -
gzip: stdin: invalid compressed data--crc error
gzip: stdin: invalid compressed data--length error
tar: Child returned status 1
tar: Error is not recoverable: exiting now -
tar: This does not look like a tar archive
tar: Skipping to next header
tar: A lone zero block at 11
tar: Exiting with failure status due to previous errors
-
- Cause: The node-client.tgz file is corrupted.
- Verify:
- Verify the file type matches expectations:
file node-client-latest-ubuntu22.tgz
node-client-latest-ubuntu22.tgz: gzip compressed data... - check compression integrity (no output indicates success).
gzip -t node-client-latest-ubuntu22.tgz
- Verify the file type matches expectations:
- Verify:
- Solution: Download Node Client again.
Incorrect architecture of node-client​
- Bash output of running node-client
-
bash: ./node-client: cannot execute binary file: Exec format error
-
- Cause: Incorrect node-client architecture selected for download.
- Verify:
- check file type, it should match the target host environment:
#Linux x86_64
file ./node-client
./node-client: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, Go BuildID=-iZte5sEl8PviVFqmcG1/3tFITwexGAaYU6eINNfK/H0jYpXh8P_dWFc5ljoWI/ZBGHplVsfVcpmWP_7_97, with debug_info, not stripped
#macOS ARM64
file ./node-client
./node-client: Mach-O 64-bit arm64 executable, flags:<|DYLDLINK|PIE>
#macOS x86_64
file ./node-client
./node-client: Mach-O 64-bit x86_64 executable, flags:<|DYLDLINK|PIE>
- check file type, it should match the target host environment:
- Verify:
- Solution: Download the correct architecture version of Node Client that matches the target host.
Incorrect distribution of node-client​
- Bash output of running node-client
-
bash: ./node-client /lib/x86_64-linux-gnu/libc.so.Z: version `GLIBC_X.YY' not found
-
- Cause: Incorrect node-client distribution selected for download.
- Solution: Download the correct distribution of Node Client that matches the target host.
Missing library​
- Version command output:
node-client: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory - Cause: A library is missing
- Solution: Manually install the missing library or use
deploy-node-client.shwith-doption. See Install Node Client