Plan and Set Up a Managed Cluster
Use this guide to connect one pilot node, validate the complete path, and then roll the agent out to the remaining nodes.
Before You Begin
Choose a deployment profile and assign responsibilities before changing any hosts. You need:
- Organization administrator permission in ACTIVATE.
- Root or
sudoaccess to every node you plan to register. - A Linux distribution that uses
systemd. curland an SSH server on nodes that users will access interactively.- Slurm or PBS client commands on the scheduler controller if you want job information in ACTIVATE.
- A maintenance window and host backups appropriate for any NSS, PAM,
sshd, orsudoerschanges you plan to enable.
Access-management automation supports Debian- and RHEL-family distributions. User Population may install git, make, and a C compiler, then build libnss_cache from source if the library is absent. Permit access to the host's package repositories and GitHub during initial configuration, or preinstall the dependencies under your site's change process.
Check Network Paths
| Direction | Source | Destination | Port and protocol | Purpose |
|---|---|---|---|---|
| Outbound | Every registered node | ACTIVATE platform host | TCP 443, HTTPS/WSS | Registration, heartbeats, API calls, and the managed tunnel |
| Inbound within trusted networks | Approved monitoring systems | Every registered node | TCP 9100, HTTP | Prometheus metrics exposed by the agent |
| Inbound to the selected login node | Platform, workspace, or approved user networks, depending on login configuration | SSH server | TCP 22 | Direct SSH path when the configured route does not use the tunnel |
| Local on the selected login node | Managed agent | SSH server | TCP 22 | Final SSH hop when ACTIVATE uses the managed tunnel; this does not require a public inbound rule |
The metrics endpoint on TCP 9100 does not require credentials. The agent listens on all interfaces by default, so use host or network firewalls to prevent public or untrusted access. The platform connection itself is outbound; you do not need a public inbound route for the managed tunnel.
See Compute Cluster Agent Connectivity for the broader control-plane network model.
Choose the Pilot
Start with a non-critical node that represents the operating system and security configuration you will use in production. If possible, choose a node that can perform the intended login or scheduler-controller role so the pilot can validate more than heartbeats.
Do not enable cluster-wide access management until the pilot agent is online. When you are ready to test those settings, use a node-level override.
Create the Resource
- Open Compute > Clusters.
- Click Add Resource and select Managed Cluster.
- Enter a unique cluster name. Display name, description, tags, and favorite status are optional.
- Click Add Resource.
This creates an organization-level record in ACTIVATE. It does not create or modify any machines.
Register the Pilot Node
-
Open the managed cluster and select Nodes.
-
Click Add Node.
-
Click Generate Registration Token.
-
On the node, run the installation command shown in ACTIVATE. It follows this form:
curl -fsSL https://<platform-host>/cli/install.sh | bash -s -- --to /usr/local/bin -
Run the registration command shown on the page:
sudo /usr/local/bin/pw agent register --token '<registration-token>' --systemd
The command exchanges the token for a node-specific credential, installs and enables /etc/systemd/system/pw-agent.service, and starts the agent. The service runs as root.
Protect the installer and registration token
Use the exact HTTPS installer URL displayed by your ACTIVATE deployment. If your security policy requires source review, download and inspect the installer before executing it instead of piping it directly to Bash.
The registration token is a secret, expires after 24 hours, and works once. The command-line form can be recorded in shell history and may be briefly visible to local process inspection. Generate it only when ready, use a trusted administrative session, and remove the command from history according to your shell and site policy. Generate a replacement for every additional node or after any suspected exposure.
A node is identified by its system hostname. Registering the same hostname again replaces that node's credential and registration. Before re-registering, confirm that no other active machine is using that hostname.
Verify the Agent
On the node, inspect the service and follow its logs:
sudo systemctl status pw-agent
sudo journalctl -xefu pw-agent --output=catThe agent sends a heartbeat every 30 seconds. ACTIVATE marks a node offline after it has missed heartbeats for about 90 seconds. Online and Tunnel Connected are separate states; verify both when the node will handle SSH or sessions.
Configure the Node Roles
Open the cluster and click Edit.
Login Address
Choose where terminal and CLI SSH connections land:
- Registered node uses that node's live tunnel when available.
- User workspace uses the user's workspace as the connection point when it can route to the cluster.
- Custom address uses an administrator-supplied hostname or IP address.
If you use a custom address, enable Proxy SSH when the platform should proxy the connection rather than let the client connect directly.
A registered node is not a tunnel-only policy
If the selected registered node is offline or its tunnel is unavailable, ACTIVATE may fall back to a direct SSH connection to that node's configured hostname. Make sure DNS and firewall policy allow only the direct path you intend. Do not rely on the registered-node selection to prohibit direct SSH.
Session Node
Select the registered node that should host browser desktop and VS Code sessions. It can differ from the login node, but its tunnel must show Connected when a session starts. Choose None to disable managed sessions for the cluster.
Scheduler Controller
Register the node running slurmctld or pbs_server to publish cluster scheduler data without duplicating it from every node. ACTIVATE displays Slurm partitions and jobs. For PBS, it displays jobs; do not expect a PBS partition view.
If you chose the ACTIVATE-managed identity and access profile, configure identity and access on the pilot now. Return here only after the applicable NSS, PAM, SSH-key, and sudo checks succeed.
Pilot Acceptance Checklist
Complete the basic connection checks and every identity check that applies to your deployment profile before registering more nodes:
- The pilot appears Online, and its hostname, operating system, architecture, filesystems, and metrics are correct.
- If the node will carry SSH or sessions, its tunnel appears Connected.
- The intended login address is configured, and a pilot user can open a terminal using the expected route.
- If using Slurm, partitions and a test job appear. If using PBS, a test job appears.
- If using ACTIVATE-managed identities, a pilot user's UID, groups, home directory, SSH key, and sudo behavior match policy.
- Removing the pilot user's access or sudo permission produces the expected process-revocation behavior described in the identity guide.
- If sessions are enabled, a pilot desktop or VS Code session starts on the selected session node.
- TCP 9100 is unreachable from untrusted networks and reachable only from approved monitoring systems, if any.
- Agent logs show no repeated heartbeat, tunnel, scheduler, or access-management errors.
- Linux and ACTIVATE administrators have recorded the effective settings and rollback plan.
Roll Out the Remaining Nodes
After all applicable pilot checks pass, generate a fresh registration token for each node. Register only nodes that ACTIVATE needs to observe, use as a connection target, or configure. After each batch, verify node status, tunnel state where required, and effective access-management settings before continuing.
After rollout, share the user guide and the site's support path with everyone who receives access.