云服务器内容精选

  • 前提条件 只能在应用下新增组件,需要先创建应用,请参考创建应用。 组件需要部署在指定环境下,需要先创建Kubernetes类型环境并纳管资源,请参考环境管理。 需要根据组织管理组件构建生成的镜像,需要先创建组织,请参考创建组织。 需要根据命名空间隔离构建数据和组件实例,需要先创建命名空间,请参考创建命名空间。 如果您基于“源码仓库”创建组件,那么您首先需要创建仓库授权,请参考创建仓库授权。 如果您基于软件包创建组件,那么您首先需要将软件包上传至CodeArts软件发布库、SWR软件仓库或者OBS对象存储中。 将软件包上传至CodeArts软件发布库,请参考上传软件包。 将软件包上传至SWR软件仓库,请参考上传软件包。 将软件包上传至OBS对象存储中,请参考流式上传(PUT上传)。 如果组件来源为软件包且需要使用例如JFrog(制品仓库)作为软件包存储仓库,支持自定义HTTP/HTTPS协议的文件地址下载。您需要提前将软件包上传至对应的自定义文件地址下。 如果上传软件包失败,请参考如何解决上传软件包失败的问题?。 如果您基于镜像包创建组件,请参考组件来源说明准备镜像。 如果您需要基于组件草稿创建组件,请参考本章节保存组件草稿。
  • 修改环境 登录ServiceStage控制台。 选择“环境管理”,进入“环境管理”页面。 选择如下方式进入“编辑环境”页面: 直接编辑:选择待操作环境,在“操作”列单击“编辑”。 查看环境详情后编辑:单击待操作环境名称,进入环境“概览”页面,单击“编辑”。 参考下表编辑环境信息。 参数 参数说明 环境名称 环境的名称。 长度为2到64个字符,可以包含英文字母、数字、下划线(_)或中划线(-),以英文字母开头、英文字母或者数字结尾,英文字母区分大小写。 企业项目 企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。 已开通企业项目后可以使用。 单击下拉列表,可以选择使用已有企业项目。 单击“新建企业项目”,可以参考创建企业项目创建并选择使用新建的企业项目。 环境标签 标签用于标识资源,当您拥有相同类型的许多资源时,可以使用标签按各种维度(例如用途、所有者或环境)对资源进行分类。 如果您的组织已经设定ServiceStage服务的相关标签策略,则需按照标签策略规则添加标签。标签如果不符合标签策略的规则,则可能会导致编辑环境失败,请联系组织管理员了解标签策略详情。 同一个环境下最多可以添加20个标签。 删除标签 单击待删除标签后的。 新增标签 单击“添加标签”,弹出“添加标签”对话框。 单击“新增标签”。 输入标签对应的key值和value值。 key值:长度为1到36个字符,只能包含数字、英文字母、下划线(_)、中划线(-)或中文。 value值:长度为1到43个字符,只能包含数字、英文字母、下划线(_)、点(.)、中划线(-)或中文。 如果您需要使用同一标签标识多种资源,即所有资源均可在标签输入框下拉选择同一标签,建议在TMS中创建预定义标签。 单击“确定”。 描述 环境描述信息,长度不超128个字符。 单击“保存”,完成环境修改。
  • 创建配置项 登录ServiceStage控制台。 选择“环境管理”,进入“环境管理”页面。 单击待操作环境名称,进入环境“概览”页面。 选择“计算”资源类型下的资源名称“云容器引擎 CCE”。 进入“配置项”列表页面。 非高可用环境:选择“配置项”页签。 高可用环境:单击已绑定CCE集群名称,选择“配置项”页签。 单击“创建配置项”。 ServiceStage支持“可视化”和“YAML”两种创建方式来创建配置项。 方式一:可视化。 参照表1设置配置项参数,其中带“*”标志的参数为必填参数。 表1 可视化方式创建配置项参数设置说明 参数 说明 *配置名称 新建的配置项名称,同一个命名空间里必须唯一。 长度为4到24个字符,可以包含英文小写字母、数字和中划线(-),以英文小写字母开头、英文小写字母或者数字结尾。 *所属集群 使用新建配置项的集群。 *命名空间 新建配置项所在的命名空间。 描述 配置项的描述信息,长度范围为0到255个字符。 配置数据 应用配置的数据可以在应用中使用,或被用来存储配置数据。其中,“键”代表文件名;“值”代表文件中的内容。 单击“添加更多配置数据”。 输入键、值。 配置数据的键必须由数字、字母、点号(.)、中划线(-)或下划线(_)组成,长度为1到63个字符。 配置数据的值长度为0到1,048,576个字符。 配置标签 标签以键值对的形式附加到各种对象上(如应用、节点、服务等)。标签定义了这些对象的可识别属性,用来对它们进行管理和选择。 单击“添加标签” 。 输入键、值。 标签的键由数字、字母、点号(.)、中划线(-)、下划线(_)或斜杠(/)组成,必须以字母或者数字开头和结尾,长度为1到63个字符。 标签的值由数字、字母、点号(.)、中划线(-)或下划线(_)组成,必须以字母或者数字开头和结尾,长度为1到63个字符。 图1 可视化方式设置配置项参数 方式二:YAML。 若需要通过上传文件的方式创建配置项,请确保已创建格式为YAML的ConfigMap资源文件,且文件小于1MB。详情请参考ConfigMap资源文件要求。 在“所属集群”下拉框中,选择相应的集群。 选择以下任一方式设置ConfigMap资源文件。 单击“上传文件”,选择本地已创建的ConfigMap资源文件后,单击“打开”,等待文件上传成功。 在“编排内容”中写作或者修改ConfigMap资源文件。 图2 YAML方式设置配置项参数 单击“创建配置项”。 配置项创建完成后,应用配置列表中会出现新创建的应用配置。
  • ConfigMap资源文件要求 ConfigMap资源文件支持YAML文件格式,且文件大小不得超过1MB。 文件配置示例如下: apiVersion: v1 data: {} kind: ConfigMap metadata: annotations: description: '' labels: {} name: configmap-ww8qkl namespace: cse 配置项关键参数说明请参考表3。 表3 配置项关键参数说明 参数名称 参数说明 apiVersion 固定值:v1。 kind 固定值:ConfigMap。 metadata.name 配置项名称,可自定义。 data 键值对形式配置项数据。
  • 前提条件 只能在应用下新增组件,需要先创建应用,请参考创建应用。 组件需要部署在指定环境下,需要先创建Kubernetes类型环境并纳管资源,请参考环境管理。 需要根据组织管理组件构建生成的镜像,需要先创建组织,请参考创建组织。 需要根据命名空间隔离构建数据和组件实例,需要先创建命名空间,请参考创建命名空间。 如果您基于“源码仓库”创建组件,那么您首先需要创建仓库授权,请参考创建仓库授权。 如果您基于软件包创建组件,那么您首先需要将软件包上传至CodeArts软件发布库、SWR软件仓库或者OBS对象存储中。 将软件包上传至CodeArts软件发布库,请参考上传软件包。 将软件包上传至SWR软件仓库,请参考上传软件包。 将软件包上传至OBS对象存储中,请参考流式上传(PUT上传)。 如果组件来源为软件包且需要使用例如JFrog(制品仓库)作为软件包存储仓库,支持自定义HTTP/HTTPS协议的文件地址下载。您需要提前将软件包上传至对应的自定义文件地址下。 如果上传软件包失败,请参考如何解决上传软件包失败的问题?。 如果您基于镜像包创建组件,请参考组件来源说明准备镜像。 如果您需要基于组件草稿创建组件,请参考本章节保存组件草稿。
  • 前提条件 只能在应用下导入组件,需要创建应用,请参考创建应用。 组件需要部署在指定Kubernetes类型环境下,需要创建环境并绑定待导入的工作负载所在的CCE集群等资源用于部署和运行组件,请参考环境管理。 基于Kubernetes类型的环境创建并部署组件,需要创建命名空间用于隔离构建数据,请参考创建命名空间。 待导入的无状态或者有状态工作负载已经在CCE中创建且未被导入,请参考创建工作负载。 如果需要启用多容器部署,请在创建工作负载时,添加并配置多个容器。可以指定某个容器为初始化容器,用于业务容器启动前安装特定工具或脚本。多个容器中,至少需要指定一个容器作为业务容器(非初始化容器)。初始化容器详情,请参考Init容器。 导入工作负载创建组件时,组件包参数配置固定为创建工作负载时的设置,不可修改。 导入CCE工作负载创建组件使用的Docker技术栈需启用且处于“启用中 ”状态。如果Docker技术栈未启用,请参考启用技术栈启用Docker技术栈。
  • 创建命名空间 登录ServiceStage控制台。 选择“环境管理”,进入“环境管理”页面。 单击待操作环境名称,进入环境“概览”页面。 选择“计算”资源类型下的资源名称“云容器引擎 CCE”。 进入“命名空间”列表页面。 高可用环境:单击环境已绑定的CCE集群名称,选择“命名空间”页签。 非高可用环境:选择“命名空间”页签。 单击“创建命名空间”,参考下表填写参数,其中带“*”标志的参数为必填参数。 参数 说明 *命名空间 命名空间的名称。 命名空间名称必须唯一,长度为1到63个字符,可以包含英文小写字母、数字和中划线(-),以英文小写字母开头、以英文小写字母或者数字结尾。 命名空间描述 命名空间的描述信息,长度不超过200个字符。 图1 设置命名空间参数 单击“确定”。 创建成功的命名空间会显示在命名空间列表。需要执行绑定命名空间才能被绑定到环境绑定的CCE集群下。
  • 编辑应用 登录ServiceStage控制台。 选择“应用管理”。 选择以下任意方式进入应用编辑页面。 直接编辑:选择待操作应用,在“操作”列单击“编辑”。 查看应用详情后编辑:在“应用管理”页面,单击待操作应用名称,进入“应用概览”页面。查看应用详情后,在页面右上方单击“编辑”。 参考下表重新设置应用信息。 参数 说明 应用名称 应用名称必须唯一,不能重复。 长度2到64个字符,可以包含英文字母、数字、下划线(_)或中划线(-),以英文字母开头、英文字母或者数字结尾。 企业项目 选择企业项目。 企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。 开通企业项目后可以使用。 单击下拉列表,可以选择使用已有企业项目。 单击“新建企业项目”,可以参考创建企业项目创建并选择使用新建的企业项目。 标签 标签用于标识资源,当您拥有相同类型的许多资源时,可以使用标签按各种维度(例如用途、所有者或环境)对资源进行分类。 如果您的组织已经设定ServiceStage服务的相关标签策略,则需按照标签策略规则添加标签。标签如果不符合标签策略的规则,则可能会导致应用编辑失败,请联系组织管理员了解标签策略详情。 同一个应用下最多可以添加20个标签。 新增标签:输入标签对应的key值和value值,单击“确定”。 key值:请输入长度为1到36个字符的字符串,只能包含数字、英文字母、下划线(_)、中划线(-)或中文。 value值:请输入长度为1到43个字符的字符串,只能包含数字、英文字母、下划线(_)、点(.)、中划线(-)或中文。 删除标签:单击待删除标签后的。 描述 应用描述信息,长度不超过128个字符。 单击“确定”。
  • 后续操作 密钥创建完成后,您可参考表2查找、查看、更新和删除密钥。 密钥删除后可能导致挂载此密钥或在环境变量中引用此密钥的组件升级后无法正常启动。 密钥列表中包含系统密钥资源,系统密钥资源不可更新和删除,只能查看。 表2 密钥管理操作说明 操作项 操作说明 查找密钥 在命名空间下拉列表选择密钥所在命名空间。 在搜索框输入密钥名称。 查看密钥 单击目标密钥“操作”列的“查看YAML”,查看配置项YAML格式文件内容。 更新密钥 单击目标密钥“操作”列的“更新”。 根据表1更改信息。 单击“更新密钥”。 删除单个密钥 单击目标密钥“操作”列的“删除”。 在弹出的对话框,单击“确定”。 批量删除密钥 勾选需要删除的密钥。 单击“删除密钥”。 在弹出的对话框,单击“确定”。
  • 创建密钥 登录ServiceStage控制台。 选择“环境管理”,进入“环境管理”页面。 单击待操作环境名称,进入环境“概览”页面。 选择“计算”资源类型下的资源名称“云容器引擎 CCE”。 进入“密钥”列表页面。 非高可用环境:选择“密钥”页签。 高可用环境:单击已绑定CCE集群名称,选择“密钥”页签。 单击“创建密钥”。 ServiceStage支持“可视化”和“YAML”两种方式来创建密钥。 方式一:可视化。参照表1设置参数,其中带“*”标志的参数为必填参数。 表1 可视化方式创建密钥参数设置说明 参数 参数说明 *密钥名称 新建密钥的名称,同一个命名空间内必须唯一。 长度为4到24个字符,可以包含英文小写字母、数字和中划线(-),以英文小写字母开头、英文小写字母或者数字结尾。 *所属集群 使用新建密钥的集群。 单击“创建集群”,可以新建CCE集群。创建CCE集群,请参考购买集群。您可以根据您的实际业务需要选择创建 CCE Turbo 集群或者CCE Standard集群。 *命名空间 新建密钥所在的命名空间。 单击“创建命名空间”,可以参考创建命名空间为密钥创建新的所属命名空间。 描述 密钥的描述信息,长度为0到255个字符。 *密钥类型 根据业务需要选择新建的密钥类型。 Opaque:一般密钥类型。当密钥配置文件中未作显式设定时,默认的密钥类型是Opaque。 kubernetes.io/dockerconfigjson:存放拉取私有仓库镜像所需的认证信息。 IngressTLS:存放7层负载均衡服务所需的证书。 其他:若需要创建其他类型的密钥,请手动输入密钥类型,长度为4到24个字符。 *镜像仓库地址 当“密钥类型”选择kubernetes.io/dockerconfigjson时有效,输入镜像仓库的地址。 *密钥数据 应用密钥的文件data字段值。 当密钥为Opaque类型时,输入“键”、“值”。 密钥数据的键必须由数字、字母、点号(.)、中划线(-)或下划线(_)组成,长度为1到63个字符。 密钥数据的值必须为使用Base64编码后的长度为1到1,048,576位的字符,Base64编码方法请参考如何进行Base64编码。 单击“添加更多配置数据”,可以增加密钥数据。 当密钥为kubernetes.io/dockerconfigjson类型时,输入“用户名”和“密码”。 当密钥为IngressTLS类型时,单击“上传文件”,上传“证书文件”和“私钥文件”。 证书文件小于1MB,格式为.crt或.cer。私钥文件小于1MB,格式为.key或.pem。 当密钥为其他类型时,输入对应的“键”、“值”。 密钥数据的键必须由数字、字母、点号(.)、中划线(-)或下划线(_)组成,长度为1到63个字符。 密钥数据的值必须为使用Base64编码后的长度为1到1,048,576位的字符,Base64编码方法请参考如何进行Base64编码。 单击“添加更多配置数据”,可以增加密钥数据。 密钥标签 标签以Key/value键值对的形式附加到各种对象上(如应用、节点、服务等)。 标签定义了这些对象的可识别属性,用来对它们进行管理和选择。 单击“添加标签” 。 输入键、值。 标签的键由数字、字母、点号(.)、中划线(-)、下划线(_)或斜杠(/)组成,必须以字母或者数字开头和结尾,长度为1到63个字符。 标签的值由数字、字母、点号(.)、中划线(-)或下划线(_)组成,必须以字母或者数字开头和结尾,长度为1到63个字符。 图1 可视化方式设置密钥参数 方式二:YAML。 若需要通过上传文件的方式创建密钥,请确保已创建YAML格式的Secret资源文件,且文件小于1MB。详情请参考Secret资源文件配置示例。 在“所属集群”下拉框中,选择相应的集群。 选择以下任一方式设置ConfigMap资源文件。 单击“上传文件”,选择已创建的Secret资源文件后,单击“打开”,等待文件上传完成。 在“编排内容”中写作或者修改上传的Secret资源文件。 图2 YAML方式设置密钥参数 单击“创建密钥”。 密钥列表中会出现新创建的密钥。
  • 前提条件 只能在应用下新增组件,需要先创建应用,请参考创建应用。 组件需要部署在指定环境下,需要先创建环境并纳管资源,请参考环境管理。 需要将软件包上传至CodeArts软件发布库、SWR软件仓库或者OBS对象存储中。 将软件包上传至CodeArts软件发布库,请参考上传软件包。 将软件包上传至SWR软件仓库,请参考上传软件包。 将软件包上传至OBS对象存储中,请参考流式上传(PUT上传)。 如果组件来源为软件包且需要使用例如JFrog(制品仓库)作为软件包存储仓库,支持自定义HTTP/HTTPS协议的文件地址下载。您需要提前将软件包上传至对应的自定义文件地址下。 如果上传软件包失败,请参考如何解决上传软件包失败的问题?。 如果您需要基于组件草稿创建组件,请参考本章节保存组件草稿。
  • 操作步骤 登录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发布管理的批量升级发布单实现组件跨可用区的升级,并指定在不同可用区组件的升级顺序。