更新时间:2024-04-26 GMT+08:00
分享

快速部署

本章节主要指导用户如何自动化部署“快速构建云原生订单管理系统”解决方案。

表1 参数填写说明

参数名称

类型

是否必填

参数解释

默认值

vpc_name

String

必填

虚拟私有云名称,该模板新建VPC,不支持重名。取值范围:1-54个字符,支持数字、字母、中文、下划线(_)、中划线(-)、点(.)。

cloud-native-order-management-system-demo

cce_name

String

必填

云容器引擎CCE名称,不支持重名。取值范围:4-128个字符,以小写字母开头,由小写字母、数字、中划线(-)组成,且不能以中划线(-)结尾。

cloud-native-order-management-system-demo

cluster_node1_name

String

必填

集群节点一名称,不支持重名。取值范围:1-50位,以小写字母开头,由小写字母、数字、中划线(-)组成,且不能以中划线(-)结尾。

cloud-native-order-management-system-demo-1

cluster_node1_password

String

必填

集群节点一密码,创建完成后,可参考部署指南登录ECS控制台修改密码。取值范围:8~26个字符,密码至少必须包含大写字母、小写字母、数字和特殊字符(!@$%^-_=+[{}]:,./?)中的三种。

cluster_node2_name

String

必填

集群节点二名称,不支持重名。取值范围:1-50位,以小写字母开头,由小写字母、数字、中划线(-)组成,且不能以中划线(-)结尾。

cloud-native-order-management-system-demo-2

cluster_node2_password

String

必填

集群节点二密码,创建完成后,可参考部署指南登录ECS控制台修改密码。取值范围:8~26个字符,密码至少必须包含大写字母、小写字母、数字和特殊字符(!@$%^-_=+[{}]:,./?)中的三种。

rds_name

String

必填

RDS数据库名称,不支持重名。取值范围:4-64个字符,以小写字母开头,由小写字母、数字、中划线(-)组成,且不能以中划线(-)结尾。

cloud-native-order-management-system-demo

rds_password

String

必填

RDS数据库密码,创建完成后,可参考部署指南登录RDS控制台修改密码。取值范围:8~32个字符,密码至少必须包含大写字母、小写字母、数字和特殊字符(@#$%^-_=+?,()&)中的三种。

dms_name

String

必填

分布式消息服务名称,不支持重名。取值范围:1-50位,以小写字母开头,由小写字母、数字、中划线(-)组成,且不能以中划线(-)结尾。

cloud-native-order-management-system-demo

dms_access_user

String

必填

分布式消息服务登录用户名,取值范围:1-50位,以小写字母开头,由小写字母、数字、中划线(-)组成,且不能以中划线(-)结尾。

saas

dms_password

String

必填

分布式消息服务密码,创建完成后,可参考部署指南登录DMS控制台修改密码。取值范围:8~32个字符,密码至少必须包含以下字符中的三种:大写字母、小写字母、数字和特殊字符(`~!@#$%^&*()-_=+/|[{}]);''',<.>?)和空格,并且不能以中划线(-)开头。

  1. 登录华为云解决方案实践,选择“快速构建云原生订单管理系统”解决方案。数据中心下拉菜单可以选择需要部署的区域,单击“一键部署”,跳转至解决方案创建堆栈界面。

    图1 解决方案实施库

  2. 在选择模板界面中,单击“下一步”。

    图2 选择模板

  3. 在配置参数界面中,自定义填写堆栈名称,根据表1填写配置参数信息,单击“下一步”。

    图3 配置参数

  4. 在资源栈设置页面中,权限委托选择“rf_admin_trust”,单击“下一步”。

    图4 资源栈设置

  5. 在配置确认页面中,单击“创建执行计划”。

    图5 配置确认

  6. 在弹出的创建执行计划框中,自定义填写执行计划名称,单击“确定”。

    图6 创建执行计划

  7. 等待执行计划状态为“创建成功,待部署”后,单击“部署”,并且在弹出的执行计划确认框中单击“执行”。

    图7 执行计划
    图8 执行计划确认

  8. 待“事件”中出现“Apply required resource success”,表示该解决方案已经部署完成。

    图9 部署完成

    部署完成后,您可以登录控制台使用各项云服务。

  9. 登录华为云控制台,选择容器镜像服务SWR,单击右上角“创建组织”。进入页面后,输入组织名称。

    图10 登录容器镜像服务SWR
    图11 创建组织

    创建组织完成后,单击右上角“上传镜像”,进入“页面上传”界面。单击图3-12所示红色框线处“使用客户端上传”。

    图12 页面上传

    进入客户端上传页面后,单击图3-13红色框线处 “生成临时登录指令”。

    图13 使用客户端上传

    记录该临时登录指令备用。该临时登录指令由密钥及仓库地址组成。如图所示,马赛克处为密钥,swr.cn-north-4.myhuaweicloud.com为镜像仓库地址。该指令有效期为24小时。

    图14 获取临时登录指令

  10. 登录云解析服务DNS,单击左侧导航栏处“域名注册”,域名注册需实名认证,认证时间约为1-3天。如图所示,“solutionascode.cn”即为创建成功的域名。

    图15 域名注册

    域名注册成功后,单击域名,进入域名页面。单击右上角“添加记录集”,为该域名添加记录集。

    图16 进入域名页面

    此处需添加两个记录集,且皆为五级域名。例如“one.saas-housekeeper.cloudbu.solutionascode.cn”以及“ *.saas-housekeeper.cloudbu.solutionascode.cn”。第二个域名以“*”开头,且后四级域名需与第一个域名的后四级域名一致,即“saas-housekeeper.cloudbu.solutionascode.cn”该部分一致。其他配置如图所示,两个域名对应的解析值皆为负载均衡的公网ip地址。最后单击“确认”,成功添加记录集。此处公网ip地址,需等待前端Web模块工作负载资源创建成功,方可填入。

    图17 添加记录集一

    图18 添加记录集二

  11. 登录华为云CCE云容器引擎控制台,选择“北京四”区域,在“资源管理 > 集群管理”中,可以看到该方案创建出来的CCE集群。

    图19 CCE集群

  12. 在华为云CCE云容器引擎控制台的“资源管理 > 节点管理”中,可以看到该方案创建的集群节点。此处有两个节点,其中一个绑定了弹性公网EIP。

    图20 节点管理

  13. 单击绑定弹性公网的节点的名称,弹出”前往云服务器详情”,单击确认。

    图21 前往云服务器详情

    单击右上角”远程登录”界面,选择VNC登录节点,准备打包制作镜像以及初始化数据库。如果VNC使用过程中出现黑屏,刷新页面即可。
    图22 远程登录

  14. 登录弹性云服务器后,执行以下命令:

    [root@saas ~]# wget https://documentation-samples.obs.cn-north-4.myhuaweicloud.com/solution-as-code-publicbucket/solution-as-code-moudle/build-a-cloud-native-order-management-system/userdata/config.sh

    该命令用于下载后端配置脚本。

    [root@saas ~]# source config.sh "docker login -u cn-north-4@******************* swr.cn-north-4.myhuaweicloud.com" "swr.cn-north-4.myhuaweicloud.com" "saas-housekeeper" "saas-housekeeper.cloudbu.solutionascode.cn"

    该命令用于执行后端脚本。其中第一个引号内容替换为容器镜像仓库临时登录指令(见图14),第二个引号内容替换为容器镜像仓库地址,第三个引号内容替换为组织名称,第四个引号内容替换为您注册的域名的后四级域名。注意使用英文字符,并且传入脚本的各参数之间需空格,复制命令时应注意去除开头的#号,从部署文档pdf中复制命令可能会导致乱码,建议从web端中进行复制。

    该步骤将用于打包后端Spring Cloud微服务模块及前端Vue模块,耗时较长,请注意不要中断网络。

    [root@saas ~]# mysql -h 172.16.222.227 -P 3306 -u root -p123456 < /root/saas-housekeeper/db/initDB-V-1.0.4.sql

    该命令用于执行数据库初始化,其中172.16.222.227部分替换为RDS数据库的内网ip地址,123456部分替换为RDS数据库的登录密码。

  15. 您可以登录容器镜像服务SWR页面,单击左侧导航栏“我的镜像”,即可查看各微服务模块的镜像。

    图23 查看镜像

  16. 在华为云CCE云容器引擎控制台左侧导航栏的“资源 > 配置项与密钥”中,单击右上角“创建配置项”,配置集群运行所需环境变量。请填入配置项名称及配置数据,配置数据请参考表2:

    图24 创建配置项
    图25 查看配置项数据

    表2 参数配置填写说明

    参数名称

    类型

    是否必填

    参数解释

    参考值

    config.server

    String

    必填

    配置中心负载域名地址:负载集群内访问端口3344,请按照参考值填写,无需修改

    config-server.default.svc.cluster.local:3344

    cse.ak

    String

    必填

    配置中心密钥,请按照参考值填写,无需修改

    9ZXLHCK7I6IID4A3KPMM

    cse.config.server

    String

    必填

    http://配置中心负载域名地址+负载集群内访问端口32179,请按照参考值填写,无需修改

    http://config-server.default.svc.cluster.local:32179

    eureka.defaultZone

    String

    必填

    http://eurekaAdmin:123456@注册中心负载域名地址:负载集群内访问端口8100+/eureka,请按照参考值填写,无需修改

    http://eurekaAdmin:123456@eureka.default.svc.cluster.local:8100/eureka

    giteeUser

    String

    必填

    gitee 登录用户名

    giteePassword

    String

    必填

    gitee 登录密码

    mysql.host

    String

    必填

    RDS数据库内网ip地址

    mysql.username

    String

    必填

    RDS数据库登录用户名,请按照参考值填写,无需修改

    root

    mysql.password

    String

    必填

    RDS数据库密码

    rabbitmq.host

    String

    必填

    分布式消息服务RabbitMQ内网ip地址

    rabbitmq.username

    String

    必填

    分布式消息服务RabbitMQ登录用户名

    rabbitmq.password

    String

    必填

    分布式消息服务RabbitMQ登录密码

  17. 进入华为云CCE云容器引擎控制台的“工作负载”导航栏,在上方导航栏处选择“无状态工作负载”,单击右上角的“创建负载”添加工作负载。

    图26 创建工作负载

  18. 进入“创建工作负载”页面后,基本信息栏,输入负载名称,选择命名空间,如果无命名空间,需创建命名空间。各负载名称及对应镜像请参考表3进行填写,请注意不要修改负载名称,nginx反向代理时将根据负载名称,通过域名访问其他负载。

    图27 创建工作负载

    创建工作负载时,首先创建eureka注册中心,其次创建config-server配置中心,接着再创建其他负载。

    表3 参数配置填写说明

    负载名称

    镜像名称

    frontend

    front

    event-tracking

    saas-housekeeper-event-tracking

    eureka

    saas-housekeeper-eureka

    config-server

    saas-housekeeper-config-server

    gateway

    saas-housekeeper-gateway

    tenantinfo-service

    saas-housekeeper-tenantinfo-service

    task-service

    saas-housekeeper-task-service

    order-service

    saas-housekeeper-order-service

    message-service

    saas-housekeeper-message-service

    service-publish-service

    saas-housekeeper-service-publish-service

    userinfo-service

    saas-housekeeper-userinfo-service

  19. 在“创建工作负载”页面的容器配置栏,CPU配额及内存配额均设为“不限制”。单击“选择镜像”。

    图28 配置容器信息

  20. 单击“选择镜像”后,我的镜像处将显示镜像名称,此处应包括11个镜像,其中10个后端微服务的镜像名称以“saas-housekeeper”开头,1个前端web的镜像名称为“front”。

    图29 选择镜像

  21. 选择容器镜像后,镜像版本处选择“v-0.1”。

    图30 选择镜像及版本

  22. 单击左侧导航栏处“环境变量“。单击加号,类型选择“配置项导入”,每个工作负载都需导入全部参数。

    图31 创建工作负载

  23. 在“创建工作负载”页面的服务配置栏,单击加号,为该负载创建访问方式。例如,为“saas-housekeeper-event-tracking”模块配置集群内访问,访问类型选择“集群内访问”,端口配置选择“TCP协议”,服务端口为“8600”,容器端口为“8600”,如图3-32所示。前端web模块需要添加负载均衡,服务亲和为“节点级别”,负载均衡器处创建一个共享性负载均衡实例并开启公网访问,方便您从公网访问前端web模块,如图3-33所示。另外,部分模块还可添加“节点访问”,服务亲和为“节点级别”,方便您从集群外访问集群内的负载,如图3-34所示。各工作负载的服务配置参数请参考表4进行填写。

    图32 为工作负载创建集群内访问服务
    图33 为工作负载创建负载均衡服务

    图34 为工作负载创建节点访问服务
    表4 参数配置填写说明

    负载名称

    访问类型

    服务端口

    容器端口

    节点端口

    front

    负载均衡

    80

    80

    \

    event-tracking

    集群内访问

    8600

    8600

    \

    event-tracking

    节点访问

    8600

    8600

    32100

    eureka

    集群内访问

    8100

    8100

    \

    eureka

    节点访问

    8100

    8100

    31871

    config-server

    集群内访问

    3344

    3344

    \

    config-server

    节点访问

    3344

    3344

    32179

    gateway

    节点访问

    9090

    9090

    31638

    gateway

    集群内访问

    9090

    9090

    \

    tenantinfo-service

    集群内访问

    8500

    8500

    \

    tenantinfo-service

    节点访问

    8500

    8500

    31300

    task-service

    集群内访问

    8090

    8090

    \

    order-service

    集群内访问

    8300

    8300

    \

    message-service

    集群内访问

    8175

    8175

    \

    service-publish-service

    集群内访问

    8080

    8080

    \

    userinfo-service

    集群内访问

    9093

    9093

    \

    其中,config-server需要访问公网,拉取gitee上的配置,因此,config-server所在节点需配置弹性公网EIP。您可以将两个节点都配置弹性公网EIP,或者为config-server设置节点亲和,将其固定在已绑定弹性公网的节点上,如图所示。

    图35 设置节点亲和

    考虑平台高可用性,您可以增加负载的实例个数。如果负载运行所需资源超过节点cpu或内存限制,您可以通过增加节点规格或者创建更多节点的方法进行调整。

  24. 创建工作负载完毕后,单击导航栏左侧“节点管理”,进入集群节点页面。单击上方导航栏处“安全组”,进入集群节点的安全组。单击红色框线处“配置规则”。

    图36 进入集群节点安全组

    单击导航栏“入方向规则”,单击“添加规则”,此处需添加两条入方向规则。第一条,优先级为“1”,协议端口为“全部协议”,源地址即红色框线处为RDS数据库和分布式消息服务RabbitMQ的安全组。该规则将用于连通后端节点。

    图37 添加安全组入方向规则

    第二条,添加入方向规则处,优先级为“1”,协议端口为“全部协议”,源地址为100.125.0.0/16,该网段放通后,负载均衡可以连通后端节点。

    图38 添加安全组入方向规则

  25. 进入分布式消息服务DMS,查看创建的RabbitMQ的公网地址。由于RabbitMQ服务需要图形化界面进行配置,您可以通过在RabbitMQ的安全组下创建一个Windows服务器,从内网登录RabbitMQ,或者直接为RabbitMQ开启公网访问。本方案已经为您设置了公网访问,您可以在任意浏览器输入公网地址,端口为15672。输入RabbitMQ登录用户名及密码,单击“Login”。

    图39 登录RabbitMQ

  26. 单击上方导航栏“Admin”,右边导航栏选择“Virtual Hosts”。最下方“Add a new virtual host”处填写“saas-housekeeper”,单击“Add virtual host”。

    图40 创建virtual host

  27. 再次单击上方导航栏处单击“Admin”,下拉页面至“All user”处。单击图3-41所示红色框线处“saas”。

    图41 单击进入user页面

  28. 下拉页面至“set permission”处,选择“saas-housekeeper”,单击“set permission”。

    图42 添加virtual host

  29. 单击上方导航栏“Queues”,下拉页面至“Add a new queue”,“virtual host”选择“saas-housekeeper”,填写“message.queue”,单击“Add queue”。此处需再创建两个消息队列,名称分别为“order.task”,“task.order”,创建完毕后如图3-44所示。

    图43 创建消息队列Queue
    图44 创建三个消息队列Queue

  30. 单击上方导航栏 “Exchanges”。单击saas-housekeeper对应的“amq.topic”。进入页面后,下拉至Bindings,如图3-46所示,分别添加“To queue”和“Routing key”。“message.queue”对应“message.#”,“order.task”对应“task.order.newOrder”,“task.order”对应“order.task.doTask”,单击“Bind”添加绑定。

    图45 选择topic

    图46 添加Bindings

    图47 三个Bindings

分享:

    相关文档

    相关产品