更新时间:2025-08-01 GMT+08:00

组件概述

组件简介

组件是组成应用的某个业务特性实现,以代码或者软件包为载体,可独立部署在环境下运行。

关于应用,请参考应用概述;关于环境,请参考环境概述

组件和应用、环境的关系,如图1所示。

图1 组件和应用及环境的关系

在ServiceStage上创建应用和环境后,您可以根据实际业务需求设置组件技术栈及对应的组件来源(包类型、存储方式),基于界面创建并部署组件。

ServiceStage也提供了通过组件模板自动化创建组件、升级组件的能力。通过已经创建好的组件模板创建组件的同时,可以进行配置创建、Kubernetes资源创建,请参考使用组件模板创建组件

技术栈简介

技术栈包含组件运行所依赖的操作系统、框架和运行时,由技术栈名称、类型、状态、版本等属性构成。其中,版本遵从语义化版本控制规范

ServiceStage为您提供并管理技术栈生命周期,您只需聚焦具体业务开发,提升您的应用托管体验。

技术栈各生命周期阶段定义如下:

  • Preview:Beta版本技术栈发布。
  • GA(General Availability):正式版本技术栈发布。
  • EOL(End of Life):技术栈生命周期结束。

技术栈状态定义如下:

  • Preview:生命周期处于Preview阶段的技术栈。
  • Supported:生命周期处于GA阶段的技术栈。
  • Deprecated:生命周期处于GA阶段但是已经发布了EOL公告的技术栈,或者ServiceStage服务不主推的技术栈。

ServiceStage提供了如表1所示的开源技术栈供您使用。开源技术栈使用过程中如果遇到问题,请查看所使用技术栈官方论坛和社区、联系技术支持工程师寻求帮助。

如果ServiceStage提供的开源技术栈不能满足您的业务需求,您也可以使用自定义技术栈版本,请参考添加技术栈自定义版本

ServiceStage支持部署打包为War包的基于Spring Boot框架开发的Java应用组件。JDK和Spring Boot版本配套关系如下所示:

  • OpenJDK8:支持Spring Boot 2.0.x~2.7.x。
  • OpenJDK11:支持Spring Boot 2.2.x~2.7.x。
  • OpenJDK17:支持Spring Boot 2.5.x及以上版本。
  • OpenJDK21:支持Spring Boot 2.7.x及以上版本。

Spring Boot版本详细说明,请参考Spring Boot版本说明

表1 开源技术栈信息说明

技术栈名称

技术栈类型

技术栈状态

发布说明

包类型和部署方式

OpenJDK8

Java

Supported

  • OpenJDK-8u442
  • 镜像OS:EulerOS 2.9.21,支持的字符集为en_US.UTF-8

OpenJDK11

Java

Supported

  • OpenJDK 11.0.26
  • 镜像OS:EulerOS 2.9.21,支持的字符集为en_US.UTF-8

OpenJDK17

Java

Supported

  • OpenJDK 17.0.14
  • 镜像OS:EulerOS 2.9.21,支持的字符集为en_US.UTF-8

OpenJDK21

Java

Supported

  • OpenJDK 21.0.6
  • 镜像OS:EulerOS 2.9.21,支持的字符集为en_US.UTF-8

Tomcat8/OpenJDK8

Tomcat

Supported

Tomcat9/OpenJDK8

Tomcat

Supported

Node.js8

Node.js

Supported

Node.js14

Node.js

Supported

Node.js16

Node.js

Supported

Node.js18

Node.js

Supported

使用虚拟机部署方式基于Node.js18创建并部署的组件,组件运行环境下的主机操作系统GLIBC版本需要大于等于2.25。否则,组件将无法正常启动。

Docker

Docker

-

CCE提供支持,请参见Kubernetes版本发布说明

包类型为镜像包,支持容器部署,详情请参考组件部署方式说明

Python3

Python

-

包类型为源码或Zip包,支持容器部署,详情请参考组件部署方式说明

Php7

Php

-

包类型为源码或Zip包,支持容器部署,详情请参考组件部署方式说明

组件来源说明

表1所示,使用ServiceStage创建部署组件时,需要根据选择的不同部署方式选择组件来源。您可以选择的包类型有源码仓库、软件包(Jar包、War包、Zip包、压缩包)或者镜像包,也可以根据实际业务需要选择包的存储方式,详情请参见表2

表2 组件来源

包类型

存储方式

源码仓库

参考创建仓库授权创建授权,然后设置代码来源。

Jar包

支持以下上传方式:

  • 从SWR软件仓库选择对应的软件包。需要提前将软件包上传至软件仓库,相关操作请参考上传软件包

    如果禁用了PKIToken,则不支持使用SWR软件仓库。

  • 从OBS对象存储选择对应的软件包。需要提前将软件包上传至OBS桶中,相关操作请参考流式上传(PUT上传)
  • 从自定义文件地址获取对应的软件包,支持HTTP/HTTPS协议的自定义文件地址下载。您需要提前将软件包上传至对应的自定义文件地址下。

War包

Zip包

压缩包

镜像包

容器应用需要基于镜像创建。支持“我的镜像”(私有镜像)、“开源镜像”“共享镜像”“第三方镜像”

  • 若选择“我的镜像”,您首先需要将镜像上传至镜像仓库,请参考上传镜像
  • 若选择“第三方镜像”,您需要已获取第三方镜像的地址。镜像地址格式为:
    {第三方镜像仓库IP地址}:{第三方镜像仓库访问端口号}/{镜像存储路径}/{镜像名称}:{镜像版本号}

    或者:

    {镜像名称}:{镜像版本号}

    若没标注镜像版本号,则默认为最新版本号latest。

组件部署方式说明

ServiceStage支持的组件部署方式,请参考表3

表3 组件部署方式说明

组件部署方式

说明

容器部署

容器部署组件利用容器技术(如Docker、Kubernetes等)来打包应用及其依赖,使之在任何环境中都能一致地运行,能够有效地简化部署流程,提高开发、测试以及生产环境之间的一致性。借助云容器引擎CCE、自定义K8s集群,您可以轻松部署、管理和扩展容器化应用程序。

ServiceStage支持您在“Kubernetes”“虚拟机+Kubernetes”类型的环境下使用容器部署方式创建部署组件。环境类型说明,请参考环境类型说明

虚拟机部署

虚拟机,即弹性云服务器ECS或者自定义服务器,是由CPU、内存、操作系统、云硬盘组成的基础的计算组件。弹性云服务器创建成功后,您就可以像使用自己的本地PC或物理服务器一样,在云上使用弹性云服务器,将组件部署在虚拟机上。

ServiceStage支持您在“虚拟机”“虚拟机+Kubernetes”类型的环境下使用虚拟机部署方式创建部署组件。环境类型说明,请参考环境类型说明

组件管理操作流程

图2 组件管理操作流程

图2所示,组件管理操作包括以下操作:

  1. 在使用组件管理之前,您需要先准备资源:
    1. 根据组件来源说明,上传待部署组件源码或者软件包到存储库。
    2. 根据组件部署方式说明,参考环境管理创建待部署组件所属环境。
    3. 参考应用管理创建待部署组件所属应用。
  2. 根据组件部署方式说明创建和部署组件
  3. 根据实际业务需求管理已创建组件: