All-in-One 模式

All-in-One 模式部署由 Docker-Compose 的方式启动运行项目,Compose 能够定义和运行多个 Docker 容器的应用,允许用户通过一个单独的 docker-compose.yml 模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project),通过子命令可对项目中的一组容器进行便捷地生命周期管理。

第一步: 准备环境

主机环境

需要准备一台满足最小资源要求的主机节点开始 all-in-one 模式的部署。

CPUMemory磁盘
1 核1 G10 G

软件环境

All-in-One 模式需要依赖以下软件,请预先在主机中安装符合以下版本要求的软件:

软件需求最低版本
Docker18.03.0-ce
Docker-Compose1.21.0
Make3.81

说明:若主机已安装 Kubernetes 环境,可能会造成 docker 容器之间网络不通。

第二步: 准备 OpenPitrix 安装包

  • 可通过 wget 命令从 GitHub 指定的 URL 下载 OpenPitrix v0.4.1 的 Docker Compose 安装文件。
  1. $ wget https://github.com/openpitrix/openpitrix/releases/download/v0.4.1/openpitrix-v0.4.1-docker-compose.tar.gz
  • 解压安装包:
  1. $ tar -zxf openpitrix-v0.4.1-docker-compose.tar.gz

第三步: 部署 OpenPitrix

进入 openpitrix 安装目录,编译项目。该过程需要拉取多个 OpenPitrix 的 docker 镜像,拉取镜像和安装速度与网络也有关系,需要等待几分钟。

  1. $ cd openpitrix-v0.4.1-docker-compose/
  2. $ make

第四步: 验证

  • 查看所有容器的运行状况,正常情况下所有容器状态应该如下所示,确保 OpenPitrix 相关的镜像都已经成功创建:
  1. $ docker-compose ps
  2. Name Command State Ports
  3. --------------------------------------------------------------------------------------------------------------------------------
  4. openpitrix-account-service account-service Exit 0
  5. openpitrix-am-db-ctrl flyway -url=jdbc:mysql://o ... Exit 0
  6. openpitrix-am-db-init sh -c /flyway/sql/ddl/ddl_ ... Exit 0
  7. openpitrix-am-service am serve Exit 0
  8. openpitrix-api-gateway api-gateway Up 0.0.0.0:9100->9100/tcp
  9. openpitrix-app-db-ctrl flyway -url=jdbc:mysql://o ... Exit 0
  10. openpitrix-app-manager app-manager Up
  11. openpitrix-attachment-db-ctrl flyway -url=jdbc:mysql://o ... Exit 0
  12. openpitrix-attachment-manager attachment-manager Up
  13. openpitrix-category-manager category-manager Up
  14. openpitrix-cluster-db-ctrl flyway -url=jdbc:mysql://o ... Exit 0
  15. openpitrix-cluster-manager cluster-manager Up
  16. openpitrix-dashboard npm run prod:serve Up 0.0.0.0:8000->8000/tcp, 0.0.0.0:9300->9300/tcp
  17. openpitrix-db docker-entrypoint.sh --low ... Up 0.0.0.0:13306->3306/tcp
  18. openpitrix-db-init sh -c /flyway/sql/ddl/ddl_ ... Exit 0
  19. openpitrix-etcd etcd --data-dir /data --li ... Up 0.0.0.0:12379->2379/tcp, 2380/tcp
  20. openpitrix-iam-db-ctrl flyway -url=jdbc:mysql://o ... Exit 0
  21. openpitrix-im-db-ctrl flyway -url=jdbc:mysql://o ... Exit 0
  22. openpitrix-im-db-init sh -c /flyway/sql/ddl/ddl_ ... Exit 0
  23. openpitrix-im-service im serve Exit 0
  24. openpitrix-isv-db-ctrl flyway -url=jdbc:mysql://o ... Exit 0
  25. openpitrix-isv-manager isv-manager Up
  26. openpitrix-job-db-ctrl flyway -url=jdbc:mysql://o ... Exit 0
  27. openpitrix-job-manager job-manager Up
  28. openpitrix-minio sh -c mkdir -p /data/openp ... Up (healthy) 0.0.0.0:19000->9000/tcp
  29. openpitrix-notification notification Exit 0
  30. openpitrix-notification-db-ctrl flyway -url=jdbc:mysql://o ... Exit 0
  31. openpitrix-notification-db-init sh -c /flyway/sql/ddl/ddl_ ... Exit 0
  32. openpitrix-pilot-service pilot -config=/opt/openpit ... Up 0.0.0.0:9110->9110/tcp, 0.0.0.0:9114->9114/tcp
  33. openpitrix-repo-db-ctrl flyway -url=jdbc:mysql://o ... Exit 0
  34. openpitrix-repo-indexer repo-indexer Up
  35. openpitrix-repo-manager repo-manager Up
  36. openpitrix-rp-aliyun runtime-provider Up
  37. openpitrix-rp-aws runtime-provider Up
  38. openpitrix-rp-kubernetes runtime-provider Up
  39. openpitrix-rp-manager runtime-provider-manager Up
  40. openpitrix-rp-qingcloud runtime-provider Up
  41. openpitrix-runtime-db-ctrl flyway -url=jdbc:mysql://o ... Exit 0
  42. openpitrix-runtime-manager runtime-manager Up
  43. openpitrix-task-db-ctrl flyway -url=jdbc:mysql://o ... Exit 0
  44. openpitrix-task-manager task-manager Up
  • 您可以通过浏览器,使用集群中任一节点的 IP 地址和 Dashboard 端口号即 <NodeIP>:8000 可在集群内部访问 Dashboard,如 http://192.168.100.10:8000。若需要在外网访问,在云平台需要在端口转发规则中将上述的内网端口 8000 转发到源端口 8000,然后在防火墙开放这个源端口,确保外网流量可以通过该端口。

提示:例如在 QingCloud 平台配置端口转发和防火墙规则,则可以参考 云平台配置端口转发和防火墙

然后可以通过 <EIP>:8000 的方式访问控制台,如:http://139.198.111.111:8000,即可进入 OpenPitrix dashboard。

All-in-One 模式 - 图1

  • OpenPitrix 部署成功后,点击右上角 登录,可使用下表管理员默认的用户名和密码登录 OpenPitrix 控制台体验,建议先参考 快速入门 的示例文档,将帮助您快速上手 OpenPitrix。

    角色用户名密码
    管理员admin@op.compassw0rd
  • 查看 API Gateway 服务以上显示 api-gateway 对外暴露的是 9100 端口,同上,查看 OpenPitrix API 界面,可通过端口转发和开放防火墙后,即可在公网访问 Swagger UI,如 http://139.198.111.111:9100/swagger-ui/。OpenPitrix API 文档请参考 API

All-in-One 模式 - 图2

清理环境

若需要卸载 OpenPitrix 清理环境,在项目文件目录下,执行以下命令,停止并删除 OpenPitrix 所有服务,请谨慎操作。

  1. $ docker compose-down