Files
Goedge/README.md
2024-07-30 14:30:12 +08:00

126 lines
4.3 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 使用Docker快速部署GoEdge管理平台包含API节点和边缘节点
## 部署前的准备工作
### 安装Docker
管理平台和边缘节点都需要先安装Docker新版本的Docker已包含compose插件因此我们只需要执行官方推荐的命令安装即可
```
curl -sSL https://get.docker.com | sh
```
### 部署管理平台
首先编写docker-compose.yaml因为将管理平台所依赖的mysql加进来所以这里使用docker compose的方式进行也是方便后期迁移等管理工作。
mysql的版本要求官方建议使用mysql 8最低不低于mysql 5.7.8系统内存建议4GB以上。
首先进入你想存放docker-compose.yaml的路径比如/opt/goedge然后进入该路径后创建docker-compose.yaml输入以下内容
```
version: "3"
networks:
goedge:
external: false
services:
mysqld:
image: mysql:8
container_name: mysqld
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_USER=edges
- MYSQL_PASSWORD=edges
- MYSQL_DATABASE=edges
networks:
- goedge
volumes:
- ./data/db/mysql:/var/lib/mysql:rw
restart: always
edge-admin:
image: icodex/edge-admin:1.3.3
container_name: edge-admin
ports:
- 7788:7788/tcp
- 8001:8001/tcp
networks:
- goedge
volumes:
- ./data/edge-admin/configs:/usr/local/goedge/edge-admin/configs
- ./data/edge-api/configs:/usr/local/goedge/edge-admin/edge-api/configs
restart: always
```
以上使用了mysql 8的镜像接着edge-admin是管理平台的镜像。确定没有端口冲突之后执行命令启动
```
docker compose up -d
```
运行后打开浏览器输入服务器IP地址和7788端口号进入安装界面
![](https://icodex.org/wp-content/uploads/2024/02/WX20240224-231039@2x-1354x800.png)
注意⚠因为这里的网络类型是容器内共享的因此在数据库信息填写这里数据库的地址只需要填写mysql的容器名即可比如这里的mysqld。数据库名、数据库账号、数据库密码均为edges。一直下一步就好了。
![](https://icodex.org/wp-content/uploads/2024/02/WX20240224-231233@2x-953x800.png)
ps如果你现在的宿主机系统里面已经有mysql不想再多运行一个浪费资源则需要考虑删掉docker-compose.yaml里的mysql服务并将网络类型更改为Host网络类型以方便与宿主机上的mysql通信如下
```
version: "3"
services:
edge-admin:
image: icodex/edge-admin:1.3.3
container_name: edge-admin
network_mode: host
volumes:
- ./data/edge-admin/configs:/usr/local/goedge/edge-admin/configs
- ./data/edge-api/configs:/usr/local/goedge/edge-admin/edge-api/configs
restart: always
```
docker-compose.yaml编辑好之后确定端口没有冲突就可以执行以下命令启动整个系统了
### 部署边缘节点
在上面的部署中已经完成了管理平台的部署这时可以按照官方教程添加边缘节点的方式进行添加。也可以按以下步骤部署一个Docker容器形态的边缘节点。
这里使用GoEdge的自动注册功能因此需要先在GoEdge管理界面 边缘节点 找到你所在集群 集群节点 安装升级 自动注册把endpoints、clusterId、secret三个值记录下来。
![](https://icodex.org/wp-content/uploads/2024/02/WX20240224-230019@2x-1353x800.png)
然后准备一个docker-compose.yaml输入以下内容注意替换环境变量里相应的值
```
version: "3"
services:
edge-node:
image: icodex/edge-node:1.3.3
container_name: edge-node
environment:
- ENDPOINTS=http://xxx.com:8001
- CLUSTERID=xxx
- SECRET=xxx
network_mode: host
cap_add:
- NET_ADMIN
volumes:
- ./data/edge-node/cache:/opt/cache
- ./data/edge-node/configs:/usr/local/goedge/edge-node/configs
restart: always
```
接着使用docker compose命令启动它很快就可以在管理平台看到这台上线的主机了。
以上是完整部署GoEdge的全部步骤非常简单吧
## 最后
这个项目应该不算造轮子只是我个人习惯使用docker进行服务的管理docker运行毕竟套了多一层虚拟化因此在边缘节点的容器的网络选择上建议使用host类型与宿主机共享会比较好。