云服务器内容精选

  • 更多操作 应用创建完成后,您可以在应用树中执行表2中的操作。 表2 相关操作 操作 说明 添加节点 将光标移至待操作的应用名称后,单击,根据需要添加节点,具体操作请参见添加节点。 编辑应用 将光标移至待操作的应用名称后,单击,选择“编辑”。 删除应用 将光标移至待操作的应用名称后,单击,选择“删除”。 搜索应用信息 在“应用管理”页面的左侧区域,可以按企业项目、应用、区域、标签、关键字等搜索并展示需要的应用。 查看应用信息 选中一个应用,在右侧区域单击“应用信息”页签。
  • 操作步骤 登录ServiceStage控制台。 单击“应用管理”,进入应用列表。 单击创建应用时创建的应用名称(例如:test-app)“操作”栏的“新增组件”。 在“基本信息”区域,参考下表设置必填组件基本信息,其余参数保持默认。 参数名称 参数说明 组件名称 填写组件的名称。 建议组件名称可以区分其所在环境下绑定的CCE集群的可用区信息(例如:test-comp-az1)。 组件版本 单击“自动生成”。 所属应用 选择创建应用时创建的应用(例如:test-app)。 所属环境 选择创建环境时创建的环境(例如:env-cce-az1)。 所属集群 选择绑定在环境中的指定可用区的CCE集群(例如:cce-az1)。 在“组件包”区域,参考下表设置必填组件包参数,其余参数保持默认。 参数名称 参数说明 技术栈 组件技术栈类型选择Java。 上传方式 选择“OBS对象存储”。 单击“选择软件包”,选择上传软件包时已上传的weather-1.0.0.jar软件包。 在“构建”区域,参考下表设置必填构建参数,其余参数保持默认。 参数名称 参数说明 组织 选择创建组织时创建的组织名称。 组织用于管理组件构建生成的镜像。 构建环境 选择“使用当前环境构建”,使用组件所属的部署环境中的CCE集群进行镜像构建。 选择集群 选择4选择的“所属集群”(例如:cce-az1)用于构建组件镜像。 单击“下一步”。 单击“创建并部署”,等待组件创建成功。
  • 资源准备 创建一个 虚拟私有云VPC ,请参考创建虚拟私有云和子网。 创建两个处于不同可用区(例如:az1、az2)的CCE集群(例如:cce-az1、cce-az2)。如果只是试用场景,“集群规模”选择“50节点”,“集群master实例数”选择“单实例”即可。 请参考购买集群。 每个集群中至少包含1个规格为8vCPUs、16GB内存或者2个规格为4vCPUs、8GB内存的E CS 节点。 为CCE集群添加节点,请参考考创建节点。 集群所在VPC为1创建的VPC。 创建集群时,需在“集群master实例数”下选择“指定集群master实例分布策略”,选择“自定义分配”将两个集群的master节点分配到不同的可用区。 集群中的ECS节点的可用区需要和其所在CCE集群master节点的可用区保持一致。 创建用于存储软件包的桶,请参考创建桶。
  • 实践概述 在实际业务中,考虑到机房故障问题,需要将服务部署在不同的可用区中以提高可用性。 但是,在不同可用区部署组件时每个组件都必须按需配置一遍,存在操作复杂、容易出错的问题。而且需要在组件创建完成后立即部署运行,并不支持创建后按需部署的需求。如果组件配置错误,会导致部署失败,需要删除后重新创建并部署。 使用ServiceStage的发布管理功能可以更好的实施组件跨可用区搬迁和顺序升级: 基于ServiceStage发布管理的批量克隆发布单实现组件的跨可用区搬迁。 基于ServiceStage发布管理的批量升级发布单实现组件跨可用区的升级,并指定在不同可用区组件的升级顺序。 父主题: 使用ServiceStage基于发布管理实现组件跨可用区搬迁和顺序升级
  • ServiceStage最佳实践汇总 本文汇总了基于应用管理与运维平台(ServiceStage)常见应用场景的操作实践,为每个实践提供详细的方案描述和操作指导,帮助您轻松掌握不同应用场景下ServiceStage的使用方法。 表1 ServiceStage最佳实践一览表 最佳实践 说明 使用ServiceStage托管和治理天气预报微服务应用 通过天气预报应用,展示了微服务架构设计理念的应用场景,以及使用ServiceStage管理运行环境、构建应用和治理微服务的最佳实践。 开启ServiceComb引擎专享版安全认证 ServiceComb引擎专享版支持基于RBAC(Role-Based Access Control,基于角色的访问控制)策略的安全认证,并支持开启/关闭安全认证。 引擎开启了安全认证之后,要求所有连接该引擎的微服务都要配置安全认证账号和密码。否则,微服务将注册失败,导致业务受损。 本章节介绍未开启安全认证的ServiceComb引擎专享版,开启安全认证并确保已接入引擎的微服务组件业务不受影响,即如何平滑开启安全认证。 ServiceComb引擎仪表盘中的数据通过ServiceStage对接到 AOM 接入ServiceComb引擎的Java Chassis应用,在ServiceComb引擎仪表盘上的实时监控数据默认保留5分钟。如果需要持久化存储历史监控数据用于后续查询分析,可以使用ServiceStage的自定义指标监控功能,将微服务显示到ServiceComb引擎仪表盘中的数据对接到AOM。 本章节以软件包部署应用为例,指导您完成将ServiceComb引擎仪表盘中的数据通过ServiceStage对接到AOM。 使用ServiceStage零代码修改实现微服务注册引擎迁移 本章节指导您将使用Java Chassis微服务框架开发并注册在ServiceComb引擎专业版上的微服务应用组件,零代码修改迁移注册到ServiceComb引擎专享版。 使用ServiceStage托管Spring Boot应用 Spring Boot是一个基于Spring框架的开源应用程序开发框架,可以帮助您快速构建可独立运行的、生产级别的应用程序。 本最佳实践使用Spring官方提供的样例代码,帮助您快速在ServiceStage上快速部署、访问和升级Spring应用。 使用GitLab对接Jenkins自动构建并升级部署到ServiceStage的组件 代码开发完成后,每次上线前都需要先在Jenkins上打包成镜像包或Jar包,再将镜像包上传到SWR镜像仓库或者将Jar包上传到OBS对象存储,然后再使用ServiceStage升级组件版本配置。该流程较为繁琐,频繁发版本测试导致开发和运维效率低、用户体验差。 如果您的代码在GitLab上管理,使用ServiceStage进行应用托管并且已经部署了组件,则可以通过使用GitLab对接Jenkins自动构建打包,升级已经部署在ServiceStage上的组件版本配置。 本实践通过输出在Jenkins构建打包完成之后自动升级组件的shell脚本,实现了代码合入后自动构建打包并在ServiceStage上升级部署。 使用ServiceStage全链路流量控制实现Spring Cloud应用全链路灰度 在一个存在多个微服务组件的应用体系中,对其中一个微服务组件进行版本升级发布时,会涉及到其他微服务组件版本的变动升级。所以要求在灰度验证时能够使得灰度流量同时经过涉及到的所有微服务组件灰度版本。 但是在真实业务场景中,由于业务的微服务组件规模和数量很大,一条请求链路可能会经过很多个微服务组件。新功能发布时也可能会涉及到多个微服务组件同时变更,并且业务的微服务组件之间依赖错综复杂。频繁的组件版本发布、以及组件多版本并行开发导致流量治理规则日益膨胀,给整个系统的可维护性和稳定性带来了严重挑战。 对于以上问题和挑战,通过全链路流量控制功能将应用组件的相关版本隔离成一个独立的运行环境(即泳道),通过设置流控路由规则,可以将满足规则的请求流量路由到目标版本应用。 使用ServiceStage基于发布管理实现组件跨可用区搬迁和顺序升级 在实际业务中,考虑到机房故障问题,需要将服务部署在不同的可用区中以提高可用性。 但是,在不同可用区部署组件时每个组件都必须按需配置一遍,存在操作复杂、容易出错的问题。而且需要在组件创建完成后立即部署运行,并不支持创建后按需部署的需求。如果组件配置错误,会导致部署失败,需要删除后重新创建并部署。 使用ServiceStage的发布管理功能可以更好的实施组件跨可用区搬迁和顺序升级: 基于ServiceStage发布管理的批量克隆发布单实现组件的跨可用区搬迁。 基于ServiceStage发布管理的批量升级发布单实现组件跨可用区的升级,并指定在不同可用区组件的升级顺序。
  • 访问灰度泳道实例 打开cmd命令,执行以下命令访问灰度泳道unit-controller组件提供的服务: curl -H "type:gray" http://${网关访问地址}/unit-controller/hello 网关访问地址取值,请参考查看应用网关信息。 执行结果示例如下: { "unit-consumer": { "SERVICECOMB_INSTANCE_PROPS": "cas_lane_tag:base,affinity-tag:base","ip":"x.x.x.x" }, "unit-provider": { "SERVICECOMB_INSTANCE_PROPS": "cas_lane_tag:gray,affinity-tag:gray","ip":"x.x.x.x" }, "unit-controller": { "SERVICECOMB_INSTANCE_PROPS": "cas_lane_tag:gray,affinity-tag:gray","ip":"x.x.x.x" } } 全部流量路由方向为从灰度泳道(gray)的unit-controller实例流向基线泳道(base)的unit-consumer实例,再流向灰度泳道(gray)的unit-provider实例。
  • 访问基线泳道实例 打开cmd命令,执行以下命令访问基线泳道unit-controller组件提供的服务: curl http://${网关访问地址}/unit-controller/hello 网关访问地址取值,请参考查看应用网关信息。 执行结果示例如下: { "unit-consumer": { "SERVICECOMB_INSTANCE_PROPS": "cas_lane_tag:base,affinity-tag:base","ip":"x.x.x.x" }, "unit-provider": { "SERVICECOMB_INSTANCE_PROPS": "cas_lane_tag:base,affinity-tag:base","ip":"x.x.x.x" }, "unit-controller": { "SERVICECOMB_INSTANCE_PROPS": "cas_lane_tag:base,affinity-tag:base","ip":"x.x.x.x" } } 全部流量路由方向为从基线泳道(base)的unit-controller实例流向unit-consumer实例,再流向unit-provider实例。
  • 操作步骤 登录ServiceStage控制台。 单击“全链路流量控制”。 单击待操作灰度泳道所在泳道组名称(例如:lane-test),进入“全链路流量控制”页面。 单击泳道组当前关联的流量入口网关卡片上的“网关路由配置”。 “配置方式”选择“基于内容配置”。 单击以对应灰度泳道名称命名的页签(例如:gray),进入为指定灰度泳道配置网关路由页面。 单击“新增匹配规则”,参考下表设置路由匹配规则。 参数名称 参数说明 匹配类型 支持的路由规则匹配类型。 当前仅支持基于“请求头”类型的匹配。 参数名称 “匹配类型”对应的key值,设置为:type。 条件类型 “条件值”满足的匹配规则,选择“前缀匹配”。 条件值 “匹配类型”对应的value值,设置为:gray。 单击“确定”,完成基于内容的网关路由配置。 开启泳道流量,使配置生效。 单击。 单击“确定”。 配置会对该灰度泳道下的所有组件生效。如果业务请求无法匹配到泳道所配置的路由规则,则网关将业务请求转发至基线泳道的组件处理。
  • 操作步骤 登录ServiceStage控制台。 单击“全链路流量控制”。 单击待创建灰度泳道所在泳道组名称(例如:lane-test),进入“全链路流量控制”页面。 单击“创建泳道”,参考下表填写灰度泳道信息。 参数名称 参数说明 *泳道名称 输入灰度泳道的名称,例如:gray。 *标签 输入gray。 用于在Kubernetes类型的环境下创建并部署组件时,将绑定ServiceComb引擎专享版的组件打上相应的标签以标记流量。当有请求访问时,应用网关会根据路由规则将流量转发到对应流量标签的微服务上。 单击“确定”,完成灰度泳道创建。
  • 操作步骤 登录ServiceStage控制台。 单击“全链路流量控制”。 单击待创建基线泳道所在泳道组名称(例如:lane-test),进入“全链路流量控制”页面。 单击“创建基线泳道”,参考下表填写泳道信息。 参数名称 参数说明 泳道名称 输入泳道的名称,例如:base。 标签 用于在Kubernetes类型的环境下创建并部署组件时,将绑定ServiceComb引擎专享版的组件打上相应的标签以标记流量。当有请求访问时,应用网关会根据路由规则将流量转发到对应流量标签的微服务上。当无法找到对应标签的微服务时,将转发至基线泳道对应的微服务。 基线泳道的标签默认为base,不可修改。 单击“确定”,完成基线泳道创建。 单击已创建好的基线泳道卡片上的“关联组件”或右上角的。 在弹出的“关联组件”对话框勾选创建并部署基线版本组件时已部署好的全部待关联组件:unit-controller、unit-consumer和unit-provider。 单击“确定”,完成基线泳道组件关联。 单击基线泳道卡片上当前已关联的组件数,可以查看基线泳道已关联的组件列表。
  • 操作步骤 登录微服务引擎控制台。 为准备资源时创建的应用网关配置路由,请参考创建路由。 参考下表填写相关参数,其余参数保持默认。 参数名称 参数说明 路由名称 输入路由名称,例如:controller。 域名 勾选下拉列表中的“*”。 路由规则 服务地址:选择“前缀匹配”,输入“/”。 请求方法:选择“GET”。 服务名称:选择“unit-controller”。 分组:设置为“不限制”。 权重:设置为100。 使用全链路流量控制实现灰度发布时,一条路由下的所有路由规则必须绑定同一个目标服务。如需绑定多个目标服务,请创建多条路由。
  • 操作步骤 为准备资源时创建的应用网关创建服务来源,请参考创建服务来源。 服务来源参数请参考下表进行设置。 参数名称 参数说明 来源类型 目标服务的来源,选择“CSE ServiceComb引擎”。 来源名称 输入目标服务的名称,例如:servicecomb。 引擎实例 选择准备资源时已经创建的ServiceComb引擎专享版。 为准备资源时创建的应用网关绑定目标服务,请参考创建服务。 参考下表填写相关参数。 参数名称 参数说明 来源类型 目标服务的来源,选择“CSE ServiceComb引擎”。 服务来源 选择1输入的目标服务的名称,例如:servicecomb。 环境选择 保持默认。 服务列表 选择接入了1所选择的ServiceComb引擎的目标服务实例“unit-controller”。
  • 准备资源 创建一个虚拟私有网络VPC,请参考创建虚拟私有云和子网。 创建一个1.15以上版本的CCE集群(如果只是试用场景,“集群规模”选择“50节点”,“集群master实例数”选择“单实例”即可),请参考购买集群。 集群中至少包含1个规格为8vCPUs、16GB内存或者2个规格为4vCPUs、8GB内存的ECS节点,并且绑定弹性公网IP。 集群所在VPC为1创建的VPC。 CCE集群不能被其他环境绑定。 创建不开启安全认证的2.4.0及以上版本的ServiceComb引擎专享版,请参考创建微服务引擎。 如果ServiceComb引擎所在VPC与1创建的VPC不一致,需正确配置VPC连通。 创建微服务应用网关,请参考创建应用网关。 如果微服务应用网关与环境所在VPC不一致,需正确配置VPC连通。
  • 使用流程 图2 全链路流量控制使用流程 全链路流量控制的使用流程如图2所示。 使用前准备 使用ServiceStage全链路流量控制实现Spring Cloud应用全链路灰度前,需要先准备VPC、CCE、ServiceComb引擎专享版、微服务应用网关等资源,并完成Fork全链路流量控制示例源码到您的GitHub代码库、创建组件部署环境等准备工作,请参考使用ServiceStage全链路流量控制实现Spring Cloud应用全链路灰度前准备。 创建并部署基线版本组件 创建并部署基线版本组件,用于关联到后续操作创建的基线泳道,请参考创建并部署基线版本组件。 绑定目标服务到应用网关 为应用网关绑定目标服务,以便网关获取组件微服务地址,请参考绑定目标服务到应用网关。 配置应用网关路由 为绑定了目标服务的应用网关配置路由规则,当应用网关收到访问流量时,会根据已配置的路由规则判断是否匹配并做相应的处理,请参考配置应用网关路由。 创建泳道组 泳道组是一组泳道的集合,用于区分不同的组织或场景,请参考创建泳道组。 创建基线泳道并关联组件 泳道用于为相同版本组件定义一套隔离环境。只有满足了流控路由规则的请求流量才会路由到对应泳道里的打标签组件。基线泳道包括应用中所有组件的基线版本。当微服务调用链中不存在某个组件的时候,会默认访问基线泳道中的组件,请参考创建基线泳道并关联组件。 创建灰度泳道 灰度泳道用于关联应用的灰度版本组件,请参考创建灰度泳道。 部署灰度版本组件到灰度泳道 灰度泳道创建后,根据实际业务需要创建灰度版本组件,用于调整流量至灰度泳道验证业务,请参考部署灰度版本组件到灰度泳道。 调整灰度泳道流量 根据实际业务需要修改路由配置,调整流量至灰度泳道,请参考调整灰度泳道流量。 验证全链路灰度结果 访问组件实例,验证全链路灰度结果,请参考验证全链路灰度结果。
  • 使用限制 全链路流量控制依赖应用网关提供微服务访问流量入口,用于通过标签控制流量转发到对应泳道的目标服务组件。 使用Kubernetes类型环境部署且绑定了ServiceComb引擎专享版的微服务组件,支持使用全链路流量控制。关于创建并部署组件,请参考创建并部署组件。 微服务组件依赖的开发框架为spring-cloud-huawei 1.11.5-2021.0.x及以上版本。 加入全链路流量控制的组件,将不再支持通过灰度发布方式升级组件。关于灰度发布升级组件,请参考灰度发布(金丝雀)方式升级。