mirror of
https://github.com/NVIDIA/dgx-spark-playbooks.git
synced 2026-04-26 03:43:52 +00:00
chore: Regenerate all playbooks
This commit is contained in:
parent
db03c60817
commit
81b4535418
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
## Basic Idea
|
## Basic idea
|
||||||
|
|
||||||
Tailscale creates an encrypted peer-to-peer mesh network that allows secure access
|
Tailscale creates an encrypted peer-to-peer mesh network that allows secure access
|
||||||
to your NVIDIA Spark device from anywhere without complex firewall configurations
|
to your NVIDIA Spark device from anywhere without complex firewall configurations
|
||||||
@ -51,8 +51,9 @@ all traffic automatically encrypted and NAT traversal handled transparently.
|
|||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
- NVIDIA Spark device running Ubuntu (ARM64/AArch64)
|
- NVIDIA Spark device running DGX OS (ARM64/AArch64)
|
||||||
- Client device (Mac, Windows, or Linux) for remote access
|
- Client device (Mac, Windows, or Linux) for remote access
|
||||||
|
- Client device and DGX Spark not on the same network when testing connectivity
|
||||||
- Internet connectivity on both devices
|
- Internet connectivity on both devices
|
||||||
- Valid email account for Tailscale authentication (Google, GitHub, Microsoft)
|
- Valid email account for Tailscale authentication (Google, GitHub, Microsoft)
|
||||||
- SSH server availability check: `systemctl status ssh`
|
- SSH server availability check: `systemctl status ssh`
|
||||||
@ -61,7 +62,7 @@ all traffic automatically encrypted and NAT traversal handled transparently.
|
|||||||
|
|
||||||
## Time & risk
|
## Time & risk
|
||||||
|
|
||||||
**Time estimate**: 15-30 minutes for initial setup, 5 minutes per additional device
|
**Duration**: 15-30 minutes for initial setup, 5 minutes per additional device
|
||||||
|
|
||||||
**Risks**:
|
**Risks**:
|
||||||
- Potential SSH service configuration conflicts
|
- Potential SSH service configuration conflicts
|
||||||
@ -98,10 +99,10 @@ the Spark device.
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
## Check if SSH is running
|
## Check if SSH is running
|
||||||
systemctl status ssh
|
systemctl status ssh --no-pager
|
||||||
```
|
```
|
||||||
|
|
||||||
#### If SSH is not installed or running
|
**If SSH is not installed or running:**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
## Install OpenSSH server
|
## Install OpenSSH server
|
||||||
@ -109,10 +110,10 @@ sudo apt update
|
|||||||
sudo apt install -y openssh-server
|
sudo apt install -y openssh-server
|
||||||
|
|
||||||
## Enable and start SSH service
|
## Enable and start SSH service
|
||||||
sudo systemctl enable ssh --now
|
sudo systemctl enable ssh --now --no-pager
|
||||||
|
|
||||||
## Verify SSH is running
|
## Verify SSH is running
|
||||||
systemctl status ssh
|
systemctl status ssh --no-pager
|
||||||
```
|
```
|
||||||
|
|
||||||
### Step 3. Install Tailscale on NVIDIA Spark
|
### Step 3. Install Tailscale on NVIDIA Spark
|
||||||
@ -153,7 +154,7 @@ with authentication.
|
|||||||
tailscale version
|
tailscale version
|
||||||
|
|
||||||
## Check Tailscale service status
|
## Check Tailscale service status
|
||||||
sudo systemctl status tailscaled
|
sudo systemctl status tailscaled --no-pager
|
||||||
```
|
```
|
||||||
|
|
||||||
### Step 5. Connect Spark device to Tailscale network
|
### Step 5. Connect Spark device to Tailscale network
|
||||||
@ -172,9 +173,10 @@ sudo tailscale up
|
|||||||
### Step 6. Install Tailscale on client devices
|
### Step 6. Install Tailscale on client devices
|
||||||
|
|
||||||
Install Tailscale on the devices you'll use to connect to your Spark remotely.
|
Install Tailscale on the devices you'll use to connect to your Spark remotely.
|
||||||
|
|
||||||
Choose the appropriate method for your client operating system.
|
Choose the appropriate method for your client operating system.
|
||||||
|
|
||||||
#### On macOS
|
**On macOS:**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
## Option 1: Install from Mac App Store
|
## Option 1: Install from Mac App Store
|
||||||
@ -184,7 +186,7 @@ Choose the appropriate method for your client operating system.
|
|||||||
## Visit https://tailscale.com/download and download .pkg installer
|
## Visit https://tailscale.com/download and download .pkg installer
|
||||||
```
|
```
|
||||||
|
|
||||||
#### On Windows
|
**On Windows:**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
## Download installer from https://tailscale.com/download
|
## Download installer from https://tailscale.com/download
|
||||||
@ -192,7 +194,7 @@ Choose the appropriate method for your client operating system.
|
|||||||
## Launch Tailscale from Start Menu or system tray
|
## Launch Tailscale from Start Menu or system tray
|
||||||
```
|
```
|
||||||
|
|
||||||
#### On Linux
|
**On Linux:**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
## Use same installation steps as Spark device (Steps 3-4)
|
## Use same installation steps as Spark device (Steps 3-4)
|
||||||
@ -204,12 +206,13 @@ Choose the appropriate method for your client operating system.
|
|||||||
Log in to Tailscale on each client device using the same identity provider
|
Log in to Tailscale on each client device using the same identity provider
|
||||||
account you used for the Spark device.
|
account you used for the Spark device.
|
||||||
|
|
||||||
#### On macOS/Windows (GUI)
|
**On macOS/Windows (GUI):**
|
||||||
- Launch Tailscale app
|
- Launch Tailscale app
|
||||||
- Click "Log in" button
|
- Click "Log in" button
|
||||||
- Sign in with same account used on Spark
|
- Sign in with same account used on Spark
|
||||||
|
|
||||||
#### On Linux (CLI)
|
**On Linux (CLI):**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
## Start Tailscale on client
|
## Start Tailscale on client
|
||||||
sudo tailscale up
|
sudo tailscale up
|
||||||
@ -237,7 +240,7 @@ tailscale ping <SPARK_HOSTNAME>
|
|||||||
Set up SSH key authentication for secure access to your Spark device. This
|
Set up SSH key authentication for secure access to your Spark device. This
|
||||||
step runs on your client device and Spark device.
|
step runs on your client device and Spark device.
|
||||||
|
|
||||||
#### Generate SSH key on client (if not already done)
|
**Generate SSH key on client (if not already done):**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
## Generate new SSH key pair
|
## Generate new SSH key pair
|
||||||
@ -247,7 +250,7 @@ ssh-keygen -t ed25519 -f ~/.ssh/tailscale_spark
|
|||||||
cat ~/.ssh/tailscale_spark.pub
|
cat ~/.ssh/tailscale_spark.pub
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Add public key to Spark device
|
**Add public key to Spark device:**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
## On Spark device, add client's public key
|
## On Spark device, add client's public key
|
||||||
@ -282,6 +285,9 @@ Verify that Tailscale is working correctly and your SSH connection is stable.
|
|||||||
## From client device, check connection status
|
## From client device, check connection status
|
||||||
tailscale status
|
tailscale status
|
||||||
|
|
||||||
|
## Create a test file on the client device
|
||||||
|
echo "test file for the spark" > test.txt
|
||||||
|
|
||||||
## Test file transfer over SSH
|
## Test file transfer over SSH
|
||||||
scp -i ~/.ssh/tailscale_spark test.txt <USERNAME>@<SPARK_HOSTNAME>:~/
|
scp -i ~/.ssh/tailscale_spark test.txt <USERNAME>@<SPARK_HOSTNAME>:~/
|
||||||
|
|
||||||
@ -289,7 +295,7 @@ scp -i ~/.ssh/tailscale_spark test.txt <USERNAME>@<SPARK_HOSTNAME>:~/
|
|||||||
ssh -i ~/.ssh/tailscale_spark <USERNAME>@<SPARK_HOSTNAME> 'nvidia-smi'
|
ssh -i ~/.ssh/tailscale_spark <USERNAME>@<SPARK_HOSTNAME> 'nvidia-smi'
|
||||||
```
|
```
|
||||||
|
|
||||||
Expected output should show:
|
Expected output:
|
||||||
- Tailscale status displaying both devices as "active"
|
- Tailscale status displaying both devices as "active"
|
||||||
- Successful file transfers
|
- Successful file transfers
|
||||||
- Remote command execution working
|
- Remote command execution working
|
||||||
@ -301,7 +307,7 @@ Common issues and their solutions:
|
|||||||
| Symptom | Cause | Fix |
|
| Symptom | Cause | Fix |
|
||||||
|---------|-------|-----|
|
|---------|-------|-----|
|
||||||
| `tailscale up` auth fails | Network issues | Check internet, try `curl -I login.tailscale.com` |
|
| `tailscale up` auth fails | Network issues | Check internet, try `curl -I login.tailscale.com` |
|
||||||
| SSH connection refused | SSH not running | Run `sudo systemctl start ssh` on Spark |
|
| SSH connection refused | SSH not running | Run `sudo systemctl start ssh --no-pager` on Spark |
|
||||||
| SSH auth failure | Wrong SSH keys | Check public key in `~/.ssh/authorized_keys` |
|
| SSH auth failure | Wrong SSH keys | Check public key in `~/.ssh/authorized_keys` |
|
||||||
| Cannot ping hostname | DNS issues | Use IP from `tailscale status` instead |
|
| Cannot ping hostname | DNS issues | Use IP from `tailscale status` instead |
|
||||||
| Devices missing | Different accounts | Use same identity provider for all devices |
|
| Devices missing | Different accounts | Use same identity provider for all devices |
|
||||||
@ -337,5 +343,5 @@ Your Tailscale setup is complete. You can now:
|
|||||||
|
|
||||||
- Access your Spark device from any network with: `ssh <USERNAME>@<SPARK_HOSTNAME>`
|
- Access your Spark device from any network with: `ssh <USERNAME>@<SPARK_HOSTNAME>`
|
||||||
- Transfer files securely: `scp file.txt <USERNAME>@<SPARK_HOSTNAME>:~/`
|
- Transfer files securely: `scp file.txt <USERNAME>@<SPARK_HOSTNAME>:~/`
|
||||||
- Run Jupyter notebooks remotely by SSH tunneling:
|
- Open the DGX Dashboard and start JupyterLab, then connect with:
|
||||||
`ssh -L 8888:localhost:8888 <USERNAME>@<SPARK_HOSTNAME>`
|
`ssh -L 8888:localhost:1102 <USERNAME>@<SPARK_HOSTNAME>`
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user