135 lines
2.5 KiB
Markdown
135 lines
2.5 KiB
Markdown
# Edge 设备部署指南
|
||
|
||
## 首次部署(从 SD 卡克隆)
|
||
|
||
### 克隆前准备
|
||
|
||
在源设备上清理不需要的文件后关机,取出 SD 卡,使用 `dd` 或烧录工具克隆到新卡。
|
||
|
||
### 克隆后配置
|
||
|
||
将新 SD 卡插入新设备,开机,执行以下步骤:
|
||
|
||
#### 1. 生成新的设备 ID
|
||
|
||
管理端通过设备 ID 区分不同设备,克隆后必须更换:
|
||
|
||
```bash
|
||
sudo rm -f /etc/machine-id /var/lib/safesight-edge-agent/device_id
|
||
sudo systemd-machine-id-setup
|
||
```
|
||
|
||
#### 2. 重新生成 SSH 主机密钥
|
||
|
||
```bash
|
||
sudo rm -f /etc/ssh/ssh_host_*_key*
|
||
sudo ssh-keygen -A
|
||
```
|
||
|
||
#### 3. 设置主机名
|
||
|
||
```bash
|
||
sudo hostnamectl set-hostname <新主机名>
|
||
```
|
||
|
||
#### 4. 配置静态 IP(生产环境)
|
||
|
||
编辑 netplan 配置:
|
||
|
||
```bash
|
||
sudo nano /etc/netplan/01-network-manager-all.yaml
|
||
```
|
||
|
||
写入:
|
||
|
||
```yaml
|
||
network:
|
||
version: 2
|
||
ethernets:
|
||
enP4p65s0: # 网卡名,用 ip addr 确认
|
||
dhcp4: no
|
||
addresses:
|
||
- 10.0.0.82/24 # 目标 IP
|
||
routes:
|
||
- to: default
|
||
via: 10.0.0.1 # 网关
|
||
nameservers:
|
||
addresses:
|
||
- 10.0.0.1 # DNS
|
||
```
|
||
|
||
应用:
|
||
|
||
```bash
|
||
sudo netplan apply
|
||
```
|
||
|
||
#### 5. 重启
|
||
|
||
```bash
|
||
sudo reboot
|
||
```
|
||
|
||
### 验证
|
||
|
||
```bash
|
||
# 确认服务状态
|
||
systemctl status safesight-edge-server safesight-edge-agent
|
||
|
||
# 确认新 IP
|
||
ip addr show | grep inet
|
||
|
||
# 确认新设备 ID
|
||
cat /var/lib/safesight-edge-agent/device_id
|
||
|
||
# 管理端发现新设备后,在设备详情页设置别名
|
||
```
|
||
|
||
---
|
||
|
||
## 更新部署
|
||
|
||
### 首次安装(新设备/离线部署)
|
||
|
||
在开发机(已安装 safesight-edge 源码和编译环境)上:
|
||
|
||
```bash
|
||
cd ~/apps/safesight-edge
|
||
git pull && bash scripts/package-offline.sh
|
||
```
|
||
|
||
将生成的包传到目标设备:
|
||
|
||
```bash
|
||
scp safesight-upgrade-*.tar.gz orangepi@<目标IP>:/tmp/
|
||
```
|
||
|
||
在目标设备上:
|
||
|
||
```bash
|
||
cd /tmp && tar -xzf safesight-upgrade-*.tar.gz
|
||
cd safesight-upgrade-*
|
||
sudo AGENT_TOKEN=<管理端token> ./deploy.sh install
|
||
```
|
||
|
||
> 安装后配置为空模板,通过管理端部署向导下发实际配置。
|
||
|
||
### 在线更新(可访问 git)
|
||
|
||
```bash
|
||
cd ~/apps/safesight-edge
|
||
git pull
|
||
bash scripts/build.sh -m -j4
|
||
cd agent && go build -o safesight-edge-agent ./cmd/safesight-agent && cd ..
|
||
sudo ./scripts/deploy.sh upgrade
|
||
```
|
||
|
||
### 旧设备首次升级
|
||
|
||
```bash
|
||
cd ~/apps/safesight-edge && git pull
|
||
bash scripts/build.sh -m -j4
|
||
cd agent && go build -o safesight-edge-agent ./cmd/safesight-agent
|
||
sudo ./scripts/upgrade-from-old.sh
|
||
```
|