16 Herdr 跨機器工作流 × Tailscale
16.1 簡介
Herdr 的 --remote 功能讓你能從任何機器遠端控制其他機器上的開發環境。結合 Tailscale 私有網路,你可以安全地在整個機器叢集上無縫工作。
16.2 為什麼需要這個?
- 統一的開發體驗 — 使用相同的快捷鍵、設定和工作流跨越多台機器
- 私有安全 — Tailscale 加密連線,無需公網暴露
- 低延遲 — Tailscale 的 mesh 網路直連各機器
- 自動發現 — Tailscale DNS 讓機器名直接可用
16.3 基本概念
你的 Tailscale 網路架構:
┌─────────────────────────────────────────┐
│ Tailscale 私有網路 │
├─────────────────────────────────────────┤
│ goanna (100.71.112.5) — 主工作機 │
│ ├→ herdr --remote lizard │
│ ├→ herdr --remote chameleon │
│ └→ herdr --remote iguana │
│ │
│ lizard (100.124.17.118) — 執行服務 │
│ ├→ herdr server │
│ └─ 背景 Herdr 實例 │
│ │
│ chameleon (100.99.141.125) — 執行服務 │
│ ├→ herdr server │
│ └─ 背景 Herdr 實例 │
│ │
│ iguana (100.124.203.125) — 執行服務 │
│ ├→ herdr server │
│ └─ 背景 Herdr 實例 │
└─────────────────────────────────────────┘
16.4 快速開始
16.4.1 第一步:設定 SSH 設定
編輯 ~/.ssh/config,加入 Tailscale 別名:
16.4.2 第二步:在遠端機器啟動 Herdr 服務
在每台遠端機器上:
16.4.3 第三步:從主機連線
現在從 goanna 連接到任何遠端機器:
16.5 持久化部署(Systemd)
讓 Herdr 在機器重開後自動啟動。
在每台遠端機器上創建 /etc/systemd/system/herdr-server.service:
然後啟用:
16.6 常見命令
16.7 疑難排解
16.7.1 連線被拒
16.7.2 Herdr Server 未運行
16.7.3 Tailscale 連線問題
16.8 下一步
- 設定通知整合(Herdr agent-status watcher)
- 配置自動會話管理
- 探索跨機器的任務自動化工作流