更新时间:2021-01-05 20:29
本文以一个同城双活架构下的双集群发布模式为例,引导您快速熟悉 LHC 的操作链路。LHC 也支持在单元化架构下发布应用,具体内容参见 单元化入门指南。
部署架构如下图:在 SOFAStack 租户下,在同一地域内,创建一个工作空间组,关联两个工作空间,分别对应两个不同的可用区(机房),每个机房对应一个部署单元(Cell)。
DemoIDC1
、DemoIDC2
。DemoIDC1
、DemoIDC2
。点击 下一步,在 创建 VPC 页面,输入以下配置信息:
http://
和 https://
开头。推荐与工作空间名称相同。本例中分别输入:DemoIDC1
、DemoIDC2
。专有网络网段:专有网络的网段,一旦选择便无法更改,专有网络内的所有资源,如 ECS、RDS、SLB 的私网 IP 都在该网段内。可选网段如下:
交换机:点击 添加交换机,在弹出的 创建交换机 窗口,填写以下信息,点击 确定。
http://
和 https://
开头。点击 下一步,在 创建 VPC 安全组 页面,点击 添加安全组,在弹出的 创建安全组 窗口,填写以下信息,点击 提交。
http://
和 https://
开头。可以包含数字、半角冒号(:)、下划线(_)或者连字符(-)。http://
和 https://
开头。您可以通过创建工作空间组对用户资源进行隔离,不同工作空间组下的集群彼此隔离。一个租户下可以创建多个工作空间组,一个工作空间组可以关联多个工作空间。工作空间组可以跨地域,从而实现应用的跨地域部署。
DemoWSG
。DemoWSG
。DemoIDC1
和 DemoIDC2
。集群是运行工作负载的逻辑分组,包含一组云服务器资源,每台云服务器即集群中的一个节点。首次使用 LHC 时,您需要创建一个初始集群,并添加至少一个节点。
集群的创建过程包括以下四个阶段:
本例中,您将为两个工作空间分别创建一个集群:democluster1
、democluster2
,实现同城双活的架构。
已准备环境。
democluster1
、democluster2
。点击 下一步 进入 预览 页面,确认集群配置信息无误后,点击 创建。
在 应用管理 控制台创建名为 transfer money 的应用。
登录应用管理控制台,在左侧导航栏点击 应用列表。
在 应用列表 页面,点击 创建应用。
在创建应用页面输入以下信息,点击 确定。
应用名称: 输入 transfer money
。
新创建的应用出现在应用列表的最上方。应用状态为 创建中,数秒后变为 创建完成,此时已完成应用创建。
LHC 以镜像的方式部署应用服务,创建应用服务前需先准备好镜像。为方便您测试,LHC 提供以下可以公开访问的示例镜像:
镜像名称 | 镜像地址 |
---|---|
aks-transfermoney-server | registry-vpc.cn-shanghai.aliyuncs.com/sofa-samples/aks-transfermoney-server:20190726095608708-master.40215e87 |
aks-transfermoney-client | registry-vpc.cn-shanghai.aliyuncs.com/sofa-samples/aks-transfermoney-client:20190815134744553-master.5ea6278b |
创建 2 个有依赖关系的应用服务:aks-transfermoney-server、aks-transfermoney-client。
已创建联邦命名空间,例如 antcloud-demo
。具体步骤参见 创建联邦命名空间。
登录控制台,在左侧导航栏点击 发布运维 > 应用服务。
在应用服务列表页,点击 创建应用服务。
在 创建应用服务 页面,填写以下基本信息,点击 下一步。
aks-transfermoney-server
。服务实例名称允许包含(小写)字母、数字、连字符,且必须以字母开头,以字母或数字结尾。同一个命名空间下不允许同名。transfer money
。在 Pod 模板配置 页面,填写以下信息,点击 下一步。
APPSVC_VERSION = V1
,ANTCLOUD_SOFA_PROFILE = prod
。Http GET
方法 、访问路径为 /health/readiness
、访问端口 8080
。其余项按照输入框提示配置。/home/admin/release/run/logs/aks-transfermoney-server/digest/*.log
。/home/admin/release/run/logs
、/home/admin/release/run/logs/aks-transfermoney-client/digest/transfermoney.log
。在 弹性配置 页面,填写以下信息,点击 下一步。
副本伸缩策略配置:目前仅支持 固定副本数,默认为 0,勾选部署单元(RZ01A
、RZ02A
)并修改为期望副本数 1,即应用服务运行时保持固定数目的 Pod 副本。
在 访问配置 页面,填写以下信息,点击 下一步。
在 添加服务 窗口,填写以下信息后,点击 确定。
服务名称:输入 aks-transfermoney-server
。
访问方式:选择 VPC 内网访问。
端口映射:点击 添加端口映射,填写以下信息。其余保持默认设置。
80
。8341
。在 部署和调度配置 页面,为应用服务保持系统默认配置,点击 下一步。
在应用服务 预览 页面,确认信息无误,点击 提交。
登录控制台,在左侧导航栏点击 发布运维 > 应用服务。
在应用服务列表页,点击 创建应用服务。
在 创建应用服务 页面,填写以下基本信息,点击 下一步。
aks-transfermoney-client
。服务实例名称允许包含(小写)字母、数字、连字符,且必须以字母开头,以字母或数字结尾。同一个命名空间下不允许同名。transfer money
。在 Pod 模板配置 页面,填写以下信息,点击 下一步。
/home/admin/release/run/logs
。在 弹性配置 页面,填写以下信息,点击 下一步。
副本伸缩策略配置:目前仅支持固定副本数,默认为 0,勾选部署单元(RZ01A
、RZ02A
)并修改为期望副本数 1,即应用服务运行时保持固定数目的 Pod 副本。每个 client 能够压测并发上限为 1000。
在 访问配置 页面,填写以下信息,点击 下一步。
在 添加服务 窗口,填写以下信息后,点击 确定。
aks-transfermoney-client
。访问方式:选择 公网访问。
10.117.117.117:80
。端口映射:点击 添加端口映射,填写以下信息。其余保持默认设置。
80
。8341
。在 部署和调度配置 页面,为应用服务保持系统默认配置,点击 下一步。
在应用服务 预览 页面,确认信息无误,点击 提交。
通过发布单同时发布上一步中创建的两个有依赖关系的应用服务。
登录控制台,在左侧导航栏点击 发布运维 > 发布单 进入发布部署大盘。
在发布部署大盘,点击 创建发布单。
在 创建发布单 页面,填写以下发布信息后,点击 下一步。
Demodeploy
。高级配置
设置应用服务依赖关系:aks-transfermoney-client 依赖于 aks-transfermoney-server。
验证应用服务 aks-transfermoney-client 及 aks-transfermoney-server 是否在双集群中发布成功。
登录控制台,在左侧导航栏点击 发布运维 > 应用服务。
在应用服务列表中,分别点击 aks-transfermoney-client 及 aks-transfermoney-server 进入实例详情页。
在 Pod 页签中,查看两个应用服务在两个部署单元中均有一个应用容器运行中。
更多应用服务内容,参考 查看应用服务详情 。
在本地执行以下 curl 命令,以 1000 并发启动客户端进行批量调用服务。
# 启动,最高并发1000
# 转账client因高并发 (max 1000)导致实例宕机,系统会自动重启容器应用
curl -X POST "http://$Money_Client_SERVICE_IP/webapi/transferclient/start?concurrency=1000&minamount=100&maxamount=100"
# 统计
curl http://$Money_Client_SERVICE_IP/webapi/transferclient/gauges
# 停止
curl -X PUT "http://$Money_Client_SERVICE_IP/webapi/transferclient/stop"
在 实时监控 的 自定义监控 页面,创建如下各种维度的监控项:
服务端响应请求的容器所在 Cell:
/home/admin/release/run/logs/aks-transfermoney-server/digest/transfermoney.log
。应用版本:
/home/admin/release/run/logs/aks-transfermoney-server/digest/transfermoney.log
。客户端记录的 HTTP 访问结果码:
/home/admin/release/run/logs/aks-transfermoney-client/digest/transfermoney.log
。转出账户名称按分钟的 Top 统计:
/home/admin/release/run/logs/aks-transfermoney-server/digest/transfermoney.log
。转入账户名称按分钟的 Top 统计:
/home/admin/release/run/logs/aks-transfermoney-server/digest/transfermoney.log
。分钟级客户端调用统计:
/home/admin/release/run/logs/aks-transfermoney-client/digest/transfermoney.log
。在 自定义监控 页面,新建 TransferMoney 大盘,配置如下:
可以将自定义的 TransferMoney 大盘添加到 关键业务大盘 中,方便查看各个维度进行统计的信息:
在文档使用中是否遇到以下问题
更多建议
匿名提交