华为云用户手册

  • 接收客户服务商创建的客户需求并创建Private Offer 客户服务商可以和商家联合销售,由商家创建Private Offer,双方协商分成。此场景下,由客户服务商创建客户需求,商家参考如下操作接收需求并创建Private Offer。 客户服务商提交客户需求的操作流程请参考《创建客户需求》。 客户服务商提交客户需求后,商家进入卖家中心; 单击左侧导航栏“客户需求管理”,进入客户需求管理页面,找到需要接收的客户需求,此时需求状态为“待接收”,单击操作列“接收”按钮; 需求状态变更为“需求转化中”,单击操作列的“创建需求”; 进入创建专属优惠页面,系统会自动带出用户信息和需求商品信息,核对信息后,填写优惠名称和商务折扣等必填信息; 填写完成后,点击提交即可。 如商家填写的商品折扣在免审范围内,则该商家优惠提交约10分钟后自动生效; 如商家填写的商品折扣不在免审范围内,则需等待审批完成后,商家优惠创建成功。
  • 与其它云服务的关系 云原生服务中心需要与其他云服务协同工作,云原生服务中心和其他云服务的关系如下所示: 图1 云原生服务中心和其他云服务的关系 表1 云原生服务中心和其他云服务的关系 服务名称 交互关系 主要交互功能 容器镜像服务 SWR 云原生服务中心的服务包模板和镜像存储的仓库。 云原生服务中心当前支持SWR普通仓库和企业仓库,普通仓库对服务包存储有一定配额限制,企业仓库独享无限制。 服务上传 服务查询 云容器引擎 CCE 云原生服务中心提供的服务运行于云容器引擎创建的集群和节点上。 创建服务实例(公有云场景) 分布式云原生 UCS 云原生服务中心提供的服务运行于分布式云第三方集群和节点上。 创建服务实例(第三方场景) 弹性负载均衡 ELB 服务提供外部访问地址时,依赖ELB为服务创建外部访问方式。 创建外部访问方式,支持用户通过公网访问服务提供的管理界面 应用运维管理 AOM OSC依赖AOM的日志采集能力展示服务实例的日志。 查看日志 检索日志 容器洞察引擎 CIE OSC依赖CIE的监控能力采集服务的指标。 查看监控 对象存储服务 OBS OSC依赖OBS支持生态伙伴发布商品。生态伙伴在OSC上传的服务包先存储在OBS,然后再从OBS同步到OSC。 服务发布
  • 产品优势 开箱即用 OSC联合生态伙伴提供了大量的开箱即用的云原生服务,不仅提供了数据库、消息、缓存等通用中间件,还提供了新技术领域的AI、大数据、高性能计算、边缘等应用,您可以根据业务需要订阅。 全域部署 云原生服务中心联合华为云分布式服务UCS,能够将应用部署到华为云集群、多云集群、本地集群、附着集群、伙伴集群五种场景,实现应用的跨云和全域部署。 高效开发,自动运维 容器化只是服务云原生化的第一步,服务部署之后需要治理,不仅包括监控、日志、告警等基本运维能力,还包括弹性伸缩、数据备份恢复、故障迁移、故障恢复等高级运维能力,这些能力是服务高SLA的必要条件,严重依赖云平台的能力,对开发者而言都是重复开发工作,高效快速地赋予服务这些能力是开发者面临的一个难题。OSC提供开箱即用的云原生运维能力,支持服务声明式对接,无需修改业务代码。 应用级视图 传统的运维方式应用比较原始,都聚焦在资源层级,没有应用统一视图。OSC在实例详情页面可以查看本实例状态信息、配置信息、日志、监控信息,方便用户在一个页面查看实例相关的基础信息,无需切换到不同的运维平台。 兼容社区服务规范 OSC服务规范兼容Helm和Operator Framework社区服务规范,Helm和Operator framework是Kubernetes生态中最常用的服务管理方式,很多已有的服务都是基于这两种方式开发,为了方便这些已有服务快速发布或者快速迁移到OSC,使用OSC管理,OSC的服务规范兼容Helm和Operator Framework。
  • 使用场景 用户使用华为云账号上传服务包会按照社区Open Container Initiative规范,以制品包的形式存储在容器镜像服务的用户企业仓库当中。当需要华为云账号下的多个IAM用户使用OSC私有服务时,需要使用华为云账号在控制台统一身份认证处为IAM用户配置用户组和访问SWR企业仓库的权限,保证IAM用户可以正常使用OSC私有服务。 统一身份认证服务IAM权限管理中,账号是资源归属以及计费的主体,对其拥有的资源具有所有权限。IAM用户由账号创建,只能拥有账号授予的资源使用权限,账号可以随时修改或者撤销IAM用户的使用权限,具体概念可参考统一身份认证服务IAM。
  • 操作步骤 登录OSC控制台。 在控制台右上角的用户名下拉菜单中选择“统一身份认证”。 在左侧导航栏选择“用户组”,单击“创建用户组”。 输入用户组名称及描述,单击“确定”。 在用户组对应操作列单击“用户组管理”,勾选需要使用OSC私有服务的IAM子用户,单击“确定”。 在用户组对应操作列单击“授权”,在搜索框中输入“Tenant Administrator”,勾选权限,单击“下一步”。 选择授权范围,单击“确定”。 返回“用户组”界面确认IAM子用户列表及授权符合预期即配置成功。 配置完成后,即可到OSC私有服务界面进行私有服务管理。
  • 操作步骤 登录OSC控制台。 在控制台右上角的用户名下拉菜单中选择“云容器引擎”。 在左侧导航栏中选择“集群管理”,选择用户当前使用的集群,单击集群名称进入集群控制台。 在左侧导航栏选择“节点管理”,选择“节点”页签,选择节点,找到IP地址栏中标有弹性公网的ip节点地址。 登录上节点后台,登录节点密码为用户购买节点时填写的密码。 找到当前删除失败的实例,在后台执行删除finalizer的操作, 下面以grafana-n8avo0为例进行说明,如下图所示为服务删除失败的实例。 在步骤4获取的弹性公网节点上,执行查找当前资源的命令,资源类型统一为HelmRelease, 资源名称为grafana-n8avo0为例进行说明。 删除掉如下红框中的两行,并且执行wq!保存返回。 此时再去OSC前端页面服务实例页签下执行删除实例操作,实例便能被删除掉了。
  • 使用场景 用户在OSC平台上架了一个服务,并且成功发布服务以及通过服务安装了一个服务实例,然后用户在集群控制节点上手动删除了服务Operator CR,后续用户在OSC服务实例页面想要删除服务实例时,发现实例删除报错,报错信息“timeout to handle resource instance, status Deleting, last error: waiting for recycling cr for instance xxx,check for next loop”。服务实例删除需要服务operator对应的deployment组件进行处理,手动删除服务Operator CR之后,会导致进行实例删除的服务operator deployment被自动清理回收掉,因此实例删除不掉。
  • 使用场景 用户在云原生服务中心订阅服务或者上传私有服务后并部署实例,云原生服务中心会自动安装服务插件,用户在后台进行kubectl命令操作时误删除了oc-operator的deployment,导致后续无法继续安装云原生服务。 oc-operator服务是云原生服务中心用于安装operator或者helm等服务的插件,其负责对应服务的生命周期管理如安装、升级、删除等操作,因此建议用户不要在后端手动删除或修改oc-operator的pod或者deployment类型资源。
  • 单租户下如何使用IAM系统策略对各IAM子用户进行细粒度权限划分 当华为云租户需要对各IAM用户进行细粒度权限控制时,要使用到IAM策略。关于策略的详细介绍参见IAM权限管理文档。OSC作为UCS的子服务,其细粒度权限的划分包括UCS FullAccess和UCS ReadOnlyAccess两个系统策略。 其中UCS FullAccess系统策略包含OSC所有接口的使用权限,UCS ReadOnlyAccess系统策略包含OSC所有Read、List接口的使用权限。授予子用户某个系统策略的操作步骤与单租户下多IAM用户使用企业仓库场景如何配置权限?的操作步骤相同,只需在6勾选两个系统策略之一即可: 需要注意的是, UCS FullAccess、UCS ReadOnlyAccess权限与CCE集群中Kubernetes资源权限相互独立。所以在涉及到CCE集群中资源的操作(如创建服务实例、查询服务实例)中,需要前往CCE管理页面进行单独授权。一般情况下,参见CCE授予集群全部权限文档进行权限授予即可。 另外,出于用户数据安全的考虑,UCS FullAccess系统策略中默认不包含OBS和SWR权限的授予。所以对于ISV账户,如果其管理的某个IAM子用户需要进行商品发布的操作,除UCS FullAccess之外,还需要额外给该子用户授予OBS Administrator系统策略。 如果其管理的某个IAM子用户需要使用容器镜像仓库(普通版,非企业版)进行私有服务的上传操作,除UCS FullAccess之外,还需要前往容器镜像服务-组织管理页面,为该子用户添加osc组织的管理权限: 父主题: 权限配置
  • 使用场景 在CCE云容器引擎页面,由于用户误删了服务Operator以及oc-operator的Deployment相关资源,此时在OSC服务实例页面删除服务实例时,实例删除失败,报错信息“timeout to handle resource instance, status Deleting, last error: waiting for recycling cr for instance xxx,check for next loop”。以grafana服务实例为例,用户在CCE页面误删了oc-operator和helm-operator Deployment资源。 然后在OSC服务实例页面,服务实例删除失败。
  • 操作步骤 上传服务包为helm服务包格式,需要在Chart.yaml文件中增加维护者信息,具体配置如下所示,参考更多。 version: A SemVer 2 version (required) kubeVersion: A SemVer range of compatible Kubernetes versions (optional) description: A single-sentence description of this project (optional) type: The type of the chart (optional) keywords: - A list of keywords about this project (optional) home: The URL of this projects home page (optional) sources: - A list of URLs to source code for this project (optional) dependencies: # A list of the chart requirements (optional) - name: The name of the chart (nginx) version: The version of the chart ("1.2.3") repository: (optional) The repository URL ("https://example.com/charts") or alias ("@repo-name") condition: (optional) A yaml path that resolves to a boolean, used for enabling/disabling charts (e.g. subchart1.enabled ) tags: # (optional) - Tags can be used to group charts for enabling/disabling together import-values: # (optional) - ImportValues holds the mapping of source values to parent key to be imported. Each item can be a string or pair of child/parent sublist items. alias: (optional) Alias to be used for the chart. Useful when you have to add the same chart multiple times maintainers: # (optional) - name: The maintainers name (required for each maintainer) email: The maintainers email (optional for each maintainer) url: A URL for the maintainer (optional for each maintainer) icon: A URL to an SVG or PNG image to be used as an icon (optional). appVersion: The version of the app that this contains (optional). Needn't be SemVer. Quotes recommended. deprecated: Whether this chart is deprecated (optional, boolean) annotations: example: A list of annotations keyed by name (optional). 上传的服务包为operator-framework格式,则需要在xxx.clusterserviceversion.yaml文件中进行增加相关配置。 apiVersion: operators.coreos.com/v1alpha1 kind: ClusterServiceVersion metadata: name: xxx.v1.0.0 namespace: placeholder spec: provider: name: 'xxx.' url: 'xxxx' maintainers: - name: 'xxxx' email: xxx@xxx.com 上传的服务包为OSC规范格式,则需要在metadata.yaml文件中进行增加相关配置字段。 provider: name: 'xxx.' url: 'xxxx' maintainers: - name: 'xxxx' email: xxx@xxx.com
  • 操作步骤 登录kubernetes集群后台节点,确保节点可以正常执行kubectl命令。 执行如下命令,查询插件crd资源,找到待删除的crd资源。 kubectl get crd kubectl get crd |grep {crd_name} 以redis服务为例: [root@osc-auto-test ~]# kubectl get crd |grep redis redises.redis.osc 2022-08-02T02:34:30Z 执行如下命令,删除插件crd资源。 kubectl delete crd {resource_name} [root@osc-auto-test ~]# kubectl delete crd redises.redis.osc
  • 使用场景 用户在云原生服务中心中部署Operator类型或Helm类型服务包时,可能因为在部署前刚删除同名服务包后立即部署,导致Kubernetes集群正在处理删除中的组件。因为新部署的服务或服务实例与Kubernetes待删除的组件是同名的,所以可能产生云原生服务中心界面显示部署成功(因为Kubernetes队列正在处理,可以从集群中查到该同名资源),但是实际集群中没有该资源或者服务实例(Kubernetes队列将其删除)。所以在集群自身机制的时间差内,可能产生云原生服务中心界面显示该服务实例状态为运行中,但是实际集群中并不存在该服务实例。 此类情况发生在工作负载过多,并且网络之间通信不稳定的场景下。
  • 操作步骤 登录kubernetes集群后台节点,确保节点可以正常执行kubectl命令。 执行如下命令,查询OSC插件部署helm资源。 kubectl get secret -nosc-oc 执行如下命令,删除OSC服务插件secret资源。 kubectl delete secret -nosc-oc sh.helm.release.v1.{cceaddon}-operator-chef.{v1} 执行如下命令,删除插件configmap资源。 kubectl delete configmap -nosc-oc crd-dependency 执行如下命令,删除ServiceAccount资源。 kubectl delete ServiceAccount -nosc-oc oc-operator-serviceaccount 执行如下命令,删除ClusterRole资源。 kubectl delete ClusterRole aggregate-oc-edit aggregate-oc-view system:controller:operator-chef 执行如下命令,删除ClusterRoleBinding资源。 kubectl delete ClusterRoleBinding oc-operator-role-binding 执行如下命令,删除插件crd资源。 kubectl delete crd bundles.osc.huaweicloud.com kubectl delete crd operators.osc.huaweicloud.com
  • 密钥管理 表1 密钥管理 功能 服务内容 密钥全生命周期管理 创建、查看、启用、禁用、计划删除、取消删除自定义密钥 修改自定义密钥的别名和描述 用户自带密钥 导入密钥、删除密钥材料 小数据加解密 在线工具加解密小数据 签名验签 消息或消息摘要的签名、签名验证 说明: 仅支持通过API调用。 密钥标签 添加、搜索、编辑、删除标签 密钥轮换 开启、修改、关闭密钥轮换周期 密钥授权 创建、撤销、查询授权 退役授权 说明: 仅支持通过API调用。 密钥区域性 跨区域创建副本密钥 云服务加密 对象存储服务OBS加密 云硬盘服务EVS加密 镜像服务IMS加密 弹性文件服务SFS加密(SFS文件系统加密) 弹性文件服务SFS加密(SFS Turbo文件系统加密) 云数据库RDS(MySQL、PostgreSQL、SQL Server引擎)加密 文档数据库服务DDS加密 数据仓库服务DWS加密 数据加密密钥管理 创建、加密、解密数据加密密钥 说明: 仅支持通过API调用。 生成硬件真随机数 生成512bit的随机数,为加密系统提供基于硬件真随机数的密钥材料和加密参数 说明: 仅支持通过API调用。 消息认证码 生成、验证消息认证码 说明: 仅支持通过API调用。 密钥库管理 创建、禁用、删除密钥库
  • 修订记录 发布日期 修改说明 2024-01-08 第三十三次正式发布。 新增常见问题密钥管理服务支持离线加解密数据吗? 2023-11-30 第三十二次正式发布。 新增常见问题副本密钥如何收费? 新增常见问题如何使用非对称密钥对公钥对签名结果进行验签? 新增常见问题外部导入的密钥支持轮转吗? 新增常见问题为什么配置了数据加密服务的权限没有立即生效? 2023-08-04 第三十次正式发布。 新增常见问题3.3.2-哪些区域支持KPS配额管理? 2023-07-10 第二十九次正式发布。 新增常见问题账号密钥首次创建、首次升级时系统报错如何处理? 新增常见问题如何开通公网访问专属加密实例? 2023-06-30 第二十八次正式发布。 修改绑定密钥对失败如何处理?替换密钥对失败如何处理?重置密钥对失败如何处理?解绑密钥对失败如何处理?章节,补充可能执行失败原因为弹性云服务器设置了防火墙规则。 2023-03-21 第二十七次正式发布。 新增常见问题进行SM2签名时,如何计算SM3摘要? 新增常见问题调用encrypt-data接口,返回的密文和明文有什么关系? 删除 常见问题为什么“北京四”区域的密钥产生了费用? 2023-01-01 第二十六次正式发布。 新增 常见问题为什么“北京四”区域的密钥产生了费用?弹性云服务器设置了防火墙规则 2022-10-28 第二十五次正式发布。 修改如何修补OpenSSL以使用-id-aes256-wrap-pad包装非对称密钥?章节,优化修补命令。 2022-09-14 第二十四次正式发布。 新增常见问题加密机是否支持明文通信?。 2022-08-26 第二十三次正式发布。 新增常见问题为什么凭据版本状态不能删除?。 新增常见问题计划删除的凭据是否还计费?。 2022-08-18 第二十二次正式发布。 新增常见问题什么是私有密钥对和账号密钥对?。 2022-08-10 第二十一次正式发布。 新增常见问题请求KMS异常,错误码401,应该如何处理?。 2021-10-26 第二十次正式发布。 修改计费类章节,优化计费描述。 2021-09-02 第十九次正式发布。 优化“密钥对管理类”章节。 新增常见问题如何修补OpenSSL以使用-id-aes256-wrap-pad包装非对称密钥? 新增常见问题如何修补GmSSL以使用-sms4-wrap-pad包装非对称密钥? 2020-12-17 第十八次正式发布。 修改常见问题如何获取身份识别卡(Ukey)?。 2020-08-19 第十七次正式发布。 修改常见问题密钥对是否支持多用户共享?。 2020-04-17 第十六次正式发布。 新增常见问题数据加密服务支持通过哪些方式进行使用?。 2020-03-10 第十五次正式发布。 新增以下常见问题: 默认密钥如何生成? 密钥对在创建主机成功之后可以更改吗? 密钥对是否支持多用户共享? 如何获取密钥对的私钥或公钥文件? 专属加密采用的是什么云加密机? 专属加密是否支持切换密码机? 专属加密的设备是哪个厂商的? 专属加密支持哪些接口? 数据加密服务是否可跨账号使用? 2020-01-14 第十四次正式发布。 新增常见问题替换密钥对后,服务器需要重启吗?。 2019-09-26 第十三次正式发布。 修改常见问题什么是区域和可用区?。 2019-08-26 第十二次正式发布。 新增常见问题什么是区域和可用区?。 2019-07-12 第十一次正式发布。 新增以下常见问题: 如何为数据加密服务续费? 如何退订数据加密服务? 2019-05-27 第十次正式发布。 新增以下常见问题: 计划删除的密钥是否还计费? 绑定密钥对失败如何处理? 替换密钥对失败如何处理? 重置密钥对失败如何处理? 解绑密钥对失败如何处理? 私钥不慎遗失怎么办? 如何转换私钥文件格式? DEW采用的是什么加解密算法? 删除以下常见问题: 重置、替换、解绑或者绑定密钥对需要满足的条件? 对ECS进行密钥对的绑定、重置或者替换操作时,失败怎么处理? 如何将“.ppk”格式的私钥文件转化为“.pem”格式? 哪些区域提供DEW服务? 2019-03-06 第九次正式发布。 新增常见问题什么是配额?。 2018-09-18 第八次正式发布。 新增以下常见问题: 什么是专属加密? 如何获取身份识别卡(Ukey)? 专属加密如何保障密钥生成的安全性? 机房管理员是否有超级管理权限,在机房插入特权Ukey窃取信息? 2018-05-17 第七次正式发布。 新增以下常见问题: 重置、替换、绑定或者解绑密钥对需要满足的条件? 解绑密钥对后,如果没有密码和密钥对登录ECS,该如何处理? 如何将“.ppk”格式的私钥文件转化为“.pem”格式? 2018-04-30 第六次正式发布。 新增常见问题:什么默认主密钥? 2018-04-12 第五次正式发布。 新增以下常见问题: 绑定密钥对后,如何重新开启密码方式登录? 对ECS进行密钥对的绑定、重置或者替换操作时,失败怎么处理? 2018-03-30 第四次正式发布。 新增以下常见问题: 如果用户主密钥被彻底删除,用户数据是否还可以解密? 如何创建密钥对? 导入通过PuTTYgen工具创建的密钥对失败如何处理? 使用IE9浏览器无法导入密钥对,该如何处理? 是否可以更新KMS管理的密钥? 如何使用SSH密钥对方式登录Linux弹性云服务器? 如何通过SSH密钥对的私钥文件获取Windows弹性云服务器的登录密钥? 2018-02-01 第三次正式发布。 新增“如果用户主密钥被彻底删除,用户数据是否还可以解密?”。 2017-11-16 第二次正式发布。 新增以下常见问题: KMS提供了哪些功能? 华为云服务如何使用KMS加密数据? 信封加密方式有什么优势? 自定义密钥与默认密钥有什么区别? 在KMS中创建的自定义密钥的个数是否有限制? KMS中创建的用户主密钥长度是多少? 是否可以从KMS中导出用户主密钥? 2016-08-25 第一次正式发布。
  • 资源配置 一条Workflow中有不止一个节点可以进行资源的配置,当前支持对不同节点配置不同的规格。所消耗的资源与训练作业/在线推理的费用一致。只有在节点运行时才会产生消耗费用,当节点未运行或等待操作的过程中均不消耗。训练资源规格配置,默认使用公共资源池。 图1 资源配置 当您需要使用专属资源池时,将“是否使用专属资源池”的开关打开即可。 推理资源规格配置: 工作流运行到服务部署节点时,需要手动输入推理的资源规格: 待工作流运行至服务部署节点,状态为“等待输入”。 在“输入”区域选择推理需要使用到的资源规格。 完成后选择“继续运行”。 图2 输入配置 计算节点规格:华北-北京四可支持限时免费的规格,但每个用户只限创建一个基于此免费规格的实例。其余规格均按需计费,使用完之后请及时停止Workflow,避免产生不必要的费用。 如果您购买了套餐包,计算节点规格可选择您的套餐包,同时在“配置费用”页签还可查看您的套餐包余量以及超出部分的计费方式,请您务必关注,避免造成不必要的资源浪费。 父主题: 配置Workflow
  • 编写Workflow 基于图像分类算法,构建包含训练单节点的Workflow。 确保安装开发环境完成后,在ModelArts的Notebook环境中,通过JupyterLab输入如下示例代码。 from modelarts import workflow as wf # 定义统一存储对象管理输出目录 output_storage = wf.data.OutputStorage(name="output_storage", description="输出目录统一配置") # 数据集对象 dataset = wf.data.DatasetPlaceholder(name="input_data") # 创建训练作业 job_step = wf.steps.JobStep( name="training_job", title="图像分类训练", algorithm=wf.AIGalleryAlgorithm( subscription_id="***", # 图像分类算法的订阅ID,自行前往算法管理页面进行查看,可选参数,此处以订阅算法举例 item_version_id="1.0.1", # 订阅算法的版本号,该示例为1.0.1版本,可选参数,此处以订阅算法举例 parameters=[ wf.AlgorithmParameters(name="task_type", value="image_classification_v2"), wf.AlgorithmParameters(name="model_name", value="resnet_v1_50"), wf.AlgorithmParameters(name="do_train", value="True"), wf.AlgorithmParameters(name="do_eval_along_train", value="True"), wf.AlgorithmParameters(name="variable_update", value="horovod"), wf.AlgorithmParameters(name="learning_rate_strategy", value="0.002"), wf.AlgorithmParameters(name="batch_size", value="64"), wf.AlgorithmParameters(name="eval_batch_size", value="64"), wf.AlgorithmParameters(name="evaluate_every_n_epochs", value="1.0"), wf.AlgorithmParameters(name="save_model_secs", value="60"), wf.AlgorithmParameters(name="save_summary_steps", value="10"), wf.AlgorithmParameters(name="log_every_n_steps", value="10"), wf.AlgorithmParameters(name="do_data_cleaning", value="True"), wf.AlgorithmParameters(name="use_fp16", value="True"), wf.AlgorithmParameters(name="xla_compile", value="True"), wf.AlgorithmParameters(name="data_format", value="NCHW"), wf.AlgorithmParameters(name="best_model", value="True"), wf.AlgorithmParameters(name="jpeg_preprocess", value="True"), wf.AlgorithmParameters(name="do_model_analysis", value="True"), wf.AlgorithmParameters(name="wf_metric_log", value="True"), ] ), inputs=[wf.steps.JobInput(name="data_url", data=dataset)], outputs=[wf.steps.JobOutput(name="train_url", obs_config=wf.data.OBSOutputConfig(obs_path=output_storage.join("/train_output/")))], spec=wf.steps.JobSpec( resource=wf.steps.JobResource( flavor=wf.Placeholder( name="training_flavor", placeholder_type=wf.PlaceholderType.JSON, description="训练资源规格" ) ) ) ) # 构建工作流对象 workflow = wf.Workflow( name="image-classification-ResNeSt", desc="this is a image classification workflow", steps=[job_step], storages=[output_storage] ) # 工作流默认创建在default工作空间下,可以通过以下方式指定工作流归属的空间 # workflow = wf.Workflow( # name="image-classification-ResNeSt", # desc="this is a image classification workflow", # steps=[job_step], # storages=[output_storage], # workspace=wf.resource.Workspace(workspace_id="***") # ) # 其中workspace_id可前往ModelArts的工作空间服务中进行查看 上述代码示例在云上Notebook环境中可直接调试运行,如果需要在本地IDE中使用,则需要补充相关的session鉴权内容,代码示例修改如下: from modelarts import workflow as wf from modelarts.session import Session # 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; # 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 __AK = os.environ["HUAWEICLOUD_SDK_AK"] __SK = os.environ["HUAWEICLOUD_SDK_SK"] # 如果进行了加密还需要进行解密操作 session = Session(access_key=__AK, secret_key=__SK, project_id='***', region_name='***') # 根据账号的相关信息进行修改 # 定义统一存储对象管理输出目录 output_storage = wf.data.OutputStorage(name="output_storage", description="输出目录统一配置") # 数据集对象 dataset = wf.data.DatasetPlaceholder(name="input_data") # 创建训练作业 job_step = wf.steps.JobStep( name="training_job", title="图像分类训练", algorithm=wf.AIGalleryAlgorithm( subscription_id="***", # 图像分类算法的订阅ID,自行前往算法管理页面进行查看 item_version_id="10.0.0", # 订阅算法的版本号,该示例为10.0.0版本 parameters=[ wf.AlgorithmParameters(name="task_type", value="image_classification_v2"), wf.AlgorithmParameters(name="model_name", value="resnet_v1_50"), wf.AlgorithmParameters(name="do_train", value="True"), wf.AlgorithmParameters(name="do_eval_along_train", value="True"), wf.AlgorithmParameters(name="variable_update", value="horovod"), wf.AlgorithmParameters(name="learning_rate_strategy", value=wf.Placeholder(name="learning_rate_strategy", placeholder_type=wf.PlaceholderType.STR, default="0.002", description="训练的学习率策略(10:0.001,20:0.0001代表0-10个epoch学习率0.001,10-20epoch学习率0.0001),如果不指定epoch, 会根据验证精度情况自动调整学习率,并当精度没有明显提升时,训练停止")), wf.AlgorithmParameters(name="batch_size", value=wf.Placeholder(name="batch_size", placeholder_type=wf.PlaceholderType.INT, default=64, description="每步训练的图片数量(单卡)")), wf.AlgorithmParameters(name="eval_batch_size", value=wf.Placeholder(name="eval_batch_size", placeholder_type=wf.PlaceholderType.INT, default=64, description="每步验证的图片数量(单卡)")), wf.AlgorithmParameters(name="evaluate_every_n_epochs", value=wf.Placeholder(name="evaluate_every_n_epochs", placeholder_type=wf.PlaceholderType.FLOAT, default=1.0, description="每训练n个epoch做一次验证")), wf.AlgorithmParameters(name="save_model_secs", value=wf.Placeholder(name="save_model_secs", placeholder_type=wf.PlaceholderType.INT, default=60, description="保存模型的频率(单位:s)")), wf.AlgorithmParameters(name="save_summary_steps", value=wf.Placeholder(name="save_summary_steps", placeholder_type=wf.PlaceholderType.INT, default=10, description="保存summary的频率(单位:步)")), wf.AlgorithmParameters(name="log_every_n_steps", value=wf.Placeholder(name="log_every_n_steps", placeholder_type=wf.PlaceholderType.INT, default=10, description="打印日志的频率(单位:步)")), wf.AlgorithmParameters(name="do_data_cleaning", value=wf.Placeholder(name="do_data_cleaning", placeholder_type=wf.PlaceholderType.STR, default="True", description="是否进行数据清洗, 数据格式异常会导致训练失败,建议开启,保证训练稳定性。数据量过大时,数据清洗可能耗时较久,可自行线下清洗(支持BMP.JPEG,PNG格式, RGB三通道)。建议用JPEG格式数据")), wf.AlgorithmParameters(name="use_fp16", value=wf.Placeholder(name="use_fp16", placeholder_type=wf.PlaceholderType.STR, default="True", description="是否使用混合精度, 混合精度可以加速训练,但是可能会造成一点精度损失,如果对精度无极严格的要求,建议开启")), wf.AlgorithmParameters(name="xla_compile", value=wf.Placeholder(name="xla_compile", placeholder_type=wf.PlaceholderType.STR, default="True", description="是否开启xla编译,加速训练,默认启用")), wf.AlgorithmParameters(name="data_format", value=wf.Placeholder(name="data_format", placeholder_type=wf.PlaceholderType.ENUM, default="NCHW", enum_list=["NCHW", "NHWC"], description="输入数据类型,NHWC表示channel在最后,NCHW表channel在最前,默认值NCHW(速度有提升)")), wf.AlgorithmParameters(name="best_model", value=wf.Placeholder(name="best_model", placeholder_type=wf.PlaceholderType.STR, default="True", description="是否在训练过程中保存并使用精度最高的模型,而不是最新的模型。默认值True,保存最优模型。在一定误差范围内,最优模型会保存最新的高精度模型")), wf.AlgorithmParameters(name="jpeg_preprocess", value=wf.Placeholder(name="jpeg_preprocess", placeholder_type=wf.PlaceholderType.STR, default="True", description="是否使用jpeg预处理加速算子(仅支持jpeg格式数据),可加速数据读取,提升性能,默认启用。如果数据格式不是jpeg格式,开启数据清洗功能即可使用")) ] ), inputs=[wf.steps.JobInput(name="data_url", data=dataset)], outputs=[wf.steps.JobOutput(name="train_url", obs_config=wf.data.OBSOutputConfig(obs_path=output_storage.join("/train_output/")))], spec=wf.steps.JobSpec( resource=wf.steps.JobResource( flavor=wf.Placeholder( name="training_flavor", placeholder_type=wf.PlaceholderType.JSON, description="训练资源规格" ) ) ) ) # 构建工作流对象 workflow = wf.Workflow( name="image-classification-ResNeSt", desc="this is a image classification workflow", steps=[job_step], session=session, # 补充鉴权对象 storages=[output_storage] ) # 工作流默认创建在default工作空间下,可以通过以下方式指定工作流归属的空间 # workflow = wf.Workflow( # name="image-classification-ResNeSt", # desc="this is a image classification workflow", # steps=[job_step], # session=session, # 补充鉴权对象 # storages=[output_storage], # workspace=wf.resource.Workspace(workspace_id="***") # ) # 其中workspace_id可前往ModelArts页面的工作空间服务中进行查看 父主题: 开发第一条Workflow
  • 订阅工作流 登录ModelArts管理控制台,左侧菜单栏选择“Workflow”,进入Workflow详情页。 在详情页的Workflow列表区域,单击“前往AI Gallery订阅”。 搜索“图像分类-ResNet_v1_50工作流”,单击“订阅”,勾选“我已同意《数据安全与隐私风险承担条款》和《华为云AI Gallery服务协议》”,单击“继续订阅”即可完成工作流的订阅。订阅过的工作流会显示“已订阅”。
  • 查找 在Workflow列表页,您可以通过搜索框,根据工作流的属性类型快速搜索过滤到相应的工作流,可节省您的时间。 登录ModelArts管理控制台,在左侧导航栏选择Workflow,进入Workflow总览页面。 在工作流列表上方的搜索框中,根据您需要的属性类型,例如:名称、状态、当前节点、启动时间、运行时长或标签等,过滤出相应的工作流。 单击搜索框右侧的按钮,可设置Workfklow列表页需要展示的内容和展示效果。 表格内容折行:默认为关闭状态。启用此功能可以让Workfklow列表页中的内容在显示时自动换行。禁用此功能可截断文本,Workfklow列表页中仅显示部分内容。 操作列:默认为开启状态,启用此能力可让操作列固定在最后一列永久可见。 自定义显示列:默认所有显示项全部勾选,您可以根据实际需要定义您的显示列。 图1 设置 设置完成后,单击“确定”即可。 同时可支持对Workflow显示列进行排序,单击表头中的箭头,就可对该列进行排序。
  • 停止 可以通过“停止”按钮,主动停止正在运行的工作流,有两种操作方式: 工作流列表页: 当工作流处于“运行中”时,操作栏会出现“停止”按钮。单击“停止”,出现停止Workflow询问弹窗,单击“确定”。 进入某条运行中的工作流,单击右上角的“停止”按钮,出现停止Workflow询问弹窗,单击确定。 只有处于“运行中”状态的工作流,才会出现“停止”按钮。 停止Workflow后,关联的训练作业和在线服务也会停止。
  • 启动 当工作流当前状态为非运行态时,可以通过单击“启动”按钮运行工作流,有3种操作方式。 工作流列表页:单击操作栏的“启动”按钮,出现启动Workflow询问弹窗,单击“确定”。 工作流运行页面:单击右上角的“启动”按钮,出现启动Workflow询问弹窗,单击“确定”。 工作流参数配置页面:单击右上角的“启动”按钮,出现启动Workflow询问弹窗,单击“确定”。 启动Workflow后,运行过程中将会按需收费,请关注实例状态,完成后的工作流请及时停止,避免产生不必要的费用。
  • 模板约束与限制 使用RFS服务进行模板部署,模板文件内容具有如下约束与限制: 不能使用Provisioners功能和Backend Configuration功能。 可以使用Module Sources功能,但仅支持Local Modules。 可以使用HuaweiCloud Provider,但Provider内部分资源禁止使用。具体清单列举如下: huaweicloud_vod_watermark_template huaweicloud_compute_keypair huaweicloud_identity_access_key huaweicloud_images_image_v2 huaweicloud_kps_keypair huaweicloud_obs_bucket_object huaweicloud_iotda_batchtask huaweicloud_cce_chart huaweicloud_iotda_batchtask_file 部分函数禁止使用。具体清单列举如下: abspath basename dirname file filebase64 filebase64sha256 filebase64sha512 fileexists fileset filemd5 filesha1 filesha256 filesha512 pathexpand templatefile 父主题: 资源编排
  • 创建执行计划 步骤:进入资源栈列表页面,单击资源栈名称进入资源栈详情,单击页面右上角的“更新模板或参数”进入创建执行计划页面如图1: 图1 创建执行计划页面 后续步骤和创建资源栈一致,除了一个区别是,您需要单击创建执行计划,而不是单击直接部署资源栈。 单击“创建执行计划”后 资源栈不会直接部署,而是创建执行计划,创建多个计划生成以后会在同一个资源栈下展示多个执行计划。如图2: 图2 执行计划列表 对于生成执行计划成功的,单击对应执行计划后面的“部署”进而部署“执行计划”。 对于不需要的执行计划,可以单击操作列删除,当页面弹出删除执行计划确认框后,单击“确定”即可删除。如图3: 图3 删除执行计划 父主题: 入门
  • 资源栈详情 资源栈详情 资源栈详情中主要包括六个功能模块如下(此处用上面创建好的,资源栈名称为“stack_20221206_0933_uiyn”的资源栈举例说明): 基本信息:展示资源栈的基本信息如基本信息: 图1 基本信息 资源:指的是“执行计划执行中生成的云服务的信息”,资源栈部署中生成的资源可在此页查看,如图2: 图2 资源 事件:事件指的是执行的过程中和部署资源栈过程中产生的日志信息,事件会根据资源栈正在执行的状态进行实时刷新,如图3显示三个资源最终均被创建成功: 图3 事件 输出:当模板内容中有输出的参数时,输出的数据会显示在本页,如图4: 图4 输出 模板:模板中展示创建资源栈时所用到的模板内容如图5: 图5 模板 执行计划:执行计划列表中可以展示不同的执行计划,执行计划生成结束后需要单击“部署”,模板中的资源才可以创建成功,执行成功后执行计划的状态从“创建成功,待部署”更新为“已执行部署”,“部署”按钮消失。如图 执行计划: 图6 执行计划 单击对应的执行计划的名称可看见执行计划详情页面如图7: 图7 执行计划详情 父主题: 入门
  • 创建资源栈 进入资源栈列表页面单击页面右上角的“创建资源栈”,进入创建资源栈页面 如图1 图1 创建资源栈 步骤:可使用已有模板或者可视化编辑器进行操作此处使用模板进行资源栈的创建,设计器使用见可视化编辑器。 选择模板: 此处有三种方式可以选择模板,一是通过Obs模板的URL指定模板,二是选择上传本地文件,如图2: 图2 创建资源栈-选择模板 此处以上传模板为例,上传一个在本地已经存在的模板 文件名为"ecs_test.tf.json",模板内容如下: { "terraform": { "required_providers": { "huaweicloud": { "source": "huawei.com/provider/huaweicloud", "version": "1.41.0" } } }, "provider": { "huaweicloud": { "cloud": "myhuaweicloud.com", "endpoints": { "iam":"iam.cn-north-4.myhuaweicloud.com" }, "insecure": true, "region": "cn-north-4", "auth_url": "https://iam.cn-north-4.myhuaweicloud.com:31943/v3" } }, "variable": { "vpc_name": { "type": "string", "description": "vpc name", "default": "rf_teststack_vpc", "sensitive": true, "nullable": false }, "subnet_name": { "type": "string", "description": "subnet name", "default": "rf_teststack_subnet" }, "ecs_name": { "type": "string", "description": "ecs name", "default": "rf_teststack_ecs" }, "ecs_admin_passwd": { "type": "string", "description": "ecs passwd" } }, "resource": { "huaweicloud_vpc": { "rf_doc_vpc": { "name": "${var.vpc_name}", "cidr": "192.168.0.0/16" } }, "huaweicloud_vpc_subnet": { "rf_doc_subnet": { "name": "${var.subnet_name}", "vpc_id": "${huaweicloud_vpc.rf_doc_vpc.id}", "cidr": "192.168.1.0/24", "gateway_ip": "192.168.1.1" } }, "huaweicloud_compute_instance": { "rf_doc_ecs": { "name": "${var.ecs_name}", "flavor_id": "c7.large.2", "admin_pass": "${var.ecs_admin_passwd}", "image_id": "cecc4bcf-b055-4d35-bd5f-693d4412eaef", "network": { "uuid": "${huaweicloud_vpc_subnet.rf_doc_subnet.id}" }, "system_disk_type": "SAS", "system_disk_size": 100, "stop_before_destroy": false, "delete_disks_on_termination": true, "charging_mode": "postPaid", "auto_renew": false } } }, "output": { "ecs_address": { "value": "${huaweicloud_compute_instance.rf_doc_ecs.access_ip_v4}", "description": "The ecs private address." }, "ecs_id": { "value": "${huaweicloud_compute_instance.rf_doc_ecs.id}", "description": "The ecs resource id." } } } 示例模板中包含收费资源,请用户使用前确认是否需要开通该资源。 模板详解:主要分为五个部分: 虚拟私有云VPC,“resource”中“huaweicloud_vpc”为VPC创建信息。 在VPC中定义一个子网,子网是VPC的IP地址范围内的一个区段, “resource”中“huaweicloud_vpc_subnet”为子网创建信息。 在模板中定义弹性云服务器ECS,“resource”中“huaweicloud_compute_instance”为ECS创建信息。 “variable”中定义了参数,用户可以在创建和部署时将自定义参数值输入模板来指定自定义的内容。 “output”中定义了模板的输出,在资源栈创建完成后会按照定义生成输出,在输出页会展示输出的信息。 配置参数 选择好模板以后单击“下一步”,来到配置参数页面,在此页面中,您可以修改资源栈名称和资源栈描述,如图3: 资源栈名称: 资源栈名称以中文或英文开始,支持中文、大小写英文、数字、下划线、中划线,128个字符之内。 资源栈名称不能重名。 资源栈描述: 由任意字符组成, 字符数量需要控制在1024个字符之内。 图3 创建资源栈-配置参数 配置参数的填写,如果参数名称之前有红色“*”标记则为必填参数,所有必填参数填写完毕,满足设定规则。 如果存在不满足配置规则的参数如:图4,值所在列会出现红框标记,此时单击下一步不会出现页面跳转 图4 创建资源栈-不满足条件展示 配置成功后可以单击“下一步”进入资源栈设置页面。 如果资源栈名称或资源栈描述为地址栏URL传入,如存在特殊字符, 特殊字符需符合http的规则转义之后传入;如图5: test&123 应为 test%26123 (注: 资源栈名称及描述的校验规则与手动输入一致) 图5 资源栈描述为地址栏URL传入示例 另外需要到对应服务控制台确认在此页面默认的VPC、子网和ECS的名称是否已经有同名的资源实例存在,如果存在则需要更改名称,防止创建失败。 资源栈设置 配置好参数以后单击下一步来到“高级配置”页面,如图6: 图6 创建资源栈-资源栈设置 *必选项: IAM权限委托:选择权限委托可明确定义RFS服务在资源栈上可执行的所有操作(如创建、更新、删除资源栈等),如果委托权限不足,有可能导致后续操作失败。 非必选项: 单击“删除保护”按钮,可以防止资源栈被意外删除,创建后可单击资源栈操作列的更新按钮更新; 单击“回滚设置”按钮,会切换回滚设置的开关状态,开启回滚表示操作失败时,会自动回滚至系统所保存的上一个成功的资源状态。 配置完毕后可以单击“下一步”进入确认配置页面。 确认配置 此时有两种途径可以操作,分别是单击“创建执行计划”和“直接部署资源栈”: 单击“直接部署资源栈”,出现弹框确认 图7 直接部署资源栈 单击“确定”会发现有新的资源栈生成,状态为“正在部署”,如图8: 图8 正在部署 稍后,状态更新为“部署成功”,如图9: 图9 部署成功 单击“创建执行计划”,页面弹出创建执行计划弹出框,您可以借此设置执行计划的名称与描述,如图10: 图10 创建执行计划弹出框 单击“确定”页面跳转到资源栈详情中的“执行计划”页面 等待执行计划生产完毕,并且刷新页面,可以看到执行计划的状态更新为“创建成功,待部署”,如图11: 图11 执行计划创建成功 此时返回资源栈列表页,资源栈的状态为“创建成功,待部署”,如图12: 图12 资源栈列表 “创建执行计划”可以预览整个资源栈的资源属性的变化,评估造成的影响。评估执行计划符合您的预期,您就可以对计划单击“执行”。 创建执行计划不会产生费用,只有您对计划进行了执行操作时,系统才会对您的资源栈进行更改。 单击执行计划操作列的“部署”,对执行计划进行部署,如图13: 图13 执行计划确认框 单击弹出框中的“执行”,页面右上角弹出“正在部署”的提示框,此时返回资源栈列表页,可以看到有新的资源栈生成,状态为“正在部署”,如图14: 图14 资源栈资源正在部署 稍后,资源栈状态更新为“部署成功”如图15: 图15 资源栈资源部署成功 此时,进入资源栈详情中的“执行计划”页面,执行计划的状态为“已执行部署”,如图16: 图16 执行计划已执行部署 此时,单击导航栏中的“事件”,可以看到资源栈资源已经部署成功,如图17: 图17 资源已经部署成功 您可以去对应的云服务中查看,详细如下: 在总控制台的服务列表中找到并单击“弹性云服务器”,进入弹性云服务器页面,可以看到刚部署的弹性云服务器如图18: 图18 弹性云服务器 至此,资源栈资源均部署成功。 父主题: 入门
  • 步骤一:使用可视化编辑器编写模板 登录RFS控制台,选择左侧导航栏的“可视化编辑器”。 添加并连接元素。将虚拟私有云VPC、VPC子网、云硬盘EVS等元素拖放到画布中,并建立它们之间的关联关系,如图2。 图2 添加元素 配置模板参数。在右侧属性窗口中设置编辑属性 鼠标单击画布中的vpc元素,在属性窗口中会自动显示该元素的属性,cidr可使用默认值192.168.0.0/16。 鼠标单击画布中的subnet元素,在属性窗口中会自动显示该元素的属性。属性可使用默认值。 鼠标单击画布中的evs元素,在属性窗口中会自动显示该元素的属性。当属性窗口为红色标记时为必填项图3 图3 元素必填项 为方便参数可配置可修改,建议经常变动的值使用输入参数。get_input表示输入参数,get_input后面定义的值可以自定义。 鼠标单击属性窗口右侧,生成输入参数,如图4。 图4 生成input 单击可视化编辑器的“保存模板”,保存模板。如果出现"模板已保存成功,请在我的模板查看管理",则模板保存成功。 图5 保存模板
  • 价格预估 进入创建成功的执行计划页面,会在界面上看到“查看费用明细”按钮,如图1 ,单击后服务会进行价格预估并展示价格预估结果,如图2 图1 查看费用明细 图2 费用明细 费用明细页面分包年/包月,如图3,按需计费如图4,待支持如图5三个类别展示资源价格。 包年/包月类、按需计费类展示按照包年/包月,按需计费方式购买的资源,待支持类展示暂不支持预估价格资源的列表, 目前支持预估价格的资源列表如表1。 图3 包年包月 图4 按需计费 图5 待支持 表1 已支持预估价格的云服务资源与计费方式 云服务 资源类型 计费方式 ECS(Elastic Cloud Server )弹性云服务器 huaweicloud_compute_instance 包周期和按需 EVS(Elastic Volume Service)云硬盘 huaweicloud_evs_volume 包周期和按需 EIP(Elastic IP Address)弹性公网IP huaweicloud_vpc_eip 包周期和按需 bandwidth 带宽 huaweicloud_vpc_bandwidth 按需 ELB(Elastic Load Balance)弹性负载均衡 huaweicloud_elb_loadbalancer 按需 NAT(Network Address Translation)网关 huaweicloud_nat_gateway 按需 RDS(Relational Database Service)关系型数据库 huaweicloud_rds_instance 包周期和按需 CCE(Cloud Container Engine)云容器引擎 huaweicloud_cce_cluster 包周期和按需 CSS(Cloud Search Service)云搜索服务 huaweicloud_css_cluster 按需 GaussDB(for Redis) 华为云旗下企业级Redis huaweicloud_gaussdb_redis_instance 包周期和按需 GaussDB(for MySQL) 华为自研的最新一代企业级云原生分布式数据库 huaweicloud_gaussdb_mysql_instance 包周期和按需 SFS(Scalable File Service) 弹性文件服务 huaweicloud_sfs_turbo 按需 DCS(Distributed Cache Service)分布式缓存服务 huaweicloud_dcs_instance 包周期和按需 DMS KAFKA (Distributed Message Service) 分布式消息服务 huaweicloud_dms_kafka_instance 按需 用于预估价格的模板中没有填入预估价格服务必须的字段或填入不合法字段时会导致价格预估失败。 服务在完成询价后,执行计划详情也会在基本信息中展示出费用预估情况,如图6 图6 执行计划详情 父主题: 入门
  • 创建资源栈集 1.进入资源栈集列表页面单击页面右上角的“创建资源栈集”,进入创建资源栈集页面 如图1 图1 创建资源栈集 2.进入选择模板操作界面图2,在模板操作界面提供以下信息。确认信息无误单击下一步执行。 权限委托: 选择权限:“自主服务权限” 管理委托名称:资源编排服务使用该委托获取成员账号委托给管理账号的权限。该委托中必须含有iam:tokens:assume权限,用以后续获取被管理委托凭证。如果不包含,则会在新增或者部署实例时报错。 被管理的委托名称:资源编排服务会使用该委托获取实际部署资源所需要的权限,不同成员账号委托给管理账号的委托名称需要保持一致。 选择模板 创建方式:已有模板 模板来源:当前支持用户使用三种途径的模板创建方式:“我的模板”“URL”“上传模板”,用户可根据自己需求,选择对应的模板上传途径 图2 选择模板 3.进入参数配置页面图3,此处可以自定义资源栈集名称,并填写配置参数,确认无误单击下一步 图3 参数配置 4.进入部署设置页面图4,此处需要填写需要创建的租户id和部署区域。确认无误单击下一步 图4 部署设置 新加坡、香港、曼谷 北京四、上海一、广州 乌兰201 贵州202、苏州201 G42 当前仅支持上述partition之间的互通,跨partition不支持互通。 5.配置确认,确认上述步骤中回填参数无误,单击“部署”并确认。 6.等待创建成功查看图5创建结果,显示操作完成则创建成功。 图5 资源栈实例 父主题: 使用资源栈集
  • 更新模板或参数 部署资源栈没有提供查看变更记录的功能,请谨慎操作,如果需要查看详细的变更内容,优先使用创建执行计划功能。 如果后您需要增加云服务资源,或者变更资源栈中某个资源的规格。需要进入资源栈列表页面,找到刚创建成功的资源栈,单击操作列的“更新”或者进入对应的资源栈详情页,单击页面右上角的“更新模板或参数”按钮,进入更新资源栈页面,如图1: 图1 更新模板或参数-选择模板 此时,您可以选择"使用当前模板"或者"替换当前模板"即使用一个新模板来进行已有资源栈的更新功能。 方案一:使用当前模板: 单击"下一步",进入配置参数页面,可以修改配置参数,如图2: 图2 更新模板或参数-配置参数 单击“下一步”进入配置确认页面,如图3 图3 更新模板或参数-配置确认 直接单击“直接部署资源栈”,此时页面跳转到事件页 稍后,状态变成“更新完成”,如图4: 图4 更新模板或参数-更新完成 方案二:替换当前模板:(详见创建资源栈)。 父主题: 入门
共100000条