通过Magento电商应用模板,您可以快速部署一个Magento电子商务网站容器应用。Magento电子商务网站包含一个前端组件,和一个mysql数据库。本章节将指导您修改“Magento电商应用”公共模板,基于应用编排和容器技术实现快速部署Magento电商网站,修改后的模板支持在创建堆栈时对容器使用的CPU和内存进行申请与限制。
在此演练中,您将完成以下步骤:
请确保已有华为云帐号,且在部署容器前,需确保至少已包含一个可用容器集群和一个2C4G的节点。
您可登录CCE控制台,单击“资源管理 > 节点管理”,查看到节点状态为“可用”,弹性IP已绑定。获取该弹性IP值。
修改模板之前,请了解一下Magento电商应用模板的基本构成。
# 应用模板所基于的类型定义版本 tosca_definitions_version: huaweicloud_tosca_version_1_0 # 输入参数定义 inputs: app-name: default: magento description: '应用名称##Application name' label: magento magento-EIP: description: 'magento服务对外暴露访问地址##External access address of the Magento service' label: magento magento-EPORT: default: 32080 description: 'magento服务对外监听端口##External listening port of the Magento service' label: magento type: integer ... ... # 映射表定义 mappings: region_map: #定义不同region镜像和规格的映射 cn-east-2: magento-image: '10.125.17.64:20202/aos-samples/magento:1.9.1.0' mysql-image: '10.125.17.64:20202/aos-samples/mysql:latest' ... ... #应用拓扑定义 node_templates: magento: #元素名称 metadata: Designer: id: e66e332a-3466-4638-9896-f7d2e93a1ae3 properties: #元素属性 k8sManifest: apiVersion: apps/v1 kind: Deployment metadata: labels: app: get_input: app-name name: get_input: app-name ... ... requirements: #元素依赖 - dependency: node: mysql-service - dependency: node: mysql-conf - dependency: node: magento-config type: HuaweiCloud.CCE.Deployment #元素类型 ... ... # 输出参数定义 outputs: ingress-admin_password: description: Password of super user. value: magentorocks1 magento-addr: description: Access URL for magento service. value: concat: - 'http://' - get_input: magento-EIP - ':' - get_input: magento-EPORT magento-admin_username: description: Super user name. value: admin
模板的各属性解释如下:
可选项,用于定义基于模板创建堆栈时的可变部分。一个模板最多支持定义60个inputs输入参数。每个input输入参数,均需定义唯一的名称,以便在使用时通过get_input内置函数获取到具体的值。若重复定义了input,后面定义的将会覆盖之前定义的。
作用范围:node_templates与outputs,即输入参数可以在node_templates的属性及outputs的value中进行传参。
inputs格式:
<输入参数名称>: type: <类型> default: <默认值> constraints:<约束> description:<描述> label:<标签> invisible: <是否回显>
可选项,用于定义映射表。在基于模板创建堆栈时,可以根据输入的变量信息,通过get_in_map方法提取特定变量对应的内容。一个模板最多支持定义10个映射。
mappings格式:
<映射名称>: <映射对象名称>: <映射对象属性名称>: <映射对象属性值> <映射对象属性名称>: <映射对象属性值> ... ... ...
必填项,用于定义该模板中编排的元素对象集合,其中所有对象均为元素。一个元素可以是一个应用、一个云服务资源。
node_templates格式:
<元素名称>: type: <元素类型> porperties: <元素属性> requirements: <元素依赖> condition: <条件名称>
可选项,用于定义模板生成堆栈运行时的输出参数。每个输出参数都需要定义唯一的名称。
outputs格式:
<输出参数名称>: description: <描述> value: <值>
关于模板的更多信息请参阅模板参考。
为了节约容器运行的资源及防止容器超载,可对容器使用的CPU和内存进行申请与限制。本节通过编排公共模板,增加magento前台应用和mysql数据库应用的CPU和内存的申请与限制参数。
在模板详情中,展示了该模板的概述,以及模板图示。magento应用组中包含了一个magento前台应用和mysql数据库应用。且magento依赖于mysql应用,需要将数据存储到mysql中。
name: magento-container resources: requests: cpu: get_input: requestMagentoCPU memory: get_input: requestMagentoMemory limits: cpu: get_input: limitMagentoCPU memory: get_input: limitMagentoMemory ports: - containerPort: 80 protocol: TCP
各属性解释如下:
inputs: app-name: default: magento description: 应用名称 label: magento mysql-service-name: default: magento-mysql description: mysql数据库服务的名称 label: mysql requestMagentoCPU: description: MagentoCPU申请 label: magento requestMagentoMemory: description: Magento内存申请 label: magento limitMagentoCPU: description: MagentoCPU限制 label: magento limitMagentoMemory: description: Magento内存限制 label: magento magento-EIP: description: magento服务对外暴露访问地址 label: magento
各属性解释如下:
修改后的模板支持在创建堆栈时设置资源限制,可以分别为magento前台应用和mysql数据库应用的CPU和内存进行申请与限制。
参数 |
说明 |
---|---|
CPU申请 |
容器使用的最小CPU需求,作为容器调度时资源分配的判断依赖。但申请不限制容器的最大可使用CPU。 |
CPU限制 |
容器能使用的CPU最大值。 |
建议配制方法:节点的实际可用分配CPU量>=当前实例所有容器CPU限制值之和>=当前实例所有容器CPU申请值之和,节点的实际可用分配CPU量请在CCE控制台“可用CPU(Core)”列下查看。
中对应节点的参数 |
说明 |
---|---|
内存申请 |
容器使用的最小内存需求,作为容器调度时资源分配的判断依赖。 |
内存限制 |
容器能使用的内存最大值。当内存使用率超出设置的内存限制值时,该实例可能会被重启进而影响应用的正常使用。 |
建议配制方法:节点的实际可用分配内存量>=当前实例所有容器内存限制值之和>=当前实例所有容器内存申请值之和,节点的实际可用分配内存量请在CCE控制台“可用内存(GB)”列下查看。
中对应节点的单击my-business-app模板后的“创建堆栈”。
参数 |
说明 |
参数值 |
---|---|---|
limitMagentoCPU |
通过修改公共模板增加的输入参数,Magento应用的CPU限制。 |
根据应用实际情况填写,数值后无需加上单位,默认单位为核,例如:1。 |
limitMagentoMemory |
通过修改公共模板增加的输入参数,Magento应用的内存限制。 |
根据应用实际情况填写,数值后加上单位M,例如:2048M。 |
magento-EIP |
节点的弹性IP |
请从前提条件中获取弹性IP数值,例如10.0.0.0。 |
magento-EPORT |
节点端口 |
请输入30000-32767之间的整数,请保证集群内唯一。可保持默认32080。 |
requestMagentoCPU |
通过修改公共模板增加的输入参数,Magento应用的CPU申请。 |
根据应用实际情况填写,数值后无需加上单位,默认单位为G,例如:0.5。 |
requestMagentoMemory |
通过修改公共模板增加的输入参数,Magento应用的内存申请。 |
根据应用实际情况填写,数值后加上单位M,例如:1024M。 |
可查看到当前堆栈为“创建中”,预计需要5分钟创建成功。
解析外贸企业为什么要选择香港 服务器租用 在随着外贸企业的不断壮大和兴起,企...
TOP云 (west.cn)7月28日消息,据DNJ发布的新一期 域名交易 排行榜,本期国外成...
除了具有成本效益之外,云计算应用在企业中还有什么优势呢?云计算的优势还包括简...
在数字信号处理中往往都需要进行大量的数字运算,比如,数字信号的解调,需要采...
在学习Java 虚拟机的时候你可能有以下疑问 Java虚拟机的原理是什么 JNI、类加载...
点击免费下载《应用智能运维实践 试读版 》 https://developer.aliyun.com/topic...
国有企业信息化绕不开的话题我们为什么要搞大数据? 我认为,企业的小数据一样可...
本教程将指引您搭建一个IPv6网段的VPC,并在VPC中创建一个带有IPv6地址的集群和...
做过接口测试的同学一定听说过mock Server,大家会觉得其很神秘,很高大上!mock ...
扩容操作分为以下两部分: 通过管理控制台扩容云硬盘的存储容量,主要情况如下:...