Sunday, 9 November 2025

Managing Robin Clusters Remotely Using the Robin Client

Robin’s CLI is powerful, but what if you need to manage multiple clusters from a single machine? That’s where the Robin Remote Client comes in. It mirrors the native CLI functionality and introduces the concept of contexts, allowing you to switch between clusters seamlessly.

This blog post walks you through downloading the remote client, adding and managing contexts, and using them to control your Robin clusters efficiently.


๐Ÿ“ฅ 4.11.1 Downloading the Robin Client

To begin, download the Robin client from your cluster’s master node:

curl -k 'https://<masterip>:<port>/api/v3/robinserver/download?file=robincli&os=<os>' -o robin

๐Ÿ”น Example

curl -k 'https://vnode42:29442/api/v3/robin_server/download?file=robincli&os=linux' -o robin

Output:

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                Dload  Upload   Total   Spent    Left  Speed
100 10.1M  100 10.1M    0     0  1421k      0  0:00:07  0:00:07 --:--:-- 1483k

Verify the download:

ls -lart
-rw-r--r--    1 demo  staff    10655536 Mar 26 14:12 robin


๐Ÿงฉ 4.11.2 Adding a Context

A context defines a Robin cluster for the remote client. You can add one using:

robin client add-context <server>
                        --port <port>
                        --file-port <fileport>
                        --event-port <eventport>
                        --watchdog-port <watchport>
                        --metrics-port <metricsport>
                        --log-level <loglevel>
                        --product <producttype>
                        --set-current

๐Ÿ”น Example

robin client add-context centos-60-214 --port 29442

Output:

Context robin-cluster-centos-60-214 created successfully

๐Ÿ’ก If the cluster is highly available, use VIP and set ports to 29465.


๐Ÿ“‹ 4.11.3 Listing All Contexts

To view all registered contexts with details:

robin client list-contexts --full

✅ Output

   | Server                            | Port  | Version    | Tenant         | Last Login           | Tenants        | FPort | WPort | MPort | LogLevel
---+-----------------------------------+-------+------------+----------------+----------------------+----------------+-------+-------+-------+----------
   | master.robin-server.service.robin | 29442 | -          | -              | -                    |                | 29445 | 29444 | 29446 | ERR
   | centos-60-214                     | 29443 | -          | Administrators | -                    |                | 29445 | 29444 | 29446 | ERR
 * | 172.19.174.194                    | 29442 | 5.2.3-9842 | Administrators | 26 Mar 2020 16:10:58 | Administrators | 29445 | 29444 | 29446 | ERR

The asterisk * indicates the current context.


๐Ÿ”„ 4.11.4 Setting the Current Context

To switch to a specific cluster:

robin client set-current <context>

๐Ÿ”น Example

robin client set-current centos-60-214

Output:

Current context set to robin-cluster-centos-60-214

๐Ÿ”ง 4.11.5 Updating the Current Context

If cluster attributes change (e.g., after reinstallation), update the context:

robin client update-context --port <port>
                            --file-port <fileport>
                            --event-port <eventport>
                            --watchdog-port <watchport>
                            --metrics-port <metricsport>
                            --log-level <log_level>

๐Ÿ”น Example

robin client update-context --port 29942 --file-port 29445 --watchdog-port 29444 --metrics-port 29446

Output:

Updating attributes for context robin-cluster-centos-60-214
Server: centos-60-214
Context config updated for robin-cluster-centos-60-214

๐Ÿ—‘️ 4.11.6 Deleting a Context

To remove a context:

robin client delete-context <context>

๐Ÿ”น Example

robin client delete-context centos-60-214

Output:

Context centos-60-214 deleted

๐Ÿ“ Summary

TaskCommandDescription
Download clientcurlGet Robin CLI for remote use
Add contextrobin client add-contextRegister a cluster
List contextsrobin client list-contexts --fullView all registered clusters
Set currentrobin client set-current <context>Switch active cluster
Update contextrobin client update-contextModify cluster attributes
Delete contextrobin client delete-context <context>Remove a cluster

No comments:

Post a Comment