云服务器内容精选

  • 数字转成字符串 很多情况下,定义的变量是一个字符串,但同时需要引用此变量既作为字符串,又作为数字。例如,端口号在作为ENV环境变量时,要求其值是字符串类型,而在作为应用微服务属性时,要求其值为数字。 针对上述问题,有如下两种方式可解决: 方式一:定义两个变量 定义PORT-i, PORT-s两个变量,PORT-s是字符串,PORT-i是数字。这种方法虽然可以直截了当的解决问题,但效果并不是很好。因为带入了重复,从而使模板的可维护性和易用性变差。 方式二:使用concat内置函数 通过concat内置函数将多个小字符串拼接为一个更长、更完整的字符串。concat内置函数的参数可以是任意类型的变量,支持将数字和字符串混合拼接。示例如下: 首先定义变量: magento-EPORT: type: integer default: 32080 其次在ULR时需要为字符串: name: MAGENTO_URL value: concat: - "http://" - {get_input: magento-EIP} - ":" - {get_input: magento-EPORT} #这里直接将数字转为字符串了 再次在微服务属性时需要为数字: serviceSpec: ports: - port: {get_input: magento-container-port} nodePort: {get_input: magento-EPORT} #这里要求是数字
  • 模板组成 AOS模板主要包括如下几部分: tosca_definitions_version:必填项,用于标识模板的版本信息。 当前AOS支持的版本为huaweicloud_tosca_version_1_0。 node_templates:必填项,用于定义该模板中编排的元素对象集合,其中所有对象均为元素。详情请参见node_templates。 description:可选项,用于配置模板的描述信息。取值范围:文本字符串,长度为[0, 1024]。 inputs:可选项,用于定义基于模板创建资源栈时的输入参数。详情请参见inputs。 outputs:可选项,用于定义模板生成资源栈运行时的输出参数。详情请参见outputs。 mappings:可选项,用于定义映射表。详情请参见mappings。 conditions:可选项,用于定义条件。详情请参见conditions。 policies:可选项,用于定义安全、监控等策略。详情请参见policies。
  • 模板样例 # 应用模板的版本信息tosca_definitions_version: huaweicloud_tosca_version_1_0# 应用模板的描述信息description: Template for deploying a cloudserver.# 输入参数定义inputs: image: description: 云服务器使用的镜像ID type: HuaweiCloud.ECS.Image.Id instance: default: 1 description: 创建云服务器数量 subnet: description: 云服务器子网ID vpc: description: 云服务器VPC的IDmappings: regionMap: cn-east-3: 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-9089779f0380# 元素对象定义node_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: vpc# 输出参数定义outputs: ecs-eip: description: 云服务器公网IP value: get_attribute: - myecs - publicIps south-flavor: description: 在华南区创建虚拟机的规格名称 value: get_in_map: - regionMap - cn-south-1 - flavor