Ok great, you have a cluster host prepared and your management machine prepped and ready to go. The next step is to take the cluster host under management of your SSME with the ss-remote
command, a bash alias for remote.sh
.
Taking a Cluster Host under Management
Taking a remote SSH endpoint under management is as simple as issuing the following command which creates a new LXD remote called dev
. The SSME will reach out to clusterhost01.domain.tld
(defined in your DNS server) using SSH/t and installs and initializes LXD on the remote host.
ss-remote dev clusterhost01.domain.tld --disk=/dev/nvme0n1p3
The --disk
flag should be set to the device corresponding to the large UNFORMATTED partition.
You can also specify --data-plane-interface=<eno1>
is the physical network interface that VMs will attach to expose services on the network underlay (i.e., SERVERS_VLAN
). Note, if you only have ONE physical interface on the device, it is UNNECESSARY to specify the --data-plane-interface
. If you have two or more physical interfaces, then you can separate the data plane from the management plane.
remote.conf
If this is the first time you're running the command, Sovereign Stack will stub ~/ss/remotes/dev/remote.conf
. You should review the config file and set it up to match your particular requirements, then run the ss-remote
command again so it completes.
# see https://www.sovereign-stack.org/ss-remote for more info!
LXD_REMOTE_PASSWORD="NGFnZo05I1OYRhbLBPA="
DEPLOYMENT_STRING="(dev|regtest),(staging|testnet)"
# REGISTRY_URL=http://registry.domain.tld:5000
LXD_REMOTE_PASSWORD
is automatically generated for you. But DEPLOYMENT_STRING
requires some consideration. In the above example, you can expect TWO distinct deployments, one called dev
running on regtest
, and one called staging
running on bitcoin testnet
. production-mainnet
would be the next obvious choice.
At the end of remote.sh
, a new LXD remote is created in your SSME. Finally, the lxc client is switched to the remote such that any subsequent lxc
commands target that remote. You can use lxc remote list
to get information about your currect remotes, including the active remote. lxc remote get-default
is another useful command.
ss-remote
again to establish control over an existing remote endpoint.