写点什么

资源编排产品实现简单架构快速上云

  • 2019-10-17
  • 本文字数:4512 字

    阅读完需:约 15 分钟

资源编排产品实现简单架构快速上云

资源编排是一项简化云计算资源管理和运维的服务。用户通过模板描述多个云资源的配置信息和依赖关系,通过模板创建资源栈,自动完成所有资源的创建和配置,以实现资源的统一管理和自动化运维等目的。服务本身免费,仅收取所使用资源的费用:如云主机、公网 IP、云数据库实例等。

一、准备工作

1.说明

我们用 wordpress 模拟网站源代码,*.sql 文件模拟网站数据库备份,将网站源代码迁移到位于华北-北京不同可用区的两台云主机上,将 sql 备份文件恢复到云数据库 RDS MySQL 上,云主机与云数据库都由京东云资源编排产品自动创建生成。


模板的常用参数说明详见

2.测试示意图

二、开始

1. 创建资源栈(模板)

打开控制台,选择管理-资源编排-资源栈,选择需要创建的资源栈所在的地域,支持华北-北京、华南-广州、华东-宿迁、华东-上海,我这里选择华北-北京,点击创建资源栈按钮。



点击我的模板,将原模板内容删除,复制下面的 json 代码到模板内容中(此 json 代码内容中创建的资源较多,所以代码较多,复制时仔细认真点),点击下一步



1json  2{  3    "JDCLOUDTemplateFormatVersion": "2018-10-01",  4    "Description": "JDRO WORDPRESS_WITH_CLUSTER TEMPLATE",  5    "Parameters": {  6        "VPCName": {  7            "Default": "vpc",  8            "Type": "String",  9            "MinLength": "1", 10            "MaxLength": "32", 11            "Description": "Define the VPC Name. It cannot be same as an existing VPC name, otherwise the resource will fail to be created", 12            "AllowedPattern": "^[a-zA-Z_][a-zA-Z0-9_-]*$", 13            "ConstraintDescription": "Name only supports numbers, capital and lowercase letters, English underline and hyphen ." 14        }, 15        "SubnetName": { 16            "Default": "subnet", 17            "Type": "String", 18            "MinLength": "1", 19            "MaxLength": "32", 20            "Description": "Define the Subnet Name. It cannot be same as an existing Subnet name, otherwise the resource will fail to be created", 21            "AllowedPattern": "^[a-zA-Z_][a-zA-Z0-9_-]*$", 22            "ConstraintDescription": "Name only supports numbers, capital and lowercase letters, English underline and hyphen ." 23        }, 24        "AddressPrefix": { 25            "Default": "10.0.0.0/16", 26            "Type": "String", 27            "Description": "Give an exact CIDR", 28            "AllowedValues": [ 29                "192.168.0.0/16", 30                "172.16.0.0/16", 31                "10.0.0.0/16" 32            ], 33            "ConstraintDescription": "Need give an exact CIDR." 34        }, 35        "InstanceName1": { 36            "Default": "vm1", 37            "Type": "String", 38            "MinLength": "1", 39            "MaxLength": "32", 40            "Description": "Define the Instance Name", 41            "AllowedPattern": "^[a-zA-Z_][a-zA-Z0-9_-]*$", 42            "ConstraintDescription": "Name only supports numbers, capital and lowercase letters, English underline and hyphen." 43        }, 44        "InstanceName2": { 45            "Default": "vm2", 46            "Type": "String", 47            "MinLength": "1", 48            "MaxLength": "32", 49            "Description": "Define the Instance Name", 50            "AllowedPattern": "^[a-zA-Z_][a-zA-Z0-9_-]*$", 51            "ConstraintDescription": "Name only supports numbers, capital and lowercase letters, English underline and hyphen." 52        }, 53        "VMPassword": { 54            "NoEcho": true, 55            "Description": "Password for vm access", 56            "Type": "String", 57            "MinLength": "8", 58            "MaxLength": "16", 59            "AllowedPattern": "[a-zA-Z0-9]*" 60        }, 61        "DiskName1": { 62            "Default": "disk1", 63            "Type": "String", 64            "MinLength": "1", 65            "MaxLength": "32", 66            "Description": "The Disk Name", 67            "AllowedPattern": "^[a-zA-Z_][a-zA-Z0-9_-]*$", 68            "ConstraintDescription": "Name only supports numbers, capital and lowercase letters, English underline and hyphen." 69        }, 70        "DiskName2": { 71            "Default": "disk2", 72            "Type": "String", 73            "MinLength": "1", 74            "MaxLength": "32", 75            "Description": "The Disk Name", 76            "AllowedPattern": "^[a-zA-Z_][a-zA-Z0-9_-]*$", 77            "ConstraintDescription": "Name only supports  numbers, capital and lowercase letters, English underline and hyphen." 78        }, 79        "DBName": { 80            "Default": "wordpress", 81            "Description": "MySQL database name", 82            "Type": "String", 83            "MinLength": "2", 84            "MaxLength": "32", 85            "AllowedPattern": "^[a-z][a-z0-9_]*$", 86            "ConstraintDescription": "The name only supports lower case letters, numbers and English underline, no less than 2 characters and no more than 32 characters." 87        }, 88        "DBUser": { 89            "Default": "wordpress", 90            "Description": "Username for MySQL database access", 91            "Type": "String", 92            "MinLength": "1", 93            "MaxLength": "16", 94            "AllowedPattern": "^[a-zA-Z][a-zA-Z0-9]*$", 95            "ConstraintDescription": "must begin with a letter and contain only alphanumeric characters." 96        }, 97        "DBPassword": { 98            "NoEcho": true, 99            "Description": "Password must contain and only supports letters both in upper case and lower case as well as figures, no less than 8 characters and no more than 16 characters. e.g. Ptest1130",100            "Type": "String",101            "MinLength": "8",102            "MaxLength": "16",103            "AllowedPattern": "[a-zA-Z0-9]*"104        },105        "LoadBalancerName": {106            "Default": "lb",107            "Description": "LoadBalancer name",108            "Type": "String",109            "MinLength": "1",110            "MaxLength": "32",111            "AllowedPattern": "^[a-zA-Z_][a-zA-Z0-9_-]*$",112            "ConstraintDescription": "Name only supports  numbers, capital and lowercase letters, English underline  and hyphen."113        },114        "TargetGroupName": {115            "Default": "lbtargetgroup",116            "Description": "TargetGroup Name",117            "Type": "String",118            "MinLength": "1",119            "MaxLength": "32",120            "AllowedPattern": "^[a-zA-Z_][a-zA-Z0-9_-]*$",121            "ConstraintDescription": "Name only supports  numbers, capital and lowercase letters, English underline  and hyphen."122        },123        "LBBackendName": {124            "Default": "lbbackend",125            "Description": "Backend Name",126            "Type": "String",127            "MinLength": "1",128            "MaxLength": "32",129            "AllowedPattern": "^[a-zA-Z_][a-zA-Z0-9_-]*$",130            "ConstraintDescription": "Name only supports  numbers, capital and lowercase letters, English underline  and hyphen."131        }132    },133    "Mappings": {134        "AZInfo": {135            "cn-north-1": {136                "az1": "cn-north-1a",137                "az2": "cn-north-1b",138                "az3": "cn-north-1c"139            },140            "cn-east-1": {141                "az1": "cn-east-1a"142            },143            "cn-east-2": {144                "az1": "cn-east-2a",145                "az2": "cn-east-2b"146            },147            "cn-south-1": {148                "az1": "cn-south-1a"149            }150        },151        "ImageInfo": {152            "cn-north-1": {153                "image": "img-9ha1rgelkq"154            },155            "cn-east-1": {156                "image": "img-htaupmjlqq"157            },158            "cn-east-2": {159                "image": "img-ssazsh60t6"160            },161            "cn-south-1": {162                "image": "img-uxgb28v2y3"163            }164        }
复制代码


(由于篇幅原因,只选取部分)


栈名称:资源编排测试


超时时间(分钟):10


  • VPCName:vpc

  • SubnetName:subnet

  • AddressPrefix:10.0.0.0/16

  • InstanceName1:vm1

  • InstanceName2:vm2

  • VMPassword:自定义

  • DiskName1:disk1

  • DiskName2:disk2

  • DBName:wordpress

  • DBUser:wordpress

  • DBPassword:自定义

  • LoadBalancerName:lb

  • TargetGroupName:lbtargetgroup

  • LBBackendName:lbbackend


确认资源栈信息后,点击创建资源栈



ta 创建完成后点击时间列表能够查看整个资源栈的创建过程




2. 测试上云

所有资源创建完成后,我们找到创建好的负载均衡实例公网 IP,粘贴到浏览器打开查看效果



接下来我们将本地的 MySQL 数据库备份文件导入到我们创建的云数据库 RDS MySQL 中


备份本地数据库,命令如下:


1mysqldump -u用户名 -p密码 --single-transaction --set-gtid-purged=OFF -B 数据库名称 > /路径/导出文件名.sql
复制代码


将本地 MySQL 备份完成后,我们需要创建一台与云数据库 RDS MySQL 在相同 VPC 的云主机(不在同一 VPC 默认情况下无法访问云数据库),创建云主机方法见


创建完云主机后,将本地备份的.sql 文件上传到京东云对象存储



上传完备份 SQL 后,我们获取相应备份文件的外链地址



然后通过 wget 命令下载到上面我们创建的云主机



然后通过如下命令进行备份文件的导入


1mysql -h云数据库域名 -u用户名 -p 数据库名  < /云主机路径/导出文件名.sql
复制代码


云数据库域名查看方式:



最大复制负载均衡公网 IP 到浏览器,查看结果:



2019-10-17 17:541134

评论

发布
暂无评论
发现更多内容

Chrome操作指南——入门篇(九)调试小技巧

Augus

Chrome开发者工具 9月月更

MobTech 短信验证 Unity插件

MobTech袤博科技

ios android 短信验证

Java面试笔试题大汇总一(最全+详细答案)

小小怪下士

大厂面试 java\ 面试真题 Java 面试题

什么是企业帮助中心?为什么要花钱建立?看这篇文章你就懂了!

Baklib

SaaS 企业 帮助中心 在线编辑

MASA MAUI Plugin 安卓蓝牙低功耗(二)蓝牙通讯

MASA技术团队

blazor MASA MAUI Xamarin MASA Blazor

计算机上的高性能计算,你了解多少?

Finovy Cloud

高性能计算

前端必读2.0:如何在React 中使用SpreadJS导入和导出 Excel 文件

葡萄城技术团队

前端 Excel 框架

Mybatis工作流程及其原理与解析

小小怪下士

Java 程序员 架构 mybatis

如何根治 Script Error.

阿里巴巴终端技术

前端 终端 Script

如何使用禅道集成钉钉

禅道项目管理

钉钉 项目管理工具 禅道

史上最详细的一线大厂Mysql面试题详解

小小怪下士

MySQL 面试 java面试

阿里巴巴高并发架构到底多牛逼?是如何抗住淘宝双11亿级并发量?

Java-fenn

Java 编程 程序员 面试

名列前茅!亚信科技AntDB入围工信部电信行业数据库场景榜单

亚信AntDB数据库

AntDB AntDB数据库

2022前端面试遇到的手写题总结

helloworld1024fd

JavaScript 前端

赛事升级,烽烟正燃!网易云信 Innovation 2022 开发者大赛等你参加!

网易智企

开发者大赛

【喜讯】亚信安慧通过CMMI5级认证

亚信AntDB数据库

AntDB AntDB数据库

帮助中心就是在线版的产品使用说明书?并非如此!

Baklib

产品 产品经理 帮助中心 在线编辑 产品说明书

百亿市场遭「卡脖子」,国产工业软件兴起正当时

ToB行业头条

Chrome操作指南——入门篇(八)breakpoint

Augus

Chrome开发者工具 9月月更

阿里云物联网平台架构——业务架构类

阿里云AIoT

大数据 物联网平台 IoT 平台架构 设备管理

数据中台必备的4个核心能力

阿泽🧸

数据中台 9月月更

大数据平台 CDP 中如何配置 hive 作业的 YARN 队列以确保SLA?

明哥的IT随笔

hadoop spark hive YARN CDP

一刀999?怎样让你的 iPhone 手游也拥有开挂般的体验

淋雨

imazing 存档 元气骑士

Chrome操作指南——入门篇(十)调试小技巧

Augus

Chrome开发者工具 9月月更

中小企业数字化转型需求增加,如何才能做好?先从在线协作工具开始!

Baklib

数字化转型 企业 在线协作文档 在线协作

RabbitMQ的深入理解和最简单的用途说明

小小怪下士

Java 程序员 架构 RabbitMQ

好家伙!全网开源对标P5~P7程序员技术成长路线,阿里这次是真卷

程序员小毕

Java 程序员 面试 程序人生 架构师

用多线程实现归并排序

聚变

归并排序 Lambda函数

Databend 参加 PingCAP 用户峰会 2022

Databend

数据仓库 开源社区 云平台

行业规模将达百亿,低代码是 “银弹” 还是 “鸡肋”?

SoFlu-JavaAI开发助手

什么是企业知识管理体系?它的基本原则是什么?我们又该怎样做?

Baklib

知识管理 知识 知识管理体系

资源编排产品实现简单架构快速上云_架构_韩超超_InfoQ精选文章