华为云用户手册

  • 方案流程 使用工作负载Identity的流程如图1 使用工作负载Identity流程,具体流程如下: 前置授权。 在U CS 获取本地集群私钥签发的jwks,该公钥用于验证集群签发的ServiceAccount Token。 在 IAM 配置身份供应商,标志当前集群在IAM侧的身份。 为身份提供商配置集群签发的公钥,后续负载使用Token发送请求时,IAM使用该公钥验证Token。 添加 ServiceAccount 与 IAM 账号的映射规则,配置后,当前 ServiceAccount 拥有对应用户的 IAM 权限。 工作负载配置Token。 部署应用并配置ServiceAccount。 挂载对应ServiceAccount的Token。 验证获取的Token能否正常进行访问。 访问IAM接口获取IAM Token。 使用IAMToken 访问云服务。 图1 使用工作负载Identity流程
  • 获取IAM Token 创建 ServiceAccount,此处 ServiceAccount 的名称需要与2时填写的 ServiceAccountName 保持一致。 apiVersion: v1 kind: ServiceAccount metadata: name: test_sa_name # 与配置身份转换规则处保持一致 如下所示,在工作负载中新增 ServiceAccount 以及 Volume 相关配置。 apiVersion: apps/v1 kind: Deployment metadata: name: nginx spec: replicas: 1 selector: matchLabels: app: nginx version: v1 template: metadata: labels: app: nginx version: v1 spec: containers: - name: container-1 image: nginx:latest volumeMounts - mountPath: "/var/run/secrets/tokens" # 将Kubernetes生成的ServiceAccountToken 挂载到 /var/run/secrets/tokens/token_path 文件内 name: token-volume imagePullSecrets: - name: default-secret serviceAccountName: test_sa_name # 上一步创建的ServiceAccount的名称 volumes: - name: token-volume projected: defaultMode: 420 sources: - serviceAccountToken: audience: ucs-cluster-identity # 此处取值必须为身份提供商的客户端ID expirationSeconds: 7200 # 过期时间 path: token_path # 路径名称,可自定义 创建完成后,登录到容器中获取 Token。 构造请求体数据,项目ID的获取请参见获取项目ID。 { "auth" : { "id_token" : { "id" : "eyJhbGciOiJSUzIXXXXX" // 上一步获得的 token 内容 }, "scope": { "project" : { "id" : "05495693df80d3c92fa1c01795c2be02", // 项目 ID "name" : "cn-north-7" } } } } 请求IAM接口以获取IAM Token,IAM的Endpoint信息请参见地区和终端节点。 curl -i --location --request POST 'https://{{iam endpoint}}/v3.0/OS-AUTH/id-token/tokens' --header 'X-Idp-Id: {{workload_identity}}' --header 'Content-Type: application/json' --data @token_body.json workload_identity为1中注册的身份提供商名称,此示例内为 ucs-cluster-identity。 token_body.json 为构造的请求体数据文件。 返回体内获取IAM Token,响应消息头中 X-Subject-Token 字段即为 IAM Token。
  • 使用IAM Token访问云服务 本小节以请求LTS服务为例,介绍如何使用IAM Token访问云服务。 在使用IAM Token访问云服务前,应为用户组配置相应服务的权限。 请求LTS服务需要在用户组中加上 LTS FullAccess 权限,如图所示。 执行如下命令,调用对应服务接口。 curl --location --request GET 'https://ltsperform.cn-north-7.myhuaweicloud.com/v2/{{项目 ID}}/groups/{{日志组 ID}}/streams' \--header 'Content-Type: application/json;charset=utf-8' \--header 'X-Auth-Token: {{上一步获得的 IAM token}}' \--data-raw '' 日志组ID可在LTS服务内进行查询。 期望的返回结果如图所示
  • 约束限制 全量SQL功能不能保证记录全部数据,针对MySQl引擎,会有如下使用限制: 当前全量SQL受内存缓冲区限制,业务量大的场景下,全量SQL有较小概率因缓冲区满,存在丢弃部分记录。 当前全量SQL单条记录超过4096字节时,会默认丢弃该条记录。 此限制在MySQL 5.7.33.3及以后版本可以通过设置参数rds_sql_tracer_reserve_big_records来选择是否丢弃。您可以通过编辑参数模板,将该参数设为ON,表示单条记录超过4096字节也不被丢弃。
  • Navicat配置SSL CA证书 打开Navicat Premium。 单击“文件”,选择要连接的华为云数据库引擎。 图1 选择数据库引擎 在“常规”页签,填写连接信息。 图2 新建连接 表1 参数说明 参数 说明 连接名 连接数据库的任务名称。 主机 如果客户端部署在ECS上,ECS和RDS实例在同一区域且内网互通,可以通过内网连接实例,主机IP为数据库实例的内网地址。 不能用内网连接时,可以通过公网连接,主机IP为数据库实例绑定的弹性公网IP。 端口 实例的数据库端口。 用户名 实例的账号名称,默认root。 密码 要访问实例的账号所对应的密码。 在“SSL”页签,上传CA证书。 图3 上传CA证书 单击“测试连接”,测试成功后,单击“确定”。 图4 连接成功
  • 场景排查 弹性云服务器能否ping通华为云关系型数据库实例。 如果ping不通,可以查看弹性云服务器和华为云关系型数据库实例是否处于同一个虚拟私有云内,是否使用同一个安全组。 内网连接方式下,弹性云服务器与云数据库RDS实例必须处于同一虚拟私有云内,且只能通过弹性云服务器连接。公网连接方式下,该弹性云服务器可以与目标实例不在同一个虚拟私有云内。 检查连接IP和端口号是否正确。 注意IP和端口号之间使用“逗号”隔开。 检查华为云关系型数据库服务的运行状态是否异常。 查看用户名密码是否正确,尝试重置密码。 尝试重启华为云关系型数据库实例,检查是否改善。
  • 为什么选择OrgID OrgID通过将Huawei ID扩展到企业组织内部应用领域,解决: 企业应用账号统一:企业可以选择使用Huawei ID作为企业SaaS服务的账号,并与企业内部账号关联。 账号绑定统一:与企业使用的IDaaS集成,企业用户可以选择使用Huawei ID或企业内部账号登录。 单点登录:企业用户一次登录实现轻应用间或SaaS服务间统一登录。 企业的统一管理:支持企业管理员对企业的部门、部门用户、账号、应用、应用认证源进行统一管理。 企业用户登录成功后,可以免登录打开任意企业内的应用,包括移动端,PC端。 通过统一账号来实现企业多维度运营分析:包括租户维度、用户维度、应用维度。
  • 产品功能 账号登录:提供组织成员(个人华为账号、管理式华为账号、第三方认证源账号)统一登录界面,实现企业内账号在华为云、业务应用的统一。 组织管理:通过个人华为账号或者管理式华为账号管理组织,包括组织部门管理、组织成员管理、组织信息管理,为企业内应用提供组织、部门、成员的统一管理。 应用注册:提供多种协议的应用注册管理,包括CAS、OAuth、OIDC、SAML。 用户关联中心:Huawei ID和第三方认证源的账号会关联生成用户标识,统一管理在OrgID的用户中心,通过用户中心控制组织下应用的访问。 应用授权管理:管理员授权用户可以访问的应用,包括自有应用和云商店联运KIT的SaaS应用。 业务访问控制:管理应用的访问策略,包括用户、设备、区域和认证源等。 应用单点登录:提供基于OrgID登录后应用间的免登录能力,提供基于App内部应用的免登录能力,提供其他应用的免登录能力。 用户运营分析:提供成员行业分析,应用使用分析。 三方账号绑定:支持钉钉、企业微信、 WeLink 等外部认证源的账号登录。
  • 责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的 云安全 挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。 华为云:负责云服务自身的安全,提供安全的云。华为云的安全责任在于保障其所提供的IaaS、PaaS和SaaS各类各项云服务自身的安全,涵盖华为云数据中心的物理环境设施和运行其上的基础服务、平台服务、应用服务等。这不仅包括华为云基础设施和各项云服务技术的安全功能和性能本身,也包括运维运营安全,以及更广义的安全合规遵从。 租户:负责云服务内部的安全,安全地使用云。 华为云租户的安全责任在于对使用的IaaS、PaaS和SaaS类各项云服务内部的安全以及对租户定制配置进行安全有效的管理,包括但不限于虚拟网络、 虚拟主机 和访客虚拟机的操作系统,虚拟防火墙、API网关和高级安全服务,各项云服务,租户数据,以及身份账号和密钥管理等方面的安全配置。 《华为云安全白皮书》详细介绍华为云安全性的构建思路与措施,包括云安全战略、责任共担模型、合规与隐私、安全组织与人员、基础设施安全、租户服务与租户安全、工程安全、运维运营安全、生态安全。 图1 华为云安全责任共担模型 父主题: 安全
  • AppStage最佳实践汇总 本文汇总了基于应用平台AppStage常见应用场景的操作实践,为每个实践提供详细的方案描述和操作指导,帮助您深入了解AppStage的各个功能。 表1 AppStage最佳实践一览表 最佳实践 说明 一站式应用开发、应用托管以及应用运维 介绍如何使用应用平台AppStage一站式功能,完成基于应用维度提供的开发、测试、版本发布、托管部署、运维监控的全场景全生命周期管理。 基于运维数仓的数据开发与应用 介绍如何通过AppStage运维中心完成对业务实时数据的接入、处理、开发与应用。 基于Spring Cloud框架进行应用上云 以Spring Cloud Demo项目为例,带您体验使用AppStage的开发中心、运维中心及运行时引擎进行工程创建、代码开发、打包发布、部署上线的全过程。
  • 准备工作 在执行操作前,需要提前完成如下准备工作,以满足操作的环境要求。 已购买AppStage的开发中心、运维中心、运行时引擎 已关联组织 已配置AppStage各中心服务授权 已添加组织的部门/成员信息 已录入产品/服务/微服务信息 AppStage租户需要在华为云上购买一个OBS桶并配置桶名(用于存放编译构建的产物),具体操作方法请参见创建桶。 父主题: 一站式应用开发、应用托管以及应用运维
  • 步骤五:安装日志采集插件 在“日志接入”页面,选择左侧导航栏的“集群插件管理”。 在集群列表中单击待安装插件的集群所在行“操作”列的“安装插件”。 在“插件安装”页面配置安装参数,具体内容如下所示,配置完成后,单击“确定”。 输入日志挂载路径:挂载到容器指定挂载点中的容器所在宿主机的文件目录,通常为宿主机上日志文件的hostpath目录。需要设置为单独的文件路径,不能设置为类似于/root、/home等包含有其他文件的目录,并且一个集群只能设置一个挂载路径。 需要对日志挂载路径执行chmod o+rx命令,确保日志采集容器的启动用户拥有该路径的访问权限。 选择主机:选择待安装插件的主机,默认全部勾选进行安装,可以去掉勾选不需要安装插件的主机,且当主机状态为“Active”时才可以正常安装插件。 选择日志配置组:选择日志配置组,安装插件并下发配置。
  • 步骤四:创建日志配置组 在“日志接入”页面,选择左侧导航栏的“日志配置组”。 单击“创建日志配置组”。 设置日志配置组参数,参数说明如表5所示,配置完成后,单击“确定”。 表5 日志配置组参数说明 参数名称 参数说明 日志配置组名称 自定义日志配置组名称。 安装方式 选择安装方式,推荐使用“DAEMONSET”。 命名空间 当安装方式为“DAEMONSET”时,需要配置服务日志命名空间。 命名空间为hostpath的下一级目录名称,该目录下48小时内有日志文件更新,才会拉取日志采集配置,必须为英文名。 日志项目 选择已创建的日志项目。 配置类型 选择配置类型,即创建日志采集配置时选择的配置类型,根据配置类型会过滤采集配置列表中的数据。 采集配置列表 选择需要下发的配置。
  • 步骤三:创建日志采集配置 在“日志接入”页面,选择左侧导航栏的“日志采集配置”。 单击“创建日志采集配置”。 配置日志采集参数,配置完成后,单击“确定”。 新创建的采集配置默认为草稿状态,展示在“草稿”页签下,当配置被微服务使用后,状态会更新为“已下发”,并展示到“已下发”页签下。 表4 日志采集配置参数说明 参数名称 参数说明 日志项目 选择已创建的日志项目,相同服务的不同日志使用同一个日志项目 日志空间 选择已创建的日志空间。选择日志空间时日志提取规则会展示日志空间定义的日志格式,采集的日志须满足对应格式。 配置名称 自定义日志采集配置名称。 配置类型 选择日志采集配置类型,建议选择“FILEBEAT”。 日志类型 输入采集日志类型。 日志路径 宿主机上的日志文件的绝对路径(业务容器通过hostpath挂载到宿主机上的路径)。 可使用通配符进行匹配。 说明: 注意避免同一台主机上下发的多个采集任务重复采集相同的日志文件,会导致filebeat进程异常。 日志TPS TPS表示单实例每秒日志条数,请准确填写,用于推荐资源自动计算。 日志模式 选择日志采集模式,是单行模式还是多行模式。 是否支持软连接 当填写的日志路径为链接路径时,需要开启支持软连接。 首行正则表达式 日志模式选择多行模式时,需要输入首行正则表达式。 日志提取规则 根据填写的配置参数会自动生成提取规则。
  • 步骤二:创建日志空间 在“日志接入”页面,选择左侧导航栏的“日志空间”。 单击“申请实时日志空间”。 根据界面提示填写日志空间参数。 配置实时日志空间信息,参数说明如表2所示,配置完成后,单击“下一步”。 表2 实时日志空间信息参数说明 参数名称 参数说明 空间名称 自定义日志空间名称,建议包含日志类型语义。 空间描述 输入日志空间描述,非必填项。 日志类型 选择需接入的日志类型,该日志空间中接入的日志数据“logType”字段会根据选择的日志类型生成。不同日志类型所对应的“logType”字段如下: 访问日志:AC CES S_ LOG 接口日志:INTERFACE_LOG 错误日志:ERROR_LOG 异常日志:EXCEPTION_LOG 安全日志:SAFE_LOG 资源日志:RESOURCE_LOG 运行日志:RUN_LOG 话单日志:CDR_LOG 指标日志:METRICS_LOG GC日志:GC_LOG HCW日志:HCW_LOG 日志大小 预计一天的日志量,默认为1GB。 开启日志检索 如果需要使用日志检索功能,可以打开该开关,并创建导流任务,创建导流任务后可以在“日志检索”页面查看日志。 检索空间类型 选择ClickHouse。 原索引名称(ClickHouse) 可选择现有的ClickHouse,如果不填会自动生成。 TTL 日志索引的生命周期,即可以检索的日志时间范围,当前默认支持7天。 配置实时日志字段信息,参数说明如表3所示,配置完成后,单击“下一步”。 表3 实时日志字段信息参数说明 参数名称 参数说明 自定义字段 必须接入的日志字段已默认勾选,可以勾选其他需要接入的日志字段,包括通用字段、容器字段和虚机字段。 新增自定义环境变量 如需添加自定义环境变量,请选择环境变量名,然后单击“添加”。虚机暂无可选自定义环境变量。 清洗规则 选择日志清洗规则。 请优先使用算子清洗模式采样,通过配置解析脚本将原始日志清洗为业务需要的日志字段,算子清洗功能及使用样例请参见算子清洗功能介绍。原始日志采样清洗只适用于单纯采样,不需要清洗的场景。 日志样例 输入日志样例。 解析脚本 配置解析脚本,将日志样例清洗为字段显示,具体算子功能及使用样例请参见算子清洗功能介绍。 说明: 配置解析脚本时字段命名不支持使用中划线“-”,支持使用下划线“_”。 清洗字段 配置解析脚本后单击“配置解析脚本”,自动生成清洗字段,查看字段是否符合预期。 开启汇聚 选择是否开启日志汇集,如果日志量较大且不需要关注原始日志时可以进行日志汇集。 开启后会自动创建用于存储汇聚数据的Topic,同时需要配置汇集相关参数。 汇聚粒度 开启汇聚后,需要设置汇集粒度。支持分钟级和秒级数据汇聚。选择分钟级,每一分钟会生成一个统计点,选择秒级,每一秒会生成一个统计点。 汇聚时间戳 仅支持时间戳格式字段timestamp,获取当前计算的日志的时间。 时间戳格式 选择时间戳格式。支持秒、毫秒、纳秒级时间戳,获取当前计算的日志的时间格式。 汇聚维度 结合业务场景需要,选择日志是以哪些日志字段进行日志汇聚,支持多选。 汇聚度量 设置对日志字段以COUNT、SUM、MAX、MIN进行度量。 原始字段是日志中的字段,用来获取原始值;度量字段是用户自定义字段名,计算后,度量的值会赋值给该字段。 输出原始日志 选择是否需要输出原始日志。如果打开输出原始日志,原始日志也会上报。 日志字段确认,确认日志字段配置是否达到预期,已达到预期,单击“下一步”。 其中字段来源COMMON表示通用字段、CONTAINER表示容器字段、VM表示虚机字段。 申请日志空间共享,如果需要其他服务共用这个空间进行日志下发和日志检索,可以添加共享服务。配置完成后,单击“保存”。
  • 步骤四:创建任务 在“日志接入”页面,选择左侧导航栏的“任务管理”。 单击页面右上角的“新建任务”。 配置任务参数,如图1所示,参数说明如表5所示,配置完成后,单击“确定”。 图1 新建配置 表5 任务参数说明 参数名称 参数说明 日志项目 选择已创建的日志项目。 任务名称 自定义任务名称。 任务类型 选择任务类型。 配置类型 选择日志采集配置类型。 配置列表 选择需要下发的配置。 用户名称 选择已规划并拥有日志读取权限的业务账号。 选择主机 选择需要下发配置的主机。 已选主机 显示已选主机。 在任务列表中查看已创建的任务,单击任务所在行“操作”列的“执行”,如图2所示。 图2 执行任务 执行完成后,状态为成功即表示日志配置内容已下发成功,即会按照配置将日志接入AppStage。
  • 步骤二:创建日志空间 在“日志接入”页面,选择左侧导航栏的“日志空间”。 单击“申请实时日志空间”。 根据界面提示填写日志空间参数。 配置实时日志空间信息,参数说明如表2所示,配置完成后,单击“下一步”。 表2 实时日志空间信息参数说明 参数名称 参数说明 空间名称 自定义日志空间名称,建议包含日志类型语义。 空间描述 输入日志空间描述,非必填项。 日志类型 选择需接入的日志类型,该日志空间中接入的日志数据“logType”字段会根据选择的日志类型生成。不同日志类型所对应的“logType”字段如下: 访问日志:ACCESS_LOG 接口日志:INTERFACE_LOG 错误日志:ERROR_LOG 异常日志:EXCEPTION_LOG 安全日志:SAFE_LOG 资源日志:RESOURCE_LOG 运行日志:RUN_LOG 话单日志:CDR_LOG 指标日志:METRICS_LOG GC日志:GC_LOG HCW日志:HCW_LOG 日志大小 预计一天的日志量,默认为1GB。 开启日志检索 如果需要使用日志检索功能,可以打开该开关,并创建导流任务,创建导流任务后可以在“日志检索”页面查看日志。 检索空间类型 选择ClickHouse。 原索引名称(ClickHouse) 可选择现有的ClickHouse,如果不填会自动生成。 TTL 日志索引的生命周期,即可以检索的日志时间范围,当前默认支持7天。 配置实时日志字段信息,参数说明如表3所示,配置完成后,单击“下一步”。 表3 实时日志字段信息参数说明 参数名称 参数说明 自定义字段 必须接入的日志字段已默认勾选,可以勾选其他需要接入的日志字段,包括通用字段、容器字段和虚机字段。 新增自定义环境变量 如需添加自定义环境变量,请选择环境变量名,然后单击“添加”。虚机暂无可选自定义环境变量。 清洗规则 选择日志清洗规则。 请优先使用算子清洗模式采样,通过配置解析脚本将原始日志清洗为业务需要的日志字段,算子清洗功能及使用样例请参见算子清洗功能介绍。原始日志采样清洗只适用于单纯采样,不需要清洗的场景。 日志样例 输入日志样例。 解析脚本 配置解析脚本,将日志样例清洗为字段显示,具体算子功能及使用样例请参见算子清洗功能介绍。 说明: 配置解析脚本时字段命名不支持使用中划线“-”,支持使用下划线“_”。 清洗字段 配置解析脚本后单击“配置解析脚本”,自动生成清洗字段,查看字段是否符合预期。 开启汇聚 选择是否开启日志汇集,如果日志量较大且不需要关注原始日志时可以进行日志汇集。 开启后会自动创建用于存储汇聚数据的Topic,同时需要配置汇集相关参数。 汇聚粒度 开启汇聚后,需要设置汇集粒度。支持分钟级和秒级数据汇聚。选择分钟级,每一分钟会生成一个统计点,选择秒级,每一秒会生成一个统计点。 汇聚时间戳 仅支持时间戳格式字段timestamp,获取当前计算的日志的时间。 时间戳格式 选择时间戳格式。支持秒、毫秒、纳秒级时间戳,获取当前计算的日志的时间格式。 汇聚维度 结合业务场景需要,选择日志是以哪些日志字段进行日志汇聚,支持多选。 汇聚度量 设置对日志字段以COUNT、SUM、MAX、MIN进行度量。 原始字段是日志中的字段,用来获取原始值;度量字段是用户自定义字段名,计算后,度量的值会赋值给该字段。 输出原始日志 选择是否需要输出原始日志。如果打开输出原始日志,原始日志也会上报。 日志字段确认,确认日志字段配置是否达到预期,达到预期后可单击“下一步”。 其中字段来源COMMON表示通用字段、CONTAINER表示容器字段、VM表示虚机字段。 申请日志空间共享,如果需要其他服务共用这个空间进行日志下发和日志检索,可以添加共享服务。配置完成后,单击“保存”。
  • 步骤三:创建日志采集配置 在“日志接入”页面,选择左侧导航栏的“日志采集配置”。 单击“创建日志采集配置”。 配置日志采集参数,配置完成后,单击“确定”。 新创建的采集配置默认为草稿状态,展示在“草稿”页签下,当配置被微服务使用后,状态会更新为“已下发”,并展示到“已下发”页签下。 表4 日志采集配置参数说明 参数名称 参数说明 日志项目 选择已创建的日志项目,相同服务的不同日志使用同一个日志项目。 日志空间 选择已创建的日志空间。选择日志空间时日志提取规则会展示日志空间定义的日志格式,采集的日志须满足对应格式。 配置名称 自定义日志采集配置名称。 配置类型 选择日志采集配置类型,建议选择“FILEBEAT”。 日志类型 输入采集日志类型。 日志路径 填写实际日志路径,可使用通配符进行匹配。 说明: 接入容器日志需要根据通配符匹配完成。 注意避免同一台主机上下发的多个采集任务重复采集相同的日志文件,会导致filebeat进程异常。 日志TPS TPS表示单实例每秒日志条数,请准确填写,用于推荐资源自动计算。 如果采集路径是单个日志,则按照单个日志单台机器(pod)的TPS值填写,且按照高峰期计算。 如果采集路径配置了通配符,则将采集的日志TPS累加,累加计算高峰期单台机器(pod)的TPS,建议按近期业务增长预期填写。 日志模式 选择日志采集模式,是单行模式还是多行模式。 是否支持软连接 当填写的日志路径为链接路径时,需要开启支持软连接。 首行正则表达式 日志模式选择多行模式时,需要输入首行正则表达式。 日志提取规则 根据填写的配置参数会自动生成提取规则。
  • 限制条件 绑定监控模板进行主机监控,支持的主机的操作系统如表1所示,其余类型的主机无法绑定监控插件。 表1 监控服务支持的主机操作系统 操作系统 系统版本 EulerOS EulerOS2.5、EulerOS2.9 CentOS CentOS 7.2、CentOS 7.6、CentOS 7.8、CentOS 7.9、CentOS 8.2 Ubuntu Ubuntu 18.04、Ubuntu 20.04、Ubuntu 22.04 Huawei Cloud EulerOS Huawei Cloud EulerOS 2.0 SUSE SUSE11、SUSE12、SUSE15、OpenSUSE 15.0
  • 操作步骤 在“服务环境管理”页面,单击待变更环境所在行“操作”列的“更新”,进入“更新环境”页面。 配置变更参数。 完成“变更基本配置”,单击“下一步”,会根据配置内容产生变更计划。 环境基本信息:作为环境的元数据无法修改、无法被更新。 服务级IaC包:选择服务级IaC包的版本和规格。服务级IaC包为“spec”类型的包,可以定义环境下的流水线和组件,以及组件下的资源。 变更任务流:基于用户选择的服务级IaC包,系统可以获取此包定义的所有流水线。可以选择其中一个用于执行变更,若不选择流水线,则系统会生成一条执行环境下所有组件的流水线。变更的内容是spec包中声明的所有组件。 组件级IaC包:选择流水线后,系统会根据流水线内容生成组件列表,可以基于列表中的元素选择需要变更的组件,或者为组件变更指定patch包,不指定patch包的组件将会基于spec包中对组件的定义进行变更; 如果没有选择流水线,那么系统将会展示选择的spec包中所定义的所有组件,同样地,也可以为组件指定用于变更的patch包。组件名称会根据自己的iacspec包代码的描述自动带出包中声明的组件,可以全量或者部分进行变更。 等待1~2分钟(具体时间长短取决于资源的数量以及当前系统的负载),变更计划生成完毕后,可以在“任务流程图”中查看此次变更的“变更流程图”和“变更流水线”,确认无误后可以点击“提交”执行变更。
  • 通过控制台申请资源 AppStage支持使用控制台完成资源申请,或者在华为云申请资源,然后接入至AppStage运维中心。 申请虚拟机:需要在华为云购买ECS虚拟机,然后将主机接入AppStage运维中心。 申请CCE集群:需要在华为云购买CCE集群,然后将容器集群接入AppStage运维中心。 申请数据库:需要在华为云购买数据库,然后将数据库接入AppStage运维中心,当前只支持RDS(for MySQL)、GeminiDB Cassandra、 GaussDB (for openGauss)/GaussDB(for MySQL)接入AppStage运维中心。
  • 步骤四:录入企业项目 在项目配置区域,单击“新增”。 新增项目配置,具体参数如表3所示。 表3 项目配置参数 名称 说明 部门 选择已录入的部门。 产品 选择已录入的产品。 服务 选择已录入的服务。 华为公有云账号名 选择用户的华为云账号名。 类型 关联项目:关联已有的公有云EPS。 关联且新增项目:在公有云EPS创建一个新项目,同时进行关联。 企业项目名称 关联项目时,选择已有的公有云EPS。 关联且新增时,填写创建的企业项目名称。 单击“确定”。
  • 步骤一:创建环境 进入AppStage运维中心。 将鼠标悬停在右上角的账号,选择下拉列表中的“服务环境配置”,选择左侧导航栏的“环境管理”。 单击“创建”,配置环境参数,具体参数如表1所示。 表1 创建环境参数 参数 说明 名称 填写环境名称,名称全局唯一,只能包含小写字母、数字以及下划线,不能以下划线开头。 用途 选择环境的用途。可选用途包括开发、测试、生产、安全和性能。 描述 环境的描述信息。 单击“确定”。
  • 管理关键风险 在“测试评估”页面选择“关键风险”页签,然后单击“新增”。 在“新增关键风险”页面,如图3所示,参数说明请参见表3。 图3 新增关键风险 表3 关键风险参数说明 参数名 参数说明 风险描述 风险问题的描述。 级别 区分三个级别:低、中、高 影响分析 风险问题的相关影响分析。 规避措施和计划 规避该风险问题的相关措施和计划。 单击“确定”。新增的关键风险显示在风险列表中。 (可选)在风险列表“操作”列单击“编辑”,在“编辑关键风险”页面可编辑风险问题的相关信息,参数说明可参见表3。 (可选)在风险列表“操作”列单击“删除”,在“删除风险”对话框确认删除的风险问题并单击“确定”,即可删除相应的风险问题。
  • 管理单项测试结论 在“测试评估”页面选择“测试结论”页签,系统预置了四个测试类型:遗留DI值、功能评估、性能评估和安全评估。 单击“新增”,在“新增测试结论”页面,设置测试结论相关参数,如图2所示,参数说明请参见表2,设置完成后单击“确定”。 图2 编辑测试结论 表2 测试结论参数说明 参数名 参数说明 测试类型 输入测试类型。 测试结论 根据实际情况可设置为:通过、不通过或不涉及。 评估说明(可选) 测试评估的相关说明。 附件(可选) 单击“添加文件”,最多可上传一个附件文件辅助测试评估的说明,且只能上传ZIP、RAR、DOCX、DOC、XLS、XLSX格式文件,文件不能超过50MB。 说明: 用户需对自己上传文件的安全风险负责,开发中心不对用户自己上传的文件做任何处理。 添加文件后,如需变更文件,可光标移至文件,在文件右侧单击,将旧文件删除后,再单击“添加文件”重新上传新文件。 (可选)在测试结论列表操作列单击“编辑”,在“编辑测试结论”页面可编辑测试评估的相关信息,参数说明可参见表2。 (可选)在测试结论列表操作列单击“删除”,在“删除测试结论”对话框单击“确定”,可删除不需要的测试类型及其结论。 系统预置的四个测试类型(遗留DI值、功能评估、性能评估、安全评估)不可删除。
  • 配置流水线(以添加业务包构建任务为例) 在流水线的“任务编排”页面,单击或者。 单击,在“编辑阶段”页面,修改“阶段名称”为“构建阶段”,并将“总是运行”设置为“是”(选择“是”,表示流水线执行时,该阶段下的任务默认选中必须执行且不可取消;选择“否”,表示流水线执行时,该阶段下的任务默认选中但可以取消。),然后单击“确定”。 在流水线的“构建阶段”,单击“新建任务”。 在“新建任务”页面的右侧区域,选择“构建”页签,搜索“Build构建”并将鼠标移至该插件卡片,单击“添加”,将此插件添加到任务中。 在“任务配置”页面右侧区域“请选择需要调用的任务”处单击“点击创建”,如图2所示。 图2 Build构建任务配置 在“新建构建任务”页面的“基本信息”页面,自定义任务名称(以“adadss-build”为例),归属项目默认为当前服务,源码源选择“Repo”,选择对应的代码仓库(以创建好的“adadss”仓库为例)以及分支“master”,单击“下一步”。 在“构建模板”页面,选择“空白构建模板”模板,然后单击“下一步”,进入“构建步骤”的“图形化”页签,该页面的“构建环境配置”和“代码下线配置”无需配置,保持默认配置即可。 配置构建步骤“Maven构建”。 返回“构建步骤”页签,单击“点击添加构建步骤”,在右侧“添加步骤”页面搜索“Maven构建”,鼠标移至插件卡片并单击“添加”。 执行maven构建命令将业务代码打包,不同项目有所不同。 参考示例:mvn -Dassembly clean compile package -Dmaven.test.skip=true -U -T4 若某些jar包依赖不到,可将仓库地址添加在setting配置的公有依赖仓库。 配置镜像构建。 登录华为云 容器镜像服务 控制台,在左侧导航栏选择“我的镜像”,单击右上角“页面上传”,在“页面上传”对话框,创建组织(必须使用华为云账号),单击“选择镜像文件”,选择已经准备好的基础镜像tar包,单击“开始上传”,待任务进度显示“上传完成”,表示镜像文件上传成功。 基础镜像tar包仅需上传一次,后续可直接从镜像文件列表中选取。 在镜像仓库找到9.a上传的基础镜像,参照图3复制镜像地址。 图3 复制镜像地址 将9.b复制的镜像地址粘贴到Dockerfile文件中第一行FROM命令后,如图4所示。 图4 将镜像地址粘贴到Dockerfile文件中 返回华为云容器 镜像服务 控制台镜像列表中单击镜像tar包名称,进入镜像详情页面,选择“Pull/Push指南”页签,单击“操作步骤”中的“生成登录指令”。 在“登录指令”对话框中的“临时登录指令”框的指令末尾处单击,复制临时登录指令,如图5所示。 图5 复制临时登录指令 返回“构建步骤”页面,单击“添加步骤”,在右侧“添加步骤”页面搜索“执行Docker命令”,鼠标移至该插件卡片并单击“添加”。 单击“执行Docker命令”步骤,在右侧“命令”参数下单击“添加”添加docker命令,在“命令”下拉框中选择“login”,参数框中输入“-u cn-north-7@K5X8GVN5B4H4B8KB9SDO -p 1dd00acee886bd05886cded19f5af1cb1e96326e4354fc0f3f493f12a3586518 swr.cn-north-7.myhuaweicloud.com”,登录环境以便Dockerfile文件中可正常获取基础镜像。 在“操作”列单击“+”继续添加docker命令,“命令”下拉框中选择“build”,参数框中输入“-t helloworldservice:23.11.02.1 -f ./deploy_docker/Dockerfile .”,指定代码仓中的Dockerfile文件,构建镜像。 工作目录一般为根目录。 在“操作”列单击“+”继续添加docker命令,“命令”下拉框中选择“save”,参数框中输入“-o helloworldservice.23.11.02.1.tar helloworldservice:23.11.02.1”,将镜像包保存为tar包。至此,添加docker命令完成,如图6所示。 图6 执行docker命令 返回“构建步骤”页面,单击“添加步骤”,在右侧“添加步骤”页面搜索“Maven构建”,鼠标移至插件卡片并单击“添加”。执行zip命令,将tar包与业务代码中的package.json文件直接压缩成一个zip包。 参考命令:zip helloworldservice_23.11.02.1.zip helloworldservice.23.11.02.1.tar package.json 继续单击“添加步骤”,添加“上传文件到OBS”插件,在“上传文件到OBS”页面,参照表3配置相关参数。 表3 “上传文件到OBS”(业务包)步骤配置的参数说明 参数名称 参数说明 步骤显示名称 构建步骤的名称,默认为“上传文件到OBS”,保持默认或自定义修改均可。 授权用户 在下拉列表选择: 当前用户:上传到当前租户的OBS桶。 其他用户:可以通过选择IAM账号的方式上传到指定租户的OBS桶。 IAM账号 “授权用户”选择“其他用户”时需配置此参数,配置步骤如下: 单击“管理IAM账号”,进入“服务扩展点管理”页面。 单击“新建服务扩展点”,选择“IAM账户”,弹出“新建服务扩展点”对话框,填写以下参数,补充租户下用户的AK、SK即可: 连接名称:服务扩展点的名称。例如“obs权限”。 Access Key Id:访问密钥ID(AK),获取访问密钥AK/SK。 Secret Access Key:秘密访问密钥(SK),获取访问密钥AK/SK。 信息填写完成,单击“确定”。 构建产物路径 路径为10的zip包的相对路径或输入*模糊匹配(如“./DemoServiceB/*.zip”) 桶名 用户自定义构建结果上传到的目标OBS桶名。 OBS存储目录 用户自定义构建结果在OBS上的存储目录 OBS存储文件名 非必填项,构建结果在OBS上的存储文件名(不包含目录),留空时可上传多个文件,取构建产物文件名为OBS存储文件名;不为空时只能上传单个文件,如 application.jar。 是否上传文件夹 非必填项,可选择是否开启上传文件夹。 OBS头域 非必填项,上传文件时加入一个或多个自定义的响应头,当用户下载此对象或查询此对象元数据时,加入的自定义响应头会在返回消息的头域中出现。如:“键”填写成“x-frame-options”,“值”填写成“false”,即可禁止OBS中存放的网页被第三方网页嵌入。 单击右上角“新建”,配置构建任务完成。 返回5的“任务配置”页面,在“请选择需要调用的任务”下拉列表中选择12配置完成的构建任务,“仓库”下拉列表选择创建代码仓库中已创建的仓库,其他参数无需配置,保持默认即可。 单击“确定”,添加业务包构建任务完成。 单击“任务编排”页面右上角“保存”,保存流水线的任务配置。
  • 配置流水线(以添加代码检查任务为例) 在流水线的“任务编排”页面,单击或者。 单击,在“编辑阶段”页面,修改“阶段名称”为“代码检查”,并将“总是运行”设置为“否”(选择“是”,表示流水线执行时,该阶段下的任务默认选中必须执行且不可取消;选择“否”,表示流水线执行时,该阶段下的任务默认选中但可以取消。),然后单击“确定”。 在流水线的“代码检查”阶段,单击“新建任务”。 在“新建任务”页面的右侧区域,选择“代码检查”页签,搜索“CodeArtsCheck代码检查”并将鼠标移至该插件卡片,单击“添加”,将此插件添加到任务中。 在“任务配置”页面右侧区域“请选择需要调用的任务”处单击“点击创建”。 在“新建任务”页面,参照表2配置参数信息(此处以创建Repo源码源检查任务为例)。 表2 参数说明 参数项 描述 归属项目 任务所属项目。默认填写,无需设置。 代码源 选择Repo,从代码托管拉取代码进行检查。 任务名称 代码检查任务名称,可自定义。 仓库 选择需要检查的代码仓库。 分支 填写需要检查的仓库分支名称。 检查语言 选择需要检查的代码语言。 单击“新建任务”,进入“代码检查详情”页面,单击“开始检查”,即可执行代码检查任务。执行完代码检查任务后,还可以根据需要查看检查结果。 返回5的“任务配置”页面,在“请选择需要调用的任务”下拉列表中选择7配置完成的代码检查任务,“仓库”下拉列表选择创建代码仓库中已创建的仓库,其他参数无需配置,保持默认即可。 单击“确定”,添加代码检查任务完成。 单击“任务编排”页面右上角“保存”,保存流水线的任务配置。
  • 步骤二:下载代码 下载代码是AppStage集成代码托管CodeArts Repo服务的能力,基于Git的 代码托管服务 ,支持将仓库文件下载到本地进行文件的操作。该操作需要具备开发人员角色权限,权限申请方法请参见申请权限。 在开发中心左侧导航栏,选择“代码仓管理”。首次将仓库克隆/下载到本地的方式主要分为以下三种: 使用SSH协议克隆代码托管仓库到本地。 使用HTTPS协议克隆代码托管仓库到本地。 从浏览器下载代码包。
  • 步骤七:管理交付件 交付件是版本开发过程不同阶段所需或交付的必要文档,在管理交付件页面,系统内置了例如产品需求文档、升级指导书、版本配套表等交付件的模板,可下载后参考模板写作完成后再上传至版本团队进行管理和交付,保证版本开发过程阶段性成果沉淀以及过程可追溯。该操作需要具备项目经理角色权限,权限申请方法请参见申请权限。 在“交付件管理”页面的交付件列表中,在无文档的交付件所在行的“操作”列单击“创建文档”。 在“上传文档”对话框,选择“交付方式”为“离线文档”,单击“添加文件”将本地已准备好的文档进行上传(只能上传ZIP、RAR、DOCX、DOC、XLS、XLSX格式的文件,且文件大小不能超过50MB)。 单击“确定”,上传离线文档成功。 (可选)如需更新离线文档,具体操作如下: 返回“交付件管理”页面的交付件列表中,在“交付方式”为“离线文档”的交付件所在行的“操作”列单击“更新文档”。 在“更新文档”对话框中,鼠标移至已有文档所在行并单击。 在“删除文件”对话框,单击“确认”,删除旧离线文档。 单击“添加文件”,将本地已准备好的新文档进行上传。 单击“确定”,更新离线文档成功。 (可选)如需删除离线文档,具体操作如下: 返回“交付件管理”页面的交付件列表中,在“交付方式”为“离线文档”的交付件所在行的“操作”列单击“删除文档”。 在“删除文件”对话框,单击“确认”,即可删除不需要的离线文档。
  • 步骤二:创建团队 在开发中心进行服务开发前,需要组织管理员创建一个团队,将团队关联需要开发的服务。一个团队只能归属一个部门,可以关联一个或多个服务。 在开发中心工作台首页下方的“我的团队”区域,单击右侧“创建团队”。 在“创建团队”页面,设置团队相关参数,参数配置请参见表1。 表1 创建团队参数说明 参数名称 参数说明 团队名称 必填项,团队的命名。 团队归属部门 必填项,选择系统中已提前创建的部门,部门的创建方法请参见部门管理。 关联服务 必填项,选择系统中已提前创建的服务,服务创建方法请参见服务管理。 团队LOGO 必填项,单击系统默认图片上的“点击修改”,可选择本地图片自定义LOGO图片。 团队简介(可选) 非必填项,团队空间的功能描述或其他备注信息。 单击“创建”。 在“我的团队”区域可查看到创建的团队的卡片。
共100000条