资源编排是一项简化云计算资源管理和运维的服务。用户通过模板描述多个云资源的配置信息和依赖关系,通过模板创建资源栈,自动完成所有资源的创建和配置,以实现资源的统一管理和自动化运维等目的。服务本身免费,仅收取所使用资源的费用:如云主机、公网 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 到浏览器,查看结果:
更多内容推荐
如何在 SAP Business Application Studio 里创建 SAP UI5 应用并部署到 BTP 平台上
打开 SAP Business Application Studio,File-> New Project from Template,从模板里选择 SAP Fiori Application:
2022-10-20
5. Knative 的实现原理
2023-09-27
教你用 Python 实现羊了个羊
欢迎来到我的小院,我是霍大侠,恭喜你今天又要进步一点点了! 关注我,学习更多简单易懂的编程实战案例。进主页获取更多编程/就业/副业/创业/资源。
2022-12-09
百度智能云助力自动驾驶全链路研发
百度智能云通过 AI 大底座、自动驾驶工具链以及基础云底座资源,为自动驾驶提供了软硬件一体的基础平台。
2023-02-01
8. Knative Eventing
2023-09-27
百度 APP Android 包体积优化实践(三)资源优化
本文主要介绍了百度 APP 资源优化方案,其中重点讲述了在资源路径和资源名方面的优化。
2022-08-04
云安全是什么?是哪个企业提出的概念?
随着云计算快速发展,云资源、云存储、云成本、云安全等概念相继而出。今天就来跟随我们小编来简单了解一下云安全是什么?是哪个企业提出的概念?以及云安全产品有哪些?
2022-09-16
1、使用 Nacos 实现集中式配置管理
2023-09-27
手把手教您在 PyCharm 中连接云端资源进行代码调试
让我们看看如何在PyCharm中连接云端资源进行代码调试吧!
2023-02-01
短信验证 创建应用
打开MobTech官网,点击右上角登录,选择“开发者平台”即可进入工作台。
2023-05-12
22|如何使用 ArgoCD 快速打造生产可用的 GitOps 工作流?
这节课,我们以示例应用为例,使用 GitHub Action 和 Helm 分别作为自动构建镜像和应用定义的工具,并通过 ArgoCD 来构建一个完整的 GitOps 工作流。
2023-01-27
IoT 物联网设备「固件升级」OTA,「资源包更新」最佳实践——实践类
简介: IoT物联网设备「固件升级」OTA,「资源包更新」最佳实践
2023-01-05
真香!180 页 100+ 题 15W+ 字解析的《Java 高级面试指南》,果断收下
近期有很多朋友在考虑跳槽,“面试造火箭,工作拧螺丝”这话说得十分吻合他们的现状!而说到准备面试,那是真不容易,趁着空挡我也收集了不少Java高级面试资源!
2023-03-24
教你用 JavaScript 实现轮播图
欢迎来到我的小院,我是霍大侠,恭喜你今天又要进步一点点了! 关注我,学习更多简单易懂的编程实战案例。 进主页获取更多编程/就业/副业/创业/资源。
2022-12-23
53|容器化实战:怎样搭建 K8s 爬虫集群?
这节课让我们把爬虫项目相关的微服务部署到 Kubernetes 中。
2023-02-11
appuploader 不是开发者账号
Appuploader是一款可以帮助开发者上传iOS应用到Apple App Store的工具。很多开发者都知道,在上传应用到App Store之前,需要创建开发者账号并获得苹果官方的认证才能进行上传。但是,有些开发者可能并不想去注册开发者账号,或者遇到认证问题无法通过认证,这
2023-08-04
27|开发互不干扰,如何实现自动多环境管理?
这节课,我们来看看如何使用 ArgoCD ApplicationSet 来实现 GitOps 自动多环境管理。
2023-02-08
数据即价值,华为云大数据 BI 解决方案助力企业实现数据高效转化
随着企业信息化建设的不断深入,企业业务系统、数据资产等已经成为不可忽视的重要资源。传统的手工统计方式已经无法满足企业数据分析及决策需求,越来越多的企业开始借助智能化数据分析来实现业务决策和经营目标。 而如何将数据转化为知识、如何将知识应用于
2023-01-13
appuploader 不是开发者账号
Appuploader是一款可以帮助开发者上传iOS应用到Apple App Store的工具。很多开发者都知道,在上传应用到App Store之前,需要创建开发者账号并获得苹果官方的认证才能进行上传。但是,有些开发者可能并不想去注册开发者账号,或者遇到认证问题无法通过认证,这
2023-08-04
推荐阅读
11.Docker swarm 生产部署
2023-09-30
23. 合理化发挥作用的资源和货币化
2023-10-17
31. 联动 Sentinel 与 Nacos 的持久化实现
2023-09-29
WordPress 基于亚马逊云的部署实践(三)- 服务部署
2023-11-19
软件测试 / 测试开发丨 Postman 实战练习 学习笔记
2023-10-13
物理机服务器优势
2023-11-14
KeyShot 9 Pro mac 破解版 及安装教程 3D 渲染和动画制作
2024-12-13
电子书
大厂实战PPT下载
换一换 王院生 | Apache APISIX PMC 成员
罗广镇 | 腾讯 高级客户端开发工程师
汝英哲 | 腾讯云 容器高级产品经理
评论