首页 > 其他分享 >SaaS化开源项目之HouseKeeper云上部署实践

SaaS化开源项目之HouseKeeper云上部署实践

时间:2023-05-09 16:44:38浏览次数:51  
标签:HouseKeeper SaaS 如下 helm 源码 构建 创建 所示 云上

摘要:华为云DTSE技术专家从源码构建、应用部署到系统调测,详细解读云原生SaaS应用构建的全过程。

本文分享自华为云社区《HouseKeeper云上部署实践》,作者:华为云DTSE。

HouseKeeper是华为云开发者团队基于SaaS项目技术支持实践,采用微服务架构(SpringCloud),结合华为云服务能力开发的SaaS化开源项目,旨在为企业级开发者提供云原生SaaS应用构建的技术参考,包括微服务架构、多租隔离设计、多租户路由、数据存储多租设计等。

一、源码构建

1.代码托管

将gitee上的个人fork仓同步到华为云CodeArts平台上

启用软件开发流水线CodeArts

如下所示,选择北京4启用CodeArts,其基础版本免费试用,最大支持人数5人;编译构建并发数5,600分钟/月;代码托管10G存储空间,单个仓库容量上限2G。

创建项目

如下所示,选择scrum创建项目,自定义项目名称,如HouseKeeper。Scrum是增量迭代式的软件开发方法,通过迭代计划会议、每日站会、迭代回顾、验收会议等来简单高效管理开发项目。

导入外部仓库

如下所示,进行外部仓库配置。

如下所示,复制gitee上源码仓库地址。

将源码仓库地址复制到codearts外部仓库配置项中,并填写gitee源码仓访问信息后进入下一步。

注意选择同步全部分支,确认后创建仓库。

2、基于IDE online 修改预置参数

使用IDE online一键创建工程

如下所示,在新建的代码仓页面,点击右上角IDE online自动进入IDE,系统会基于当前仓库自动创建加载好相关工程。

切换分支为cloud1.0.0

如下所示,点击IDE online工程里左下角,在工程上方弹出的分支列表中选择cloud1.0.0分支。

修改源代码中helm镜像路径

如下所示,将源码中helm charts文件中的镜像路径修改为对应仓库,未避免名称冲突,此处将镜像修改为house-keeper-0504

修改源码中gitee访问信息

如下所示,修改helm/value.yaml文件中 giteePassword、giteeUser字段,其中字段数值采用Base64进行混淆

global:
...
  giteePassword: xxx
  giteeUser: xxx

提交修改文件

如下所示,将修改的文件提交到codeArts仓库。

或者通过命令行终端git命令方式提交修改。

cd helm-charts
git add values.yaml
git commit -m "修改gitee访问信息"
git remote -v
git push origin cloud-1.0.0

如下所示,在codearts代码仓可以查看对应的修改记录

3、创建镜像仓库

如下所示,按照helm-charts中修改的镜像路径,在北京4区域创建对应的组织。

4、创建并启动构建任务

如下所示,新建构建任务。

自定义任务名称,但为了方便维护,建议任务名称同helm-charts中保持一致。

选择maven容器模板。

设置任务参数,添加version字段,并设置为运行时设置。

如下所示,构建步骤中仅修改镜像推送配置,其它信息保持模板默认配置即可,其中组织名即上述环节中设置的,镜像名称同helm-charts中对应,工作路径即源码仓中对应模块的子路径,完成配置后点击右上角【新建并执行】构建任务。

5、通过自定义模板构建其它组件

如下所示,将上述saas-housekeeper-config-server的构建任务保存为自定义模板,名字自定义为House-Keeper。

如下所示,使用自定义模板创建其它构建任务,其中,构建frontend前台任务时无需maven打包,工作路径设置为代码根路径即可。

如下所示,相关模块均已构建成功。

二、应用部署

1、Helm工具打包

Helm工具安装

helm工具安装参考链接,下载对应的windows版本即可。

如下所示,设置好系统环境变量好,可以在git bash里查看工具版本。

下载源码到本地

如下所示,首次使用codearts时需要点击右上角个人用户图标,进入设置页面,进行ssh/https相关配置。

 

如下所示,本次使用https方式下载源码,命令如下

git clone https://username:[email protected]/HouseKeeper00003/saas-housekeeper.git

helm打包安装包

如下所示,使用helm工具打包,命令

helm.exe package ./helm-charts
helm.exe lint housekeeper-1.0.0.tgz

2、创建CCE集群及工作节点

如下所示,按需购买CCE集群,其中出于demo成本考虑,CCE集群不启用高可用模式。

CCE集群创建需要时间,可在集群页面查看执行过程。

待CCE集群创建完成后,创建节点池,同样成本考虑,节点数量及规格不用太大,本次演示数量设置2,磁盘类型高IO。

按需购买2个EIP资源。

在ECS主机页面绑定EIP。

绑定EIP后如在CCE集群节点看不到对应的EIP时,选择手动同步云服务器。

3、导入模板并安装部署

如下所示,对应工作负载均已创建成功并正常运行。

4、创建ELB

为前段服务创建ELB访问

三、系统调测

1、配置内部域名解析

由于公网域名解析需要进行备案等,演示场景配置内部4级域名解析,具体相关要求请参考gitee对应项目的Readme。

2、创建测试PC

按需在对应VPC内创建windows镜像的测试PC

3、修改测试PC的hosts文件

如下所示,可以通过ping测试内部域名正常。

4、通过测试PC访问租户注册页面

源码对IE浏览器支持不太友好,建议使用谷歌浏览器进行测试,如下所示,访问租户注册页面,其中域名即上述配置的内网域名解析记录对应的。

http://housekeeper.saas.cloud.com/tenant/#register

其它操作可参考HouseKeeper开源项目继续进行。

 

点击关注,第一时间了解华为云新鲜技术~

标签:HouseKeeper,SaaS,如下,helm,源码,构建,创建,所示,云上
From: https://www.cnblogs.com/huaweiyun/p/17385524.html

相关文章

  • paas saas iaas
    IaaS-基础设施即服务IaaS是基础设施即服务。英文全称是Infrastructureasaserver。概念:需要帮助客户搭建好运行服务的基础设施,就是在线下筹备机房或机器,组成环境运行能够提供服务的项目并部署该项目提供服务。举例:举例说就是我要在提供服务之前给客户那边搭建好线下的运行环......
  • 加速 AI 训练,如何在云上实现灵活的弹性吞吐
    AI已经成为各行各业软件研发的基础,带来了前所未有的效率和创新。今天,我们将分享苏锐在AWS量化投研行业活动的演讲实录,为大家介绍JuiceFS在AI量化投研领域的应用经验,也希望为其他正在云上构建机器学习平台,面临热点数据吞吐不足的企业提供一些启发。1.背景JuiceFS最初是为了......
  • 开启云上高效开发新时代,华为云开发者日东莞站成功举办
    摘要:近日,华为云开发者日HDC.CloudDay东莞站成功举行。4月26日,华为云开发者日HDC.CloudDay东莞站成功举行,吸引了400多位开发者前来参会,开发者不仅聆听了华为云技术专家在开源、低代码、软件开发、AI、AIoT等领域的前沿技术分享,还在KooLabs工作坊、展台、企业数字化转型专家问诊......
  • SAAS架构方案
    SAAS(SoftwareasaService)是一种软件交付模型,它允许用户通过互联网访问和使用应用程序。SAAS架构方案需要考虑以下几个因素:多租户架构SAAS应用通常被多个租户共享,因此必须具有多租户架构。这意味着每个租户都可以拥有自己的数据和配置,但他们共享相同的应用程序实例。通常使......
  • SaaS 软件的 SLA 和 Escalation
    SaaS软件的downtime指的是SaaS服务因各种原因而无法提供正常服务的时间段,通常是由于系统维护、升级或故障等原因导致的。这个时间段内,用户无法正常使用该软件的功能和服务。因此,减少downtime是SaaS提供商的一个重要目标,以保证用户的可靠性和满意度。什么是SaaS软件的SLA?SaaS软......
  • 关于NPS客户满意度你知道多少?SaaS产品尤其需要NPS!
    我们在日常使用某个软件的时候,经常会看到系统弹窗“你会推荐这个产品或服务给你的朋友或同事吗?”,让我们选择0到10的分数进行回答,这个常见的现象就是NPS调查。 NPS客户满意度NPS(NetPromoterScore),是用于计算客户将会向其他人推荐某个企业或服务可能性的指数。业内也称它为促进者得......
  • Vue3 +element-plus+ wangEditor 富文本编辑器+前端七牛云上传
    我用的vue3,element-plus,没用ts搭建wangEditor 参考地址 https://www.cnblogs.com/xbxxf/p/16791084.html七牛云安装参考地址 https://blog.csdn.net/ldoit/article/details/121533204本来就是抄大佬的,就不复制粘贴了主要是整理关于七牛云部分的代码,秉着复制就能用的原则,我......
  • 云上容灾,华为云数据灾备保障企业业务不中断
    随着云计算、物联网、大数据、人工智能等技术的兴起与叠加,数字经济在高速发展,加速商业变革,企业除了关注数据中心的日常数据处理,也对业务的连续性、安全性,提出了更高的要求。 基于此,华为云推出华为云数据灾备解决方案致力于为客户打造一套可支持多个数据中心同时运行,并满足各种不同......
  • 【获奖案例巡展】信创先锋之星——云上贵州信创工程中心大数据中台
    为表彰使用大数据、人工智能等基础软件为企业、行业或世界做出杰出贡献和巨大创新的标杆项目,星环科技自2021年推出了“新科技星力量”星环科技科技实践案例评选活动,旨在为各行业提供更多的优秀产品案例,彰显技术改变世界的力量,目前已成功举办两届,收到了来自各界的积极参与。 ......
  • SOA、SaaS就是云计算么,有什么区别,三者之间有什么关系?
    随着云计算的概念受到越来越多的人的推崇和论证,“云上的日子”看起来离我们越来越近了。几乎所有的IT厂商都不约而同了启动了各自的云计算战略。但是由于每个企业的战略出发点不同,企业推出的云计算概念也有所差别。如果仅仅以自己的产品和业务为标准,片面地将云计算理解为SOA或SaaS,......