云服务器内容精选

  • 目录结构 软件包需要确保在解压缩后能够正常执行生命周期指定的命令脚本。 建议软件包目录结构如下: ├── scripts/ │ │ ├── pre-stop.sh │ │ ├── stop.sh │ │ ├── uninstall.sh │ │ ├── install.sh │ │ ├── start.sh │ │ ├── check.sh │ │ ├── post-start.sh ├── packages/ │ │ ├── xxx.jar/xxx.war ├── config/ ├── appspec.yml
  • 组件部署方式说明 组件部署方式 说明 容器部署 云容器引擎部署:云容器引擎CCE提供高度可扩展的、高性能的企业级Kubernetes集群,支持运行Docker容器。借助云容器引擎,您可以在云平台上轻松部署、管理和扩展容器化应用程序。 虚拟机部署 虚拟机,即弹性 云服务器ECS ,是由CPU、内存、操作系统、云硬盘组成的基础的计算组件。弹性云服务器创建成功后,您就可以像使用自己的本地PC或物理服务器一样,在云上使用弹性云服务器,将组件部署在虚拟机上。
  • 组件来源说明 组件来源 说明 源码仓库 参考仓库授权创建授权,然后设置代码来源。 Jar包 支持以下上传方式: 从CodeArts软件发布库选择对应软件包。需要提前将软件包上传至CodeArts软件发布库,相关操作请参考上传软件包。 从SWR软件仓库选择对应的软件包。需要提前将软件包上传至软件仓库,相关操作请参考上传软件包。 从OBS对象存储选择对应的软件包。需要提前将软件包上传至OBS桶中,相关操作请参考上传对象 。 War包 支持以下上传方式: 从CodeArts软件发布库选择对应软件包。需要提前将软件包上传至CodeArts软件发布库,相关操作请参考上传软件包。 从SWR软件仓库选择对应的软件包。需要提前将软件包上传至软件仓库,相关操作请参考上传软件包。 从OBS对象存储选择对应的软件包。需要提前将软件包上传至OBS桶中,相关操作请参考上传对象 。 Zip包 支持以下上传方式: 从CodeArts软件发布库选择对应软件包。需要提前将软件包上传至CodeArts软件发布库,相关操作请参考上传软件包。 从SWR软件仓库选择对应的软件包。需要提前将软件包上传至软件仓库,相关操作请参考上传软件包。 从OBS对象存储选择对应的软件包。需要提前将软件包上传至OBS桶中,相关操作请参考上传对象 。 镜像包 容器应用需要基于镜像创建。支持“我的镜像”(私有镜像)、“开源镜像”、“共享镜像”、“第三方镜像”。 若选择“我的镜像”,您首先需要将镜像上传至镜像仓库,请参考上传镜像。 若选择“第三方镜像”,您需要已获取第三方镜像的地址。镜像地址格式为: {第三方镜像仓库IP地址}:{第三方镜像仓库访问端口号}/{镜像存储路径}/{镜像名称}:{镜像版本号} 或者: {镜像名称}:{镜像版本号} 若没标注镜像版本号,则默认为最新版本号latest。 目前仅支持获取第三方公开镜像。
  • 技术栈简介 技术栈包含组件运行所依赖的操作系统、框架和运行时,由技术栈名称、类型、状态、版本等属性构成。其中,版本号遵从语义化版本控制规范。 ServiceStage为您提供并管理技术栈生命周期,您只需聚焦具体业务开发,提升您的应用托管体验。 技术栈各生命周期阶段定义如下: Preview:Beta版本技术栈发布。 GA(General Availability):正式版本技术栈发布。 EOL(End of Life):技术栈生命周期结束。 技术栈状态定义如下: Preview:生命周期处于Preview阶段的技术栈。 Supported:生命周期处于GA阶段的技术栈。 Deprecated:生命周期处于GA阶段、但是已经发布了EOL公告的技术栈,或者ServiceStage服务不主推的技术栈。 技术栈的详细信息请参见表1。
  • 组件简介 组件是组成应用的某个业务特性实现,以代码或者软件包为载体,可独立部署在环境下运行。 关于应用,请参考应用概述;关于环境,请参考环境概述。 组件和应用、环境的关系,如图1所示。 图1 组件和应用及环境的关系 在ServiceStage上创建应用和环境后,可以在应用和环境中创建并部署组件。同一个应用下,最多可支持创建1000个组件。 您可以根据实际业务需求设置组件技术栈及组件来源,创建并部署组件。
  • 准备资源 为了方便后续的操作,需要您提前准备好如下资源: 创建一个 虚拟私有云VPC ,请参考创建虚拟私有云和子网。 创建一个CCE集群(如果只是试用场景,“集群规模”选择“50节点”,“集群master实例数”选择“否”即可),请参考购买集群。 CCE集群所在VPC为1所创建的VPC。 集群中至少包含1个规格为8vCPUs、16GB内存或者2个规格为4vCPUs、8GB内存的E CS 节点,并且绑定弹性公网IP。为CCE集群添加节点,请参考创建节点。 CCE集群不能被其他环境绑定。 已在 域名 提供者处注册并获取公网域名,请参考创建公网域名。 本例基于ServiceStage绑定GitHub源码仓库,实现源码构建、归档、应用创建。需要先到GitHub官网注册账号,请参考在GitHub上创建帐户。
  • 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发布管理的批量升级发布单实现组件跨可用区的升级,并指定在不同可用区组件的升级顺序。
  • 实践概述 在实际业务中,考虑到机房故障问题,需要将服务部署在不同的可用区中以提高可用性。 但是,在不同可用区部署组件时每个组件都必须按需配置一遍,存在操作复杂、容易出错的问题。而且需要在组件创建完成后立即部署运行,并不支持创建后按需部署的需求。如果组件配置错误,会导致部署失败,需要删除后重新创建并部署。 使用ServiceStage的发布管理功能可以更好的实施组件迁移和搬迁: 基于ServiceStage发布管理的批量克隆发布单实现组件的跨可用区搬迁。 基于ServiceStage发布管理的批量升级发布单实现组件跨可用区的升级,并指定在不同可用区组件的升级顺序。 父主题: 使用ServiceStage基于发布管理实现组件跨可用区搬迁和顺序升级
  • 准备资源 创建一个虚拟私有网络VPC,请参考创建虚拟私有云和子网。 创建一个1.15以上版本的CCE集群(如果只是试用场景,“集群管理规模”选择“50节点”,“高可用”选择“否”即可),请参考购买集群。 集群中至少包含1个规格为8vCPUs、16GB内存或者2个规格为4vCPUs、8GB内存的ECS节点,并且绑定弹性公网IP。 集群所在VPC为1创建的VPC。 CCE集群不能被其他环境绑定。 创建不开启安全认证的2.4.0及以上版本的ServiceComb引擎专享版,请参考创建微服务引擎。 如果ServiceComb引擎所在VPC与1创建的VPC不一致,需正确配置VPC连通。 创建微服务应用网关,请参考创建应用网关。 如果微服务应用网关与环境所在VPC不一致,需正确配置VPC连通。 本例基于ServiceStage绑定GitHub源码仓库,实现源码构建、归档、应用创建,需要先到GitHub官网注册账号。
  • 解决方法 登录ServiceStage控制台。 在区域列表选择您的业务所在区域,例如“华东二”。 在浏览器地址栏,获取“region”字段对应的值。 region取值示例如下面加粗内容所示: https://console.huaweicloud.com/servicestage/?agencyId=df****************************c1®ion=cn-east-4&locale=zh-cn#/overview 分别为表1所示服务创建 VPC终端节点 ,请参考购买连接“接口”型终端节点服务的终端节点。 区域:请选择2所选择的区域。 服务类别:选择“按名称查找服务”。 服务名称:请参考表1填写各云服务对应的终端节点服务名称,然后单击“验证”。 请将下表中的${region}替换为3获取到的值。 表1 连接“接口”型终端节点服务说明 云服务 终端节点服务名称 LTS com.myhuaweicloud.${region}.lts-access AOM com.myhuaweicloud.${region}.aom-access APM com.myhuaweicloud.${region}.apm-master 说明: 仅“西南-贵阳一”区域需要为APM服务创建VPC终端节点。 SWR com.myhuaweicloud.${region}.swr 说明: 如果您选择的是“华南-广州”区域,SWR的终端节点服务名称是:swr.cn-south-1.myhuaweicloud.com。 APIG com.myhuaweicloud.${region}.api 勾选“创建内网域名”。 虚拟私有云:根据您的实际业务需要,为表1所示的所有终端节点服务选择同一个虚拟私有云。 子网:根据您的实际业务需要,为表1所示的所有终端节点服务分别选择子网。 其他参数请根据实际业务需要进行设置。 为OBS服务创建VPC终端节点,请参考购买连接“网关”型终端节点服务的终端节点。 需要为表2所示的OBS服务的终端节点服务分别创建VPC终端节点。 区域:请选择2所选择的区域。 服务类别:选择“按名称查找服务”。 服务名称:请参考表2填写对应区域OBS服务的终端节点服务名称。 表2 连接“网关”型终端节点服务说明 区域 终端节点服务名称 西南-贵阳一 cn-southwest-2.com.myhuaweicloud.v4.obsv2 cn-southwest-2.myhuaweicloud.v4.obsv2.lz05 华南-广州 cn-south-1.com.myhuaweicloud.v4.obsv2 cn-south-1.com.myhuaweicloud.v4.obsv2.lz05 cn-south-1.com.myhuaweicloud.v4.obsv2.lz08 cn-south-1.com.myhuaweicloud.v4.obsv2.lz09 华东二 com.myhuaweicloud.cn-east-4.obslb01.v4.obsv2.vxlan com.myhuaweicloud.cn-east-4.obslb01.v6.obsv2.vxlan 亚太-新加坡 ap-southeast-3.com.myhuaweicloud.v4.obsv2 ap-southeast-3.com.myhuaweicloud.v6.obsv2 非洲-约翰内斯堡 af-south-1.myhuaweicloud.v4.obsv2 af-south-1.myhuaweicloud.v6.obsv2 虚拟私有云:为表2所示的所有终端节点服务选择4所选择的虚拟私有云。 子网:根据您的实际业务需要,为表2所示的终端节点服务分别选择子网。 其他参数请根据您的实际业务需要进行设置。 在终端节点列表,获取4中为APIG、SWR服务创建的VPC终端节点对应的服务地址。 其中,${region}为3获取到的值。 创建内网域名,请参考创建内网域名。 域名:请分别填写以下内网域名。 请将以下内网域名中的${region}替换为3获取到的值。 servicestage.${region}.myhuaweicloud.com ecs.${region}.myhuaweicloud.com vpc.${region}.myhuaweicloud.com aom.${region}.myhuaweicloud.com swr-api.${region}.myhuaweicloud.com swr.${region}.myhuaweicloud.com VPC:选择4所选择的虚拟私有云。 其他参数请根据您的实际业务需要进行设置。 为7创建的所有内网域名添加记录集,请参考添加A类型记录集。 记录类型:选择“A – 将域名指向IPv4地址”。 记录值:参考下表填写。 请将下表中的${region}替换为3获取到的值。 内网域名 记录值 servicestage.${region}.myhuaweicloud.com 输入6获取到的com.myhuaweicloud.${region}.api终端节点服务对应的服务地址。 ecs.${region}.myhuaweicloud.com vpc.${region}.myhuaweicloud.com aom.${region}.myhuaweicloud.com swr-api.${region}.myhuaweicloud.com swr.${region}.myhuaweicloud.com 输入6获取到的com.myhuaweicloud.${region}.swr终端节点服务对应的服务地址。 其他参数请根据您的实际业务需要进行设置。
  • 问题描述 VPC终端节点(VPC Endpoint),能够将VPC私密地连接到终端节点服务,使VPC中的云资源无需弹性公网IP就能够访问终端节点服务,提高了访问效率,为您提供更加灵活、安全的组网方式。 为虚拟机类型环境纳管的ECS安装虚拟机Agent时,可以通过已创建的VPC终端节点与LTS、AOM、OBS、SWR服务通信,并使用APIG通过配置好的内网域名调用ServiceStage、ECS、VPC、AOM的功能接口。 仅“西南-贵阳一”、“华东二”、“华南-广州”、“亚太-新加坡”、“非洲-约翰内斯堡”区域的ServiceStage支持通过VPC终端节点访问依赖的服务。
  • 解决方法 登录ServiceStage控制台。 在区域列表选择您的业务所在区域,例如“华东二”。 在浏览器地址栏,获取“region”字段对应的值。 region取值示例如下面加粗内容所示: https://console.huaweicloud.com/servicestage/?agencyId=df****************************c1®ion=cn-east-4&locale=zh-cn#/overview 分别为SWR、APIG服务创建VPC终端节点,请参考购买连接“接口”型终端节点服务的终端节点。 区域:请选择2所选择的区域。 服务类别:选择“按名称查找服务”。 服务名称:请参考表1填写各云服务对应的终端节点服务名称。 请将下表中的${region}替换为3获取到的值。 表1 连接“接口”型终端节点服务说明 云服务 终端节点服务名称 SWR com.myhuaweicloud.${region}.swr 说明: 如果您选择的是“华南-广州”区域,SWR的终端节点服务名称是:swr.cn-south-1.myhuaweicloud.com。 APIG com.myhuaweicloud.${region}.api 勾选“创建内网域名”。 虚拟私有云:根据您的实际业务需要,为表1所示的所有终端节点服务选择同一个虚拟私有云。 子网:根据您的实际业务需要,为表1所示的终端节点服务分别选择子网。 其他参数请根据实际业务需要进行设置。 为OBS服务创建VPC终端节点,请参考购买连接“网关”型终端节点服务的终端节点。 需要为表2所示的OBS服务的终端节点服务分别创建VPC终端节点。 区域:请选择2所选择的区域。 服务类别:选择“按名称查找服务”。 服务名称:请参考表2填写OBS服务对应的终端节点服务名称。 表2 连接“网关”型终端节点服务说明 区域 终端节点服务名称 西南-贵阳一 cn-southwest-2.com.myhuaweicloud.v4.obsv2 cn-southwest-2.myhuaweicloud.v4.obsv2.lz05 华南-广州 cn-south-1.com.myhuaweicloud.v4.obsv2 cn-south-1.com.myhuaweicloud.v4.obsv2.lz05 cn-south-1.com.myhuaweicloud.v4.obsv2.lz08 cn-south-1.com.myhuaweicloud.v4.obsv2.lz09 华东二 com.myhuaweicloud.cn-east-4.obslb01.v4.obsv2.vxlan com.myhuaweicloud.cn-east-4.obslb01.v6.obsv2.vxlan 亚太-新加坡 ap-southeast-3.com.myhuaweicloud.v4.obsv2 ap-southeast-3.com.myhuaweicloud.v6.obsv2 非洲-约翰内斯堡 af-south-1.myhuaweicloud.v4.obsv2 af-south-1.myhuaweicloud.v6.obsv2 虚拟私有云:为表2所示的所有终端节点服务选择4所选择的虚拟私有云。 子网:根据您的实际业务需要,为表2所示的终端节点服务分别选择子网。 其他参数请根据实际业务需要进行设置。 在终端节点列表,获取4中为APIG、SWR服务创建的VPC终端节点对应的服务地址。 其中,${region}为3获取到的值。 创建内网域名,请参考创建内网域名。 域名:请分别填写以下内网域名。 请将以下内网域名中的${region}替换为3获取到的值。 servicestage.${region}.myhuaweicloud.com swr-api.${region}.myhuaweicloud.com swr.${region}.myhuaweicloud.com VPC:选择4所选择的虚拟私有云。 其他参数请根据您的实际业务需要进行设置。 为7创建的所有内网域名添加记录集,请参考添加A类型记录集。 记录类型:选择“A – 将域名指向IPv4地址”。 记录值:参考下表填写。 请将下表中的${region}替换为3获取到的值。 内网域名 记录值 servicestage.${region}.myhuaweicloud.com 输入6获取到的com.myhuaweicloud.${region}.api终端节点服务对应的服务地址。 swr-api.${region}.myhuaweicloud.com swr.${region}.myhuaweicloud.com 输入6获取到的com.myhuaweicloud.${region}.swr终端节点服务对应的服务地址。 其他参数请根据您的实际业务需要进行设置。
  • 问题描述 VPC终端节点(VPC Endpoint),能够将VPC私密地连接到终端节点服务,使VPC中的云资源无需弹性公网IP就能够访问终端节点服务,提高了访问效率,为您提供更加灵活、安全的组网方式。 在Kubernetes类型环境下创建并部署组件时的组件镜像构建过程中,可以通过已创建的VPC终端节点与OBS、SWR服务通信,并使用APIG通过配置好的内网域名调用ServiceStage的功能接口。 仅“西南-贵阳一”、“华东二”、“华南-广州”、“亚太-新加坡”、“非洲-约翰内斯堡”区域的ServiceStage支持通过VPC终端节点访问依赖的服务。
  • 创建灰度泳道组件 登录ServiceStage控制台。 单击“全链路流量控制”。 单击待操作灰度泳道所在泳道组名称,进入“全链路流量控制”页面。 灰度泳道未关联组件:单击灰度泳道卡片上的“创建组件”或右上角的。 灰度泳道已关联组件:单击灰度泳道卡片上右上角的。 创建容器部署方式部署的组件,请参考使用容器部署方式基于界面配置创建并部署组件。 在执行绑定微服务引擎操作步骤时: “微服务引擎”选择绑定基线泳道下已关联组件绑定的微服务引擎。为基线泳道关联组件,请参考关联基线泳道组件。 “所属泳道”选择待操作灰度泳道名称。 如果待关联组件绑定了Naocs引擎且使用Sermant Agent接入方式接入,在创建组件时需要参考设置组件环境变量为组件手动添加如下组件环境变量: 变量名称:SERVICE_META_PROJECT 变量/变量引用:接入Naocs引擎的组件实例所在的引擎命名空间ID,不支持使用public命名空间。 如果待关联组件绑定了Naocs引擎且使用Sermant Agent接入方式接入,则组件的微服务开发框架不支持Spring Boot 3。 如果待关联组件使用了Java类型的OpenJDK17技术栈,在创建组件时需要参考设置组件环境变量为组件手动添加如下组件环境变量: 变量名称:JAVA_TOOL_OPTIONS 变量/变量引用:--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED --add-opens=java.base/sun.net.www=ALL-UNNAMED --add-opens=java.base/sun.net.www.protocol.http=ALL-UNNAMED
  • 前提条件 已创建基线泳道,请参考创建基线泳道。 关联新建组件,需已存在使用Kubernetes类型环境创建并部署组件,请参考创建并部署组件。 如果待关联组件绑定了Naocs引擎且使用Sermant Agent接入方式接入,在创建组件时需要参考设置组件环境变量为组件手动添加如下组件环境变量: 变量名称:SERVICE_META_PROJECT 变量/变量引用:接入Naocs引擎的组件实例所在的引擎命名空间ID,不支持使用public命名空间。 如果待关联组件绑定了Naocs引擎且使用Sermant Agent接入方式接入,则组件的微服务开发框架不支持Spring Boot 3。 如果待关联组件使用了Java类型的OpenJDK17技术栈,在创建组件时需要参考设置组件环境变量为组件手动添加如下组件环境变量: 变量名称:JAVA_TOOL_OPTIONS 变量/变量引用:--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.math=ALL-UNNAMED --add-opens=java.base/sun.net.www=ALL-UNNAMED --add-opens=java.base/sun.net.www.protocol.http=ALL-UNNAMED 关联升级到当前版本的环境下已存在的使用Kubernetes类型环境部署的组件,需执行组件升级操作,请参考单批发布方式升级组件版本配置。