Dory-Engine 一个简单的应用上云引擎

Dory-Engine 一个简单的应用上云引擎

2022-09-14 0 1,211
资源编号 38436 最近更新 2022-09-14
¥ 0人民币 升级VIP
立即下载 注意事项
下载不了?请联系网站客服提交链接错误!
增值服务: 安装指导 环境配置 二次开发 模板修改 源码安装

本期推荐的 Dory-Engine是一个简单得非常吓人的应用上云引擎,doryctl是Dory-Engine的命令行管理工具。

架构设计

Dory-Engine 一个简单的应用上云引擎

核心架构

  • DORY是一个无状态设计的应用服务,它的核心能力是任务调度器。
  • DORY的所有任务执行都是在执行器(executor)远程docker中执行,DORY连接远程docker,下发各种编译构建任务、镜像打包任务、代码扫描任务,把执行任务的负载分担到远程执行器(executor)中。
  • 作为任务调度器的DORY以及作为任务执行器的executor都是分布式架构,都可以根据调度任务的负载以及执行任务的负载进行水平扩缩容,具有很高的弹性。
  • DORY接管DevOps持续交付工具链各个组件,自动为项目开通相关组件配置,包括代码仓库(支持Gitlab和Gitea)、容器镜像仓库(支持Harbor)、依赖与制品仓库(支持Nexus)、代码扫描(企业版支持,支持Sonarqube)、镜像扫描(企业版支持,支持Anchore-Engine)。
  • DORY可以管理多个kubernetes集群、OpenStack集群(企业版支持)、VmWare集群(企业版支持)、多个主机(企业版支持),把编译、打包的微服务,部署到kubernetes环境或者各类主机环境。
  • 企业版支持通过Istio服务网格,让应用的多个微服务支持蓝绿发布、金丝雀发布、AB测试三种混合灰度发布模式。
  • DORY可以管理多个数据库,把数据库的执行或者回滚脚本在多个数据库中执行(企业版支持)。
  • DORY可以部署在kubernetes集群中,或者使用docker-compose方式进行部署,生产环境部署推荐使用kubernetes方式
  • 该架构有如下特点:
  • 分布式: Dory-Engine使用无状态设计架构,轻松实现分布式水平扩缩容。远程步骤执行器(Docker)可以根据工作负载,进行水平扩缩容实现高弹性。
  • 易扩展: 通过容器技术,让步骤支持各种执行环境,实现应用上云流程的灵活扩展。
  • 多云编排: 可以同时接管多个不同的云原生环境、主机环境、各种数据库环境,把应用发布到多个不同环境。
  • 协同治理: 接管DevOps持续交付工具链各个组件,自动开通配置好各个组件和云原生环境,应用上云从未如此简单。

DORY依赖的基础服务

Dory-Engine 一个简单的应用上云引擎

  • DORY使用MongoDB作为数据库,Redis作为缓存,OpenLDAP作为用户中心。
  • DORY可以同时连接多个远程docker作为执行器(executor)
  • DORY和所有执行器(executor)使用一套共享存储,流水线执行过程中产生的各种文件都会存储到共享存储中,可以通过设置开关在流水线执行结束后清理流水线执行过程的临时数据。

快速开始

Dory-Engine 一个简单的应用上云引擎

安装架构

两种安装模式

kubernetes

  • 把DORY部署在kubernetes中,自动创建两个不同的namespace用于运行DORY相关服务以及harbor镜像仓库
  • DORY的执行器executor可以在kubernetes集群中的不同节点启动

docker-compose

  • 使用docker-compose部署DORY,自动创建两个不同的docker-compose.yaml用于运行DORY相关服务以及harbor镜像仓库
  • DORY的所有执行器executor只能在同一个节点启动

本期只介绍docker-compose安装方式

警告:DORY服务安装过程需要使用管理员权限,建议使用root用户运行doryctl进行DORY安装,安装前,请保证你已经有一个可用的kubernetes集群,并且所有kube-system名字空间的Pod处于Running状态。(详细参见doryctl install check –mode docker指令输出要求)

自动模式安装:自动完成DORY相关组件安装,安装完成后根据指引完成几项组件配置即可正式完成DORY安装

# 1. docker-compose模式安装前检查
doryctl install check --mode docker

# 2. 从docker hub拉取安装过程需要的镜像
doryctl install pull

# 3. 获取docker-compose模式安装的配置参数样例
doryctl install print --mode docker > install-config-docker.yaml

# 4. 手工修改安装配置参数,特别注意安装目录以及kubernetes连接参数等信息
vi install-config-docker.yaml

# 5. 自动以docker-compose模式安装DORY
doryctl install run -o readme-install-docker -f install-config-docker.yaml

# 6. 安装完成后会提示相关配置说明,完成相关配置后即可完成DORY部署

手动模式安装:如果用户需要在安装过程中手动修改相关部署文件,可以使用手动模式安装,安装命令仅自动生成所有安装说明以及安装配置文件,用户再根据输出的安装说明来手工完成安装

# 1. docker-compose模式安装前检查
doryctl install check --mode docker

# 2. 从docker hub拉取安装过程需要的镜像
doryctl install pull

# 3. 获取docker-compose模式安装的配置参数样例
doryctl install print --mode docker > install-config-docker.yaml

# 4. 手工修改安装配置参数,特别注意安装目录以及kubernetes连接参数等信息
vi install-config-docker.yaml

# 5. 获取手动安装DORY的所有配置文件以及脚本,并输出相关帮助指引
doryctl install script -o readme-install-docker -f install-config-docker.yaml

[WARNING] 2022-01-11 10:33:43: all scripts and config files located at: readme-install-docker

[WARNING] 2022-01-11 10:33:43: 1. please follow readme-install-docker/README-docker-install.md to install dory by manual

[WARNING] 2022-01-11 10:33:43: 2. please follow readme-install-docker/README-docker-config.md to config dory by manual after install

[WARNING] 2022-01-11 10:33:43: 3. if install fail, please follow readme-install-docker/README-docker-reset.md to stop all dory services and install again


# 6. 根据指引,进入相关输出目录,查看指引文件,根据指引文件手工完成安装。
cd readme-install-docker
ls -alh
drwx------   5 root root 4.0K 1  11 10:33 .
dr-xr-x---. 12 root root 4.0K 1  11 10:33 ..
drwx------   4 root root 4.0K 1  11 10:33 dory
drwx------   5 root root 4.0K 1  11 10:33 harbor
-rw-------   1 root root 2.3K 1  11 10:33 project-data-alpine.yaml
-rw-------   1 root root 2.9K 1  11 10:33 README-docker-config.md
-rw-------   1 root root 7.5K 1  11 10:33 README-docker-install.md
-rw-------   1 root root  619 1  11 10:33 README-docker-reset.md

创建项目

  • 根据doryctl安装配置指引,打开dory-dashboard管理界面,管理控制台 ➡ 新增项目,新增项目
Dory-Engine 一个简单的应用上云引擎

  • 项目开通后,将会自动创建DORY的项目配置、演示代码仓库、容器镜像仓库、依赖与制品仓库,并会自动创建项目的kubernetes名字空间以及分配项目的持久化存储。
  • 打开项目代码仓库,Documents目录包含演示项目的说明文档
├── BuildDepends # 编译构建依赖配置存放目录
│   ├── .config
│   ├── .gradle
│   ├── .m2
│   ├── .npmrc
│   ├── .pip
│   ├── README.md
│   └── go
├── Codes # 演示代码存放目录
│   └── Backend
│       ├── tp1-gin-demo # go语言编写的独立web接口服务
│       ├── tp1-go-demo # go语言编写的web接口服务,与其他几个服务组成微服务调用链
│       ├── tp1-gradle-demo # groovy语言编写的函数,仅用于编译构建测试,不进行打包发布
│       ├── tp1-node-demo # javascript语言编写的web接口服务,与其他几个服务组成微服务调用链
│       ├── tp1-python-demo # python语言编写的web接口服务,与其他几个服务组成微服务调用链
│       └── tp1-spring-demo # java语言编写的web接口服务,与其他几个服务组成微服务调用链
├── Documents # 演示项目各个微服务说明
│   ├── README.md
└── README.md

拉取项目代码,并修改代码,执行应用上云流程

# 从代码仓库拉取代码
git clone http://${YOUR_GITREPO_URL}/${YOUR_PROJECT_NAME}/${YOUR_PROJECT_NAME}.git
cd ${YOUR_PROJECT_NAME}

# 把远程分支设置为本地分支
git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done

# 查看本地分支情况,现在新增了hotfix分支
git branch --list
* develop
  hotfix

# 修改任意一个代码,并进行提交
git commit -a -m 'my first commit'

# 把代码推送到代码仓库,自动触发流水线
git push origin
资源下载此资源为免费资源立即下载

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

七爪网 免费源码 Dory-Engine 一个简单的应用上云引擎 https://www.7claw.com/38436.html

分享免费的开源源码

常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、七爪会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、七爪无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在七爪上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于七爪介入快速处理。
查看详情
  • 1、七爪作为第三方中介平台,依据交易合同(商品描述、交易前商定的内容)来保障交易的安全及买卖双方的权益; 2、非平台线上交易的项目,出现任何后果均与互站无关;无论卖家以何理由要求线下交易的,请联系管理举报。
查看详情

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务