跳到主要内容

隔离网络安装

这是在互联网访问受限的站点(军事设施 / 高安全等级设施 / 部分工厂)安装网关时使用的步骤。 标准的 一键安装 需要能够访问 product.kopens.io,但在隔离网络中无法实现,因此必须在外部获取交付物,通过 USB / NAS 转移到现场后再进行安装。

容器模式 (2026.05+, 推荐)​

需要转移 install 软件包和容器镜像 tar.zst 这两项。当 install.sh 检测到同级目录下的 image/*.tar.zst 时,会自动将其 import 到 docker load (绕过 registry pull)。

准备 PC (可连接互联网)​

不要手动创建分发包,请使用 airgap-bundle.sh 进行构建。它将仓库文件和容器镜像打包在一起,可避免版本不一致的问题。在 GitLab 中,也可以运行 airgap:export 手动作业后通过 artifacts 下载。

# 1) 저장소 받기
curl -fsSLO https://product.kopens.io/plantpulse-edge/plantpulse-edge-docker.tar.gz
mkdir -p plantpulse-edge-docker
tar xzf plantpulse-edge-docker.tar.gz -C plantpulse-edge-docker --strip-components=1

# 2) 반출 번들 굽기 — 저장소 + 이미지가 함께 들어간다
sudo bash plantpulse-edge-docker/bin/airgap-bundle.sh

# 3) USB / NAS 로 옮김 (파일명 예: plantpulse-edge-images-2026.07.tar.gz)
cp plantpulse-edge-images-*.tar.gz /media/usb/

隔离网络设备 (无互联网)​

sudo -i
mkdir -p /opt/kopens/plantpulse-edge-docker
tar xzf /media/usb/plantpulse-edge-images-*.tar.gz \
-C /opt/kopens/plantpulse-edge-docker --strip-components=1
cd /opt/kopens/plantpulse-edge-docker/repo/bin
# 필요하면 env.sh 에서 EDGE_ID / SITE_ID 를 박스별로 조정한 뒤 실행
sudo bash airgap-load.sh
# airgap-load.sh: 오프라인 Docker 설치 → 이미지 docker load → install.sh(SKIP_PULL=1)

安装后以容器模式验证:

sudo bash /opt/kopens/install/bin/status.sh
sudo bash /opt/kopens/install/bin/health.sh
curl -ks https://127.0.0.1/api/v1/system/version | python3 -m json.tool
curl -ks https://127.0.0.1/api/v1/system/health | python3 -m json.tool

安装后的升级同样在无互联网环境下进行 —— 导入新镜像文件并执行 pe upgrade --bundle (隔离网络升级)。

隔离网络的安装完成标准与普通安装一致。在投入运行前,请根据 生产就绪标准 记录备份文件、acceptance log、image tag 以及凭据的交付情况。


常见陷阱​

现象原因 / 解决
tar: Error opening archiveUSB 中的镜像仅部分复制。在准备 PC 上对比 sha256 后重新复制
docker load 显示 «no space left»/var/lib/docker 空间不足。请预留至少镜像大小 2 倍以上的空间
服务在 activating 停止某个模块启动延迟。通过 journalctl -u plantpulse-edge -f 和 bin/logs.sh 查看具体是哪个模块
时间不匹配 (1970年)隔离网络无法访问 NTP。将公司内部 NTP 服务器 IP 添加至 /etc/chrony.conf
install.sh 调用外部 URL遗漏了离线参数。请严格执行上述隔离网络安装步骤中的命令

现象原因 / 解决
dnf install 因找不到互联网而停止遗漏了 --disablerepo=* 选项。请使用上述 3.1 节中的选项
tar: Error opening archiveUSB 中的交付物仅部分复制。在准备 PC 上对比 sha256 后重新复制
systemctl status plantpulse → activating停在 bin/start.sh 的某个步骤。使用 journalctl -u plantpulse -f 查看实时日志
时间不匹配 (1970年)隔离网络无法访问 NTP。将公司内部 NTP 服务器 IP 添加至 /etc/chrony.conf
install.sh 调用 download URLsed 修改遗漏 — 将 install.sh 内的所有 URL 更改为 file:///mnt/usb/...

更多信息​