• [热门活动] 华为云 UCS (On-Premises) 发布——运行在您本地数据中心的CCE集群
    华为云分布式云原生UCS服务,是面向分布式云场景下的新一代云原生产品,提供UCS (Huawei Cloud)、UCS (Partner Cloud)、UCS (Multi-Cloud)、UCS (On-Premises) 以及UCS (Attached Clusters) 等产品,覆盖公有云、多云、本地数据中心、边缘等分布式云场景。UCS (Huawei Cloud):由UCS纳管的华为云CCE集群或CCE Turbo集群。UCS (Partner Cloud):由UCS纳管的华为伙伴云(如天翼云、移动云等)CCE集群或CCE Turbo集群。UCS (Multi-Cloud): 由UCS提供的运行在第三方云服务供应商(如AWS、GCP)基础设施之上的CCE集群。UCS (Attached Clusters): 由UCS纳管满足CNCF标准的第三方Kubernetes集群,如AWS EKS、GCP GKE或者自建的Kubernetes集群。UCS (On-Premises):由UCS提供的运行在客户本地数据中心基础设施之上的CCE集群。继UCS (Huawei Cloud) 和UCS (Attached Clusters) 商用上线后,日前UCS (On-Premises) 也正式上线,欢迎申请试用。Gartner报告预测到2025年超过85%的应用为云原生应用,云原生是企业数字化、智能化的必由之路。同时,据IDC调研指出目前云原生应用中有超过82%的客户使用了多个云服务提供商的产品来部署业务,以容器为代表的云原生技术和业务的跨云跨地域分布式部署已成为业界发展趋势。企业使用公有云服务,期望依托新架构,加快云原生架构升级,从而更快地实现数字化转型进程。然而,由于技术和法规限制等原因,部分工作负载不得不在本地运行。同时,这些企业还希望利用公有云的可伸缩性来处理突发的流量高峰,从而不必提前预测业务高峰和波动,无需购买冗余资源。此外,云上、云下同时部署本身面临着管理挑战,亟需一个统一的平台来管理跨集群应用的分发、实例之间的流量。UCS (On-Premises)正是在这样的企业诉求下推出的产品,提供了云上和云下统一治理的解决方案。借助UCS (On-Premises),您可以在云上开发和部署应用,同时保持业务在本地运行的完全灵活性,以满足法规或策略要求。图1 UCS (On-Premises) 架构图如上图1所示,华为云UCS (On-Premises) 具备以下核心优势:支持异构基础设施,有效利旧UCS (On-Premises) 支持裸金属服务器、VMWare虚拟化等异构基础设施,可有效利旧已有资源。同时,可支持Ubuntu22.04以及国产信创OS等操作系统。本地数据中心按需弹性上云,有效降本UCS (On-Premises) 支持按需动态弹性扩缩,业务常态运行时,应用在客户本地机房运行,性能满足常规业务诉求。业务突发峰值时,基于容器舰队(Karmada)跨集群管理能力,可快速将业务弹性扩容到公有云CCE Turbo容器集群,达到成本与性能的平衡。云上&云下一致体验,功能灵活扩展UCS (On-Premises) 复用公有云租户体系,客户本地无须部署租户管理系统,统一从公有云UCS入口进行操作,包括从云端进行集群管理、负载管理、容器洞察以及服务治理等,提供云上&云下一致性体验。同时,可以将Service Mesh、Prometheus、Gitops等插件从公有云灵活扩展到UCS (On-Premises)。本地部署,安全合规UCS (On-Premises) 部署在用户本地数据中心,根据用户安全等级要求,支持公网、云专线、VPN等方式接入到云端,并通过堡垒机/防火墙等安全技术,实现云端和本地数据的交互,满足敏感数据本地驻留诉求。作为华为云UCS产品的一部分,UCS (On-Premises) 扩展了UCS的云上能力,让客户可以在本地环境中运行应用。当前,华为云UCS 已与诸多行业客户联合创新:某汽车企业基于UCS (On-Premises) 实现本地AI计算以及数据仿真,集群利用率提升2倍自动驾驶AI训练平台对“AI计算”、“灵活弹性扩容”有着强烈的诉求。UCS (On-Premises) 使能AI计算,通过Volcano调度加速完成AI训练、AI推理以及数据仿真,集群利用率提升2倍。同时,UCS (On-Premises) 支持现有IDC扩容使用云上资源,适应业务弹性诉求,轻松应对流量高峰。UCS多集群统一管理使能客户专注业务发展,统一调度能力提升AI训练任务调度效率,支持客户业务快速发展。某电信企业基于UCS (On-Premises) 实现边缘数据中心统一管理,多集群管理效率提升90%企业为满足对时延敏感的业务场景,通常将业务部署在边缘数据中心,但分散的、大量的多集群管理成为企业快速创新的阻碍,通过UCS (On-Premises) 可以帮助用户实现本地容器集群管理,并在云端实现多集群统一运维,多集群管理效率提升90%。UCS提供的云原生服务是一种更高效的管理方式,加速企业的业务创新。某互联网金融企业基于UCS实现开发、测试和生产环境隔离,研发效能提升30%企业IT组织经常会在不同的集群上运行开发、测试和生产环境,确保开发人员在开发过程中不会影响生产环境,同时生产环境也不会被开发人员的测试所影响。该企业将UCS (On-Premises) 作为本地开发和测试的运行环境,将UCS (Huawei Cloud) 作为业务的生产运行环境,并通过DevOps流水线来完成开发、测试和生产环境的发布,研发效能提升30%。目前华为云UCS (On-Premises) 已开放上线,欢迎试用!cid:link_0
  • [技术干货] 每周四晚8点|Volcano云原生批量计算课程直播!
    随着业务场景的不断丰富,批量计算也由传统的HPC逐渐扩展到大数据、AI等多种场景,但各领域独立发展将造成技术栈不兼容、资源使用率低等问题。在此背景下,云原生技术以其丰富的生态和灵活的扩展性受到各大厂商的青睐,云原生统一基础设施成为必然选择。Volcano作为CNCF首个云原生批量计算项目,支持几乎所有的主流计算框架,提供丰富的高级调度策略及多元算力支持,可在人工智能、大数据、基因测序等海量数据计算和分析场景得到快速应用,弥补了Kubernetes批处理调度能力的空缺 ,并已构建起完善的上下游生态。项目目前已有450+位来自全球各地的贡献者和50+落地案例。今年6月,Apache Spark 3.3版本正式发布,v3.3选择Volcano作为默认batch调度器,助力大数据平台云原生化。9月29日开始,Volcano即将全面开启技术分享课程,核心技术无保留传授——27节公开课,全网首发!13位批量计算行业大咖亲自教学一门职业技能,轻松get!课程研发团队 本次批量计算课程由CNCF 首个容器批量计算项目Volcano的核心贡献者联合研发。适合人群 计算机相关专业的学生群体云计算应用开发、运维工程师、产品经理云原生开源技术爱好者、Volcano社区用户、贡献者部分课表 课次课程名称1云原生批量计算公开课简介2云原生批量计算的先行者Volcano3Volcano安装部署快速入门4如何在AI场景下使用Volcano?5如何在大数据场景下使用Volcano?6如何在HPC场景下使用Volcano?7云原生批量计算的集大成者Volcano Job8Volcano Job插件机制及使用9手把手教你构建自己的Volcano Job插件10资源调度的基石Queue11Volcano的独门秘籍PodGroup12Volcano技术内幕:架构设计与实现原理13走近Action和Plugin机制14Action和Plugin之资源预匹配与SLA策略15Action和Plugin之资源分配与装箱策略扫码回复Volcano进群 免费领取全部27节课·课表不能错过的第一堂课 9月29日日开启,每周周四晚20:00开课CNCF 大使 Kevin WangVolcano 社区 Maintainer 王雷博为大家率先开启课程后续每周讲师信息,可添加k8s2222进学习群获取成为大家的批量计算导师带大家开启云原生批量计算的学习整个学习期间,你们的大佬级导师,也会在学习群内陪伴大家的课程,监督大家的课程进度哦。从入门到精通,万万不能错过第一课!(扫上方海报码回复Volcano进群)学批量计算,认识批量计算达人技能破局,需要1次体系化的洗礼27节课程规划,理论+实践提升战力每周1小时,轻松为个人职业加码不只是学习,一路结识更多批量计算达人添加助教微信领取开课礼包
  • [问题求助] aos 设计器去哪里了
    aos 设计器去哪里了
  • [其他] 【配置租户】manager页面创建子租户报错关联mppdb服务失败
    一、问题现象二、问题分析参考资源管理定位指南:https://bbs.huaweicloud.com/blogs/195588(1) manager的租户配置会涉及到以下几点:    1. 所有的多租户页面运维操作、监控显示首先会下发rest请求至FIM Web模块,web模块的日志在/var/log/Bigdata/tomcat/web.log    2. web模块收到页面请求之后将请求转发给aos模块处理,aos模块的日志在/var/log/Bigadata/controller/aos/aos.log    3. aos模块收到web发来的请求之后,做一些通用处理,然后对调用各组件的插件aos-plugin,各组件在自己的插件中实现自己的多租户机制,插件的日志在    /var/log/Bigdata/controller/aos/plugin.log    4. 以上1-3的日志均在主oms节点,对于MPPDB组件,aos-plugin会ssh到cm_ctl -Cv查询结果的第一个CN节点执行mpp-userpermission.sh脚本,该脚本的日志在/var/log/Bigdata/mpp/scriptlog/permission/userpermission.log    5. mpp-userpermission.sh脚本会调用当前节点(主CMS节点)的mpp-sqlExecutor.sh脚本,该脚本的日志在/var/log/Bigdata/mpp/scriptlog/sqlexecutor.log    6. mpp-sqlExecutor.sh脚本中会执行sql,对资源池进行增删改查以及查询监控信息等(2)排查过程1.查看mpp-sqlAndShellAdapter.log日志,报错failed to create xxx cgroup for xxx cgroup has reach the maximum level2.查看所建子租户所属父租户下的,子租户个数,部分节点为7个,部分节点为9个,9个为子租户个数上限3.和客户确认,除了两个是客户预期创建的,其他为之前创建失败,没有完全回滚的残留信息4.回滚失败的原因为,前台下发给gs_cgroup创建命令有3条,当执行失败回滚时,仅回滚最后一条三、问题解决使用gs_cgroup清理残留的的租户配置信息,页面重试添加租户成功
  • [应用开发] 【MDC610产品】【AOSSDK功能】hello world示例运行错误
    【功能模块】【操作步骤&问题现象】1、按照示例操作,(环境变量全部配置OK)编译好hello world ,运行时出现以下错误:2、/lib64/ld-linux-aarch64.so.1: No such file or directory【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [问题求助] AOS服务有提供go语言的SDK吗?
    项目准备使用AOS服务,请教下有没有go语言的SDK可以用?感谢
  • [软件平台] MDC的AOS和VOS是基于鸿蒙操作系统吗?
    【功能模块】AOS和VOS操作系统是使用LINUX?还是使用的鸿蒙操作系统?
  • [文档] 应用编排,如何迈出第一步?从创建一个工程开始吧!
    工程是什么?简单说,工程就像一个装巧克力的盒子。GDE编排中,存在一个开发态和运行态的概念。在开发态,我们需要先创建一个工程。有了工程之后,就可以进行编排了。那么工程和我们通常说的应用又有什么区别呢?其实就像Word和PDF一样,Word是我们可以继续编辑的,而PDF就只能读了。在开发态,工程,就像一个Word,我们可以继续编辑修改。发布到运行态,就等于一个Word文档要对外发布出去,不允许别人随意修改,这个时候就要选PDF格式。模块,我们也可以先简单理解为Word里的不同章节,编排元素就可以先理解为Word里我们写的内容了。如何创建工程,在GDE数智平台,我们提供前台界面操作,简单易上手。上链接咯  ->->->  配置工程指导文档  <-<-<-这个文档可以让你了解如下内容什么是工程什么是模块为什么要创建工程怎么创建工程工程模板是什么有哪些工程模板有哪些编排元素如何把工程部署为应用如何发布应用如何创建自己的工程模板等等等等小伙伴,看了这个文档之后,有用的知识,是不是又增加了呢?如果有问题,可以跟帖反馈哦~
  • [分享交流] 直播回看 | 容器-容器应用之基于AOS进行全自动化的云上编排
    《直播回看》栏目会将“华为云开发者者联盟”移动端课程平台的精品音视频直播课,定期进行展播,支持各位伙伴进行回看学习本期推荐: 直播回看 | 容器-容器应用之基于AOS进行全自动化的云上编排【主讲人介绍】主讲人:Jiang Shuhang华为云应用服务产品经理,负责华为云应用产品的规划、设计和运营工作,多年来一直从事华为容器类云计算产品的规划与研发工作,在云计算行业及容器技术领域有丰富的从业经验。【课程大纲】课程主要介绍华为云应用编排服务AOS,如何通过图形化的设计器,为用户提供直观、便捷的容器全栈应用的自动化编排。课程中将通过一个电商网站的示例,展示如何通过设计器完成一个容器应用系统的设计及如何完成一键上云的过程。通过学习本课,用户应当具备通过华为云应用编排服务,实现自身容器应用系统在华为云的自动化上线。【课程链接】可扫描下方二维码进入“华为云开发者联盟“移动端直播间收听课程
  • [介绍/入门] AOS编排语言系列教程(十六):AOS编排语言的IDE--图形化设计器
    【摘要】 如果你觉得编写这样的模板比较繁琐,可以使用AOS编排语言的IDE--图形化设计器,以图形化拖拽的方式,高效辅助您完成一个模板的编写。   如果你觉得编写这样的模板比较繁琐,可以使用AOS编排语言的IDE--图形化设计器,以图形化拖拽的方式,高效辅助您完成一个模板的编写。设计器界面:
  • [介绍/入门] AOS编排语言系列教程(十五):堆栈嵌套AOS.Stack
    【摘要】 AOS.Stack可用于创建AOS服务的堆栈资源,实现AOS支持的各种资源的编排。AOS.Stack模型对应于真实场景的解决方案,可实现解决方案的一键式部署,模型定义好之后可以实现批量复制,助力服务快速上云。下面我们以一个简单的堆栈嵌套模板为例了解下AOS.Stack的用法:tosca_definitions_version: huaweicloud_tosca_version_1_0 i...AOS.Stack可用于创建AOS服务的堆栈资源,实现AOS支持的各种资源的编排。AOS.Stack模型对应于真实场景的解决方案,可实现解决方案的一键式部署,模型定义好之后可以实现批量复制,助力服务快速上云。下面我们以一个简单的堆栈嵌套模板为例了解下AOS.Stack的用法:tosca_definitions_version: huaweicloud_tosca_version_1_0inputs:  aos-stack_templateId:    description: 创建堆栈所依赖的模板IDnode_templates:  aos-stack:    type: HuaweiCloud.AOS.Stack    properties:      inputs: {}      templateId:        get_input: aos-stack_templateIdinputs为嵌套的堆栈所需要的输入信息,这里我们嵌套的堆栈没有输入信息所以设置为{}。templateId为创建堆栈所依赖的模板ID,需要使用已有的模板id,可在aos控制台->模板->我的模板(示例模板)获取,以上模板中使用的是创建的ecs模板的id。使用堆栈嵌套功能前提需要有可用集群,可以到云容器引擎控制台申请集群。执行aos-stack堆栈创建后,我们可以看到aos-stack堆栈创建出了一个子堆栈aos-stack-d17b147e。aos-stack堆栈和子堆栈创建成功:进入到aos-stack堆栈中,可以看到该堆栈创建了一个AOS.Stack类型的应用,应用的名称为aos-stack-d17b147e。AOS.Stack元素创建成功:进入子堆栈aos-stack-d17b147e中,可以看到ECS成功创建。ECS创建成功:
  • [介绍/入门] AOS编排语言系列教程(十四):条件conditions,控制元素是否创建部署
    【摘要】 condition部分是可选项,用于定义条件。例如在node_templates中创建了很多资源,实际部署时可能有一些资源不需要部署,通过条件可以控制定义在node_templates中的元素是否需要创建部署。我们已经介绍了模板中的inputs、outputs、node_templates和mappings,接下来看下condition部分。condition部分是可选项,用于定义条件。例如在node_templates中创建了很多资源,实际部署时可能有一些资源不需要部署,通过条件可以控制定义在node_templates中的元素是否需要创建部署。在inputs、conditions、node_templates等多个字段中定义了引用关系来控制虚拟机myecs是否部署:tosca_definitions_version: huaweicloud_tosca_version_1_0conditions:  condition_vm_deploy:    cond_eq:      - get_input: vm_deploy      - trueinputs:  image:    description: 云服务器使用的镜像ID    type: HuaweiCloud.ECS.Image.Id  instance:    default: 1    description: 创建云服务器数量  subnet:    description: 云服务器子网ID  vm_deploy:    default: true    type: boolean  vpc:    description: 云服务器VPC的IDmappings:  regionMap:    cn-east-1:      flavor: c2.medium      image_id: f2003c7b-99c4-4616-be19-334beaca81b1    cn-north-1:      flavor: c1.medium      image_id: 42f34d95-a538-4d17-be48-e690b48c1643    cn-south-1:      flavor: c1.medium      image_id: a3934478-bfeb-4a02-b257-9089779f0380node_templates:  vm:    condition: condition_vm_deploy    type: HuaweiCloud.ECS.CloudServer    properties:      availabilityZone: cn-south-1a      flavor:        get_in_map:          - regionMap          - get_input: HuaweiCloud.Region          - flavor      imageId:        get_in_map:          - regionMap          - get_input: HuaweiCloud.Region          - image_id      instances:        get_input: instance      name: my-ecs      nics:        - subnetId:            get_input: subnet      publicIP:        eip:          bandwidth:            shareType: PER            size: 1          ipType: 5_sbgp      rootVolume:        size: 40        volumeType: SATA      vpcId:        get_input: vpc  myecs:   type: HuaweiCloud.ECS.CloudServer    properties:      availabilityZone: cn-south-1a      flavor:        get_in_map:          - regionMap          - get_input: HuaweiCloud.Region          - flavor      imageId:        get_in_map:          - regionMap          - get_input: HuaweiCloud.Region          - image_id      instances:        get_input: instance      name: my-ecs      nics:        - subnetId:            get_input: subnet      publicIP:        eip:          bandwidth:            shareType: PER            size: 1          ipType: 5_sbgp      rootVolume:        size: 40        volumeType: SATA      vpcId:        get_input: vpcoutputs:  ecs-eip:    description: 云服务器公网IP    value:      get_attribute:        - myecs        - publicIps  south-flavor:    description: 在华南区创建虚拟机的规格名称    value:      get_in_map:        - regionMap        - cn-south-1        - flavor上述例子中使用了cond_eq条件函数来判断输入参数与预期是否一致,条件函数通常用于定义元素是否需要部署,包括cond_eq、cond_not、cond_and、cond_or和cond_if。除了cond_if函数外,其他条件函数只允许在conditions段内定义使用。当输入参数vm_deploy为true时将部署虚拟机vm和myecs:当输入参数vm_deploy为false时将不部署vm,只部署myecs:
  • [介绍/入门] AOS编排语言系列教程(十三):映射mappings,提取特定变量对应内容
    【摘要】 mappings为可选项,用于定义映射表。在基于模板创建堆栈时,可以根据输入的变量信息,通过get_in_map方法提取特定变量对应的内容。一个模板最多支持定义10个映射。mappings为可选项,用于定义映射表。在基于模板创建堆栈时,可以根据输入的变量信息,通过get_in_map方法提取特定变量对应的内容。一个模板最多支持定义10个映射。例如创建ECS的虚拟机时,它的规格和镜像在华北、华南、华东是不一样的,需要设置三个模板比较麻烦,可以用mappings来定义映射表来解决这个问题。在regionMap映射中,定义了3个映射对象,分别是cn-east-1、cn-north-1和cn-south-1,每个映射对象都有规格和镜像两个属性:    1.         cn-east-1(华东区):规格设置为c2.medium,表示2核|1G;镜像ID设置为f2003c7b-99c4-4616-be19-334beaca81b1,是华东区ECS系统盘镜像CentOS 6.3 64bit的镜像ID。    2.         cn-north-1(华北区):规格设置为c1.medium,表示1核|1G;镜像ID设置为42f34d95-a538-4d17-be48-e690b48c1643,是华北区ECS系统盘镜像CentOS 6.3 64bit的镜像ID。    3.         cn-south-1(华南区):规格设置为c1.medium,表示1核|1G;镜像ID设置为a3934478-bfeb-4a02-b257-9089779f0380,是华南区ECS系统盘镜像CentOS 6.3 64bit的镜像ID。tosca_definitions_version: huaweicloud_tosca_version_1_0inputs:  image:    description: 云服务器使用的镜像ID    type: HuaweiCloud.ECS.Image.Id  instance:    default: 1    description: 创建云服务器数量  subnet:    description: 云服务器子网ID  vpc:    description: 云服务器VPC的IDmappings:  regionMap:    cn-east-1:      flavor: c2.medium      image_id: f2003c7b-99c4-4616-be19-334beaca81b1    cn-north-1:      flavor: c1.medium      image_id: 42f34d95-a538-4d17-be48-e690b48c1643    cn-south-1:      flavor: c1.medium      image_id: a3934478-bfeb-4a02-b257-9089779f0380node_templates:  myecs:    type: HuaweiCloud.ECS.CloudServer    properties:      availabilityZone: cn-south-1a      flavor:        get_in_map:          - regionMap          - get_input: HuaweiCloud.Region          - flavor      imageId:        get_in_map:          - regionMap          - get_input: HuaweiCloud.Region          - image_id      instances:        get_input: instance      name: my-ecs      nics:        - subnetId:            get_input: subnet      publicIP:        eip:          bandwidth:            shareType: PER            size: 1          ipType: 5_sbgp      rootVolume:        size: 40        volumeType: SATA      vpcId:        get_input: vpcoutputs:  ecs-eip:    description: 云服务器公网IP    value:      get_attribute:        - myecs        - publicIps  south-flavor:    description: 在华南区创建虚拟机的规格名称    value:      get_in_map:        - regionMap        - cn-south-1        - flavor定义的映射可在node_template中使用,模板中在node_templates中定义了myecs虚拟机对象,其属性包括镜像id,虚拟机规格等参数。其中,镜像id和虚拟机规格已经在映射表mappings中预先定义。基于该模板创建堆栈时部署在华南区,因此将选择华南区的镜像和规格进行虚拟机资源的创建。定义的映射也可以在outputs中通过get_in_map函数提取映射内容,堆栈创建成功后输出了虚拟机在华南区创建虚拟机的规格名称。
  • [介绍/入门] AOS编排语言系列教程(十二):输出outputs,直观看到部署结果
    【摘要】 创建一个带有弹性公网IP的ECS弹性云服务器,这时我们需要知道它的IP地址来对访问ECS,如何获得这个IP地址呢?这就要用到outputs,outputs部分定义输出参数,在模板生成堆栈运行成功后输出公网ip地址。创建一个带有弹性公网IP的ECS弹性云服务器,这时我们需要知道它的IP地址来对访问ECS,如何获得这个IP地址呢?这就要用到outputs,outputs部分定义输出参数,在模板生成堆栈运行成功后输出公网ip地址。tosca_definitions_version: huaweicloud_tosca_version_1_0inputs:  instance:    description: 创建云服务器数量    default: 1  image:    description: 云服务器使用的镜像ID    type: HuaweiCloud.ECS.Image.Id  vpc:    description: 云服务器VPC的ID  subnet:    description: 云服务器子网IDnode_templates:  myecs:    type: HuaweiCloud.ECS.CloudServer    properties:      name: my-ecs      instances:        get_input: instance      imageId:        get_input: image      flavor: c1.medium      vpcId:        get_input: vpc      availabilityZone: cn-south-1a      nics:        - subnetId:            get_input: subnet      rootVolume:        volumeType: SATA        size: 40      publicIP:        eip:          bandwidth:            shareType: PER            size: 1          ipType: 5_sbgpoutputs:  ecs-eip:    description: 云服务器公网IP    value:      get_attribute:        - myecs        - publicIps在publicIP参数中配置云服务器的弹性IP信息,指定了IP地址带宽类型、带宽大小和虚IP类型。在outputs中定义了输出参数,输出弹性IP地址,输出结果如下图所示。
  • [介绍/入门] AOS编排语言系列教程(十一):输入inputs,扩展模板可复用性
    【摘要】 大家也许会发现,创建数据库模板和分布式缓存模板中用到了inputs,将密码参数写到inputs中,创建堆栈时由用户输入可以保证安全性,避免明文密码。而之前创建的模板中其他属性值都是固定的,如果我们想修改其他参数值,就必须重新修改模板再上传,非常不方便。例如创建ECS时,部署时云服务器使用的镜像需要改变,并且创建云服务器数量不是固定的。这种情况我们就可以使用inputs来定义这些可变部分。大家也许会发现,创建数据库模板和分布式缓存模板中用到了inputs,将密码参数写到inputs中,创建堆栈时由用户输入可以保证安全性,避免明文密码。而之前创建的模板中其他属性值都是固定的,如果我们想修改其他参数值,就必须重新修改模板再上传,非常不方便。例如创建ECS时,部署时云服务器使用的镜像需要改变,并且创建云服务器数量不是固定的。这种情况我们就可以使用inputs来定义这些可变部分。在inputs中可以指定输入参数类型、给出参数描述信息和默认值。一个模板最多支持定义60个inputs输入参数。每个input输入参数,都需要定义唯一的名称,以便在使用时通过get_input内置函数获取到具体的值。tosca_definitions_version: huaweicloud_tosca_version_1_0inputs:  # 输入,定义基于模板创建堆栈的可变部分  instance:    description: 创建云服务器数量    default: 1  image:    description: 云服务器使用的镜像ID    type: HuaweiCloud.ECS.Image.Id  vpc:    description: 云服务器VPC的ID  subnet:    description: 云服务器子网IDnode_templates:  myecs:    type: HuaweiCloud.ECS.CloudServer    properties:      name: my-ecs      instances:        get_input: instance      imageId:        get_input: image      flavor: s3.small.1      vpcId:        get_input: vpc      availabilityZone: cn-south-1c      nics:        - subnetId:            get_input: subnet      rootVolume:        volumeType: SSD        size: 40模板中云服务器使用的镜像imageId、创建云服务器数量instances、虚拟私有云和子网id都是由用户输入,用户在创建堆栈时配置这些输入参数。
总条数:46 到第
上滑加载中