云上集群搭建实战

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 云上集群搭建实战:包含集群的搭建、路由配置、ACK实例伸缩、ECI弹性伸缩等

截图工具:shift + win + s
一、可用区-DMZ
1、vpc:172.20.0.0/16
2、nat:nat-hz-dmz
3、vsw:vswitch-hz-dmz-nat(172.20.0.0/24)
4、eip:eip-hz-dmz-prod
5、eip:eip-hz-dmz-test
6、流量包
7、堡垒机:跳过部署
8、vsw:vswitch-hz-dmz-cen-J(172.20.254.0/25)
9、vsw:vswitch-hz-dmz-cen-K(172.20.254.128/25)
image.png

二、云企业网-CEN
1、cen:cen-hz
2、转发路由器
image.png

三、可用区-MAIN
1、vpc:vpc-hz-main-prod(172.16.0.0/16)
2、vsw:vswitch-hz-main-prod-J(172.16.0.0/24)
3、vsw:vswitch-hz-main-prod-K(172.16.1.0/24)
4、ecs:ecs-hz-main-prod-[1,3]
5、ecs:ecs-hz-main-prod-[7,3]
6、安全组:sg-hz-main-prod
7、redis:kvstore-hz-main-prod(配置白名单)
8、snat:snat-hz-main-prod-J
9、snat:snat-hz-main-prod-K
10、vsw:vswitch-hz-main-prod-cen-J(172.16.254.0/25)
11、vsw:vswitch-hz-main-prod-cen-K(172.16.254.128/25)
image.png

四、可用区-TEST
1、vpc:vpc-hz-main-test(172.17.0.0/16)
2、vsw:vswitch-hz-main-test-J(172.17.0.0/24)
3、ecs:ecs-hz-main-test-centos
4、ecs:ecs-hz-main-test-win
5、安全组:sg-hz-main-test
6、snat:snat-hz-main-test
7、vsw:vswitch-hz-main-test-cen-J(172.17.254.0/25)
8、vsw:vswitch-hz-main-test-cen-K(172.17.254.128/25)
image.png

五、可用区-WEB
0、vpc:vpc-hz-web(172.18.0.0/16)
1、pts:pts-hz-web
2、eip:eip-hz-web-clb
3、vsw:vswitch-hz-web-clb-J(172.18.0.0/24)
4、clb:clb-hz-web
5、vsw:vswitch-hz-web-ess-J(172.18.1.0/24)
6、ecs:ecs-hz-web-ess-J
7、vsw:vswitch-hz-web-ess-K(172.18.2.0/24)
8、ecs:ecs-hz-web-ess-K
9、安全组:sg-hz-web-ess
10、ess:ess-hz-web
image.png

11、配置监听端口80
image.png

12、vsw:vswitch-hz-web-rds-J(172.18.3.0/24)
13、rds:rds-hz-web(配置账号、数据库)
14、vsw:vswitch-hz-web-sms-J(172.18.4.0/24)
15、ecs:ecs-hz-web-sms-J
16、安全组:sg-hz-web-sms
17、snat:snat-hz-web-sms
image.png

18、ack托管版:ack-hz-web
19、vsw:vswitch-hz-web-ack-J(172.18.5.0/24)
20、vsw:vswitch-hz-web-ack-K(172.18.6.0/24)
21、极速nas:nas-hz-web-ack
22、vsw:vswitch-hz-web-cen-J(172.18.254.0/25)
23、vsw:vswitch-hz-web-cen-K(172.18.254.128/25)
image.png

六、DMZ路由配置
1、找到DMZ-VPC路由表,将0.0.0.0/0默认路由条目发布出去,使其他实例学习到该路由。
2、找到生产系统、测试系统路由表,添加0.0.0.0/0默认路由条目,下一跳指向转发路由器。

七、SMS路由配置
1、找到WEB-VPC路由表,选择资源管理,在路由表点击“添加”,输入名称“route-web-sms”。
2、进入“route-web-sms”路由表,切到“已绑定交换机”tab页,绑定sms交换机。
3、切到“路由条目列表”,自定义路由条目,点击“添加路由条目”。
4、添加0.0.0.0/0默认路由条目,下一跳指向转发路由器。

八、RDS白名单和安全组配置
1、进入RDS“白名单与安全组”,选择“安全组”tab页。
2、点击“添加安全组”,选中ack的“alicloud-cs-auto-created”和“sg-hz-web-ess”。

九、容器镜像服务
1、创建ACR个人版
2、创建命名空间“xiaoqiang329”。
3、创建镜像仓库“wordpress”,选择本地仓库,确定。
4、访问凭证,点击“设置固定密码”,输入密码“qwe@123QWE”。

十、docker安装
1、输入mirrors.aliyun.com,找到dockerCE安装步骤。
2、根据centos7步骤输入进行安装,完成后输入docker info校验是否成功。
3、输入docker search wordpress,查询wordpress版本。
4、输入docker pull wordpress,拉取wordpress镜像。可执行容器镜像加速器进行加速。
5、输入docker images,查看本地镜像。
6、根据镜像服务仓库“wordpress”镜像上传步骤,上传本地镜像。

十一、NAS添加挂载点
1、进入文件存储,选择文件系统列表,点击“添加挂载点”。
2、输入对应WEB-VPC,输入任意一个ACK交换机,输入默认权限组,确定。

十二、ACK存储声明
1、进入ack-hz-web,选择“存储”-“存储声明”,点击“创建”。
2、勾选“nas”类型,分配模式选择“创建存储卷”,选择上面添加的挂载点,创建。

十三、创建wordpress实例
1、进入ack-hz-web,先择“工作负载”-“无状态”,点击“使用镜像创建”。
2、根据步骤,选择上面上传的镜像及标签,优先使用本地镜像。
3、数据卷中增加云存储声明,挂载源选择上面创建的nas存储声明。复制本地存储的容器路径,删除本地存储声明。
4、service服务、ingress路由和伸缩暂时不配置,点击创建,结束。

十四、配置RDS访问
1、因wordpress实例pod没有vi编辑器,需要将数据卷中的nas存储声明继续挂载到开发机。
2、进入文件存储,选择文件系统列表,点击“添加挂载点”。选择开发机所在的VPC、交换机。
3、点击挂载ECS下面的“挂载”,选中上面挂载点下的开发机,挂在路径“/wordpress”,完成。
4、进入开发机,查看“/wordpress”下的文件,即wordpress实例挂载过来的文件。
5、vi wp-config.php编辑数据库连接。
6、修改如下配置
define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 数据库用户名 );
define( 'DB_PASSWORD', 数据库密码 );
define( 'DB_HOST', 数据库url );
define( 'DB_CHARSET', 'utf8mb4' );

十五、访问wordpress实例
1、在ACK控制台创建公网负载均衡类的Service。
2、访问这个负载均衡的外网地址。
3、页面跳转到http://公网IP/wp-admin/install.php即为数据库配置成功。
4、选择语言,输入初始化标题、用户名、密码。
5、使用用户密码登录成功,即为配置成功。
6、上传一张图片,记录下发布的页面url,用于后续压测。

十六、HPA弹性伸缩
1、进入wordpress实例列表,选中容器伸缩。
2、点击“创建”,添加CPU使用量20%,最小容器数量2,最大容器数量10。
3、进入PTS控制台,输入页面url。
4、点击压测,输入测试时间6分钟和每秒请求数1000,点击启动压测。
5、观察成功率高低高的曲线并截图。
6、查看wordpress实例,是否弹性扩容到10个实例。
7、停止压测。

十七、在ACK上安装ECI支持
1、在“运维管理”-“组件管理”中安装ack-virtual-node组件。
2、在“市场”-“应用市场”中安装ack-kubernetes-elastic-workload应用。
3、“使用弹性负载表达Deployment类型应用”。使用yaml创建资源安装ElasticWorkload对象,默认pod数为10-20。

apiVersion: autoscaling.alibabacloud.com/v1beta1
kind: ElasticWorkload
metadata:
  name: wordpress-elasticworkload
  namespace: wordpress
spec:
  sourceTarget:
    name: wordpress-ack-wordpress-sample
    kind: Deployment
    apiVersion: apps/v1
    min: 2
    max: 10
  replicas: 100
  elasticUnit:
  - name: virtual-kubelet
    labels:
     alibabacloud.com/eci: "true"

4、通过yaml文件安装HorizontalPodAutoscaler对象,弹性最大值设为200左右,cpu设置为20%。注意apiVersion: autoscaling/v2,没有beta2,否则创建不成功。

apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
  name: wordpress-workload-demo
  namespace: wordpress
spec:
  scaleTargetRef:
    apiVersion: autoscaling.alibabacloud.com/v1beta1
    kind: ElasticWorkload
    name: wordpress-elasticworkload
  minReplicas: 100
  maxReplicas: 200
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: 20

5、验证应用弹性到ECI上。

十八、总体架构图
导出架构图.jpg

相关实践学习
通过workbench远程登录ECS,快速搭建Docker环境
本教程指导用户体验通过workbench远程登录ECS,完成搭建Docker环境的快速搭建,并使用Docker部署一个Nginx服务。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
7月前
|
存储 关系型数据库 MySQL
Kubesphere手把手教你轻松打造高可用MySQL集群!
Kubesphere手把手教你轻松打造高可用MySQL集群!
114 0
|
9月前
|
分布式计算 大数据 API
完美避坑!记一次Elasticsearch集群迁移架构实战
Elastic自身设计了集群分片的负载平衡机制,当有新数据节点加入集群或者离开集群,集群会自动平衡分片的负载分布。
|
9月前
|
运维 关系型数据库 MySQL
【运维知识进阶篇】集群架构-Rsync服务详解
【运维知识进阶篇】集群架构-Rsync服务详解
183 0
|
10月前
|
存储 Kubernetes 网络安全
【k8s 系列】k8s 学习五,k8s 集群部署尝试
【k8s 系列】k8s 学习五,k8s 集群部署尝试
147 0
|
运维 Kubernetes 容器
《腾讯云多Kubernetes集群高可用运维实践》电子版地址
腾讯云多Kubernetes集群高可用运维实践
138 0
《腾讯云多Kubernetes集群高可用运维实践》电子版地址
|
Kubernetes 开发者 容器
K8s 集群部署-学习总结 | 学习笔记
快速学习 K8s 集群部署-学习总结
119 0
K8s 集群部署-学习总结 | 学习笔记
|
Kubernetes Linux 网络安全
k8s集群部署初体验
k8s集群部署初体验
262 0
|
Kubernetes Cloud Native Docker
Sentinel云原生K9S部署实战(下)
Sentinel云原生K9S部署实战(下)
338 1
Sentinel云原生K9S部署实战(下)
|
Kubernetes Cloud Native Docker
Sentinel云原生K8S部署实战(上)
Sentinel云原生K8S部署实战(上)
839 0
Sentinel云原生K8S部署实战(上)
|
XML 存储 安全
使用阿里云云上学习实践服务器搭建Zookeeper集群
大三在读软件工程菜鸡一枚,尝试一下搭建zookeeper集群,为项目组的liteFlow工作流框架添加云端流程存储途径。正好在之前使用的阿里云控制台里面看到一个“飞天加速计划·高校学生在家实践”的活动,就试了一下,发现确实很好用。 文章介绍了如何安装数据库以及配置数据库远程连接、安装java jdk环境以及配置环境变量、以及搭建伪分布式Zookeeper集群,并在搭建中启动Zookeeper服务形成伪分布式Zookeeper集群。最后还要完成上传流程xml文件到远端Zookeeper集群,然后尝试使用路径完成集群中流程xml文件的读取。因为Zookeeper天然支持配置变更和通知管理,确实不错
使用阿里云云上学习实践服务器搭建Zookeeper集群