128 lines
2.2 KiB
Markdown
128 lines
2.2 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
|
||
|
||
# 管理端发现新设备后,在设备详情页设置别名
|
||
```
|
||
|
||
---
|
||
|
||
## 更新部署
|
||
|
||
### 在线更新(可访问 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
|
||
bash scripts/package-offline.sh
|
||
```
|
||
|
||
将生成的 `safesight-upgrade-*.tar.gz` 传到生产设备:
|
||
|
||
```bash
|
||
# 通过 SCP(替换 IP)
|
||
scp safesight-upgrade-*.tar.gz orangepi@10.0.0.82:/tmp/
|
||
|
||
# 或通过 U 盘挂载后复制
|
||
```
|
||
|
||
在生产设备上:
|
||
|
||
```bash
|
||
tar -xzf safesight-upgrade-*.tar.gz -C /tmp/
|
||
cd /tmp/safesight-upgrade-*
|
||
sudo ./deploy.sh upgrade # 已升级过的新设备
|
||
# 或
|
||
sudo ./upgrade-from-old.sh # 首次从旧版本升级
|
||
```
|