一、ECS环境搭建

1、进入阿里云ECS云服务器

配置服务器参数

cloudstack 负载均衡 云主机负载均衡_cloudstack 负载均衡


cloudstack 负载均衡 云主机负载均衡_cloudstack 负载均衡_02

cloudstack 负载均衡 云主机负载均衡_cloudstack 负载均衡_03


cloudstack 负载均衡 云主机负载均衡_cloudstack 负载均衡_04

2、搭建两台云服务器主机

分别有私网和公网两个ip

cloudstack 负载均衡 云主机负载均衡_后端服务_05


(1)使用ssh服的可上网的linux系统连接两台主机的私网

(2)配置http服务并设置默认发布目录

(3)使用curl命令可连接两台云主机

Tips:
当需要调整云服务配置时停止该服务器并配置相应参数
默认安全组中端口需要自行开启,否则可能会导致实验失败

1、云盘拉伸

创建快照

cloudstack 负载均衡 云主机负载均衡_新版本_06

cloudstack 负载均衡 云主机负载均衡_运维_07

cloudstack 负载均衡 云主机负载均衡_新版本_08

cloudstack 负载均衡 云主机负载均衡_cloudstack 负载均衡_09

cloudstack 负载均衡 云主机负载均衡_负载均衡_10


cloudstack 负载均衡 云主机负载均衡_新版本_11


cloudstack 负载均衡 云主机负载均衡_新版本_12

cloudstack 负载均衡 云主机负载均衡_负载均衡_13

2、云盘镜像封装

在快照基础上封装镜像

cloudstack 负载均衡 云主机负载均衡_新版本_14


cloudstack 负载均衡 云主机负载均衡_后端服务_15


cloudstack 负载均衡 云主机负载均衡_负载均衡_16


cloudstack 负载均衡 云主机负载均衡_负载均衡_17

二、ECS云盘弹性伸缩

弹性伸缩(Auto
Scaling)是根据业务需求和策略自动调整计算能力(即实例数量)的服务。您可以指定实例的类型,即ECS实例或ECI实例。在业务需求增长时,弹性伸缩自动增加指定类型的实例,来保证计算能力;在业务需求下降时,弹性伸缩自动减少指定类型的实例,来节约成本。弹性伸缩不仅适合业务量不断波动的应用程序,同时也适合业务量稳定的应用程序。

cloudstack 负载均衡 云主机负载均衡_后端服务_18

cloudstack 负载均衡 云主机负载均衡_cloudstack 负载均衡_19

cloudstack 负载均衡 云主机负载均衡_运维_20

cloudstack 负载均衡 云主机负载均衡_运维_21

cloudstack 负载均衡 云主机负载均衡_负载均衡_22


cloudstack 负载均衡 云主机负载均衡_cloudstack 负载均衡_23

cloudstack 负载均衡 云主机负载均衡_负载均衡_24

cloudstack 负载均衡 云主机负载均衡_运维_25


cloudstack 负载均衡 云主机负载均衡_新版本_26

cloudstack 负载均衡 云主机负载均衡_后端服务_27

cloudstack 负载均衡 云主机负载均衡_cloudstack 负载均衡_28

cloudstack 负载均衡 云主机负载均衡_运维_29

cloudstack 负载均衡 云主机负载均衡_cloudstack 负载均衡_30

cloudstack 负载均衡 云主机负载均衡_后端服务_31

cloudstack 负载均衡 云主机负载均衡_运维_32

cloudstack 负载均衡 云主机负载均衡_后端服务_33

cloudstack 负载均衡 云主机负载均衡_运维_34

cloudstack 负载均衡 云主机负载均衡_后端服务_35

cloudstack 负载均衡 云主机负载均衡_新版本_36

cloudstack 负载均衡 云主机负载均衡_新版本_37

cloudstack 负载均衡 云主机负载均衡_cloudstack 负载均衡_38

cloudstack 负载均衡 云主机负载均衡_cloudstack 负载均衡_39

cloudstack 负载均衡 云主机负载均衡_运维_40

cloudstack 负载均衡 云主机负载均衡_cloudstack 负载均衡_41

cloudstack 负载均衡 云主机负载均衡_cloudstack 负载均衡_42

定时任务

cloudstack 负载均衡 云主机负载均衡_运维_43

cloudstack 负载均衡 云主机负载均衡_cloudstack 负载均衡_44


cloudstack 负载均衡 云主机负载均衡_后端服务_45


cloudstack 负载均衡 云主机负载均衡_运维_46

报警任务

cloudstack 负载均衡 云主机负载均衡_新版本_47

cloudstack 负载均衡 云主机负载均衡_新版本_48

dd if=/dev/zero of=/dev/null &
测试命令

cloudstack 负载均衡 云主机负载均衡_新版本_49

cloudstack 负载均衡 云主机负载均衡_cloudstack 负载均衡_50

三、负载均衡搭建

1、传统型负载均衡CLB

传统型负载均衡CLB是将访问流量根据转发策略分发到后端多台云服务器(ECS实例)的流量分发控制服务。CLB扩展了应用的服务能力,增强了应用的可用性。

概述
CLB通过设置虚拟服务地址,将添加的同一地域的多台ECS实例虚拟成一个高性能和高可用的后端服务池,并根据转发规则,将来自客户端的请求分发给后端服务器池中的ECS实例。
CLB默认检查云服务器池中的ECS实例的健康状态,自动隔离异常状态的ECS实例,消除了单台ECS实例的单点故障,提高了应用的整体服务能力。此外,CLB还具备抗DDoS攻击的能力,增强了应用服务的防护能力。

组成部分
CLB由以下三个部分组成:

CLB实例 (Instances)
一个CLB实例是一个运行的负载均衡服务,用来接收流量并将其分配给后端服务器。要使用负载均衡服务,您必须创建一个CLB实例,并至少添加一个监听和两台ECS实例。

监听 (Listeners)
监听用来检查客户端请求并将请求转发给后端服务器。监听也会对后端服务器进行健康检查。

后端服务器(Backend Servers
后端服务器是一组接收前端请求的ECS实例。您可以单独添加ECS实例到后端服务器池,也可以通过虚拟服务器组或主备服务器组来批量添加和管理。

cloudstack 负载均衡 云主机负载均衡_后端服务_51


2、CLB实例创建

cloudstack 负载均衡 云主机负载均衡_负载均衡_52


配置CLB需要管理的云服务器

cloudstack 负载均衡 云主机负载均衡_负载均衡_53


开启服务器端口

cloudstack 负载均衡 云主机负载均衡_运维_54


完成配置

cloudstack 负载均衡 云主机负载均衡_新版本_55

在网页上访问CLB实例的公网ip可以看到负载均衡

cloudstack 负载均衡 云主机负载均衡_新版本_56


cloudstack 负载均衡 云主机负载均衡_运维_57

2、应用型负载均衡ALB

应用型负载均衡ALB(Application Load Balancer)是阿里云推出的专门面向HTTP、HTTPS和QUIC等应用层负载场景的负载均衡服务,具备超强弹性及大规模应用层流量处理能力。ALB具备处理复杂业务路由的能力,与云原生相关服务深度集成,是阿里云官方提供的云原生Ingress网关。

cloudstack 负载均衡 云主机负载均衡_运维_58

步骤一:创建ALB实例

cloudstack 负载均衡 云主机负载均衡_运维_59


(1)创建专有网络VPC

cloudstack 负载均衡 云主机负载均衡_运维_60

cloudstack 负载均衡 云主机负载均衡_负载均衡_61


cloudstack 负载均衡 云主机负载均衡_后端服务_62


cloudstack 负载均衡 云主机负载均衡_负载均衡_63


(2)创建交换机

cloudstack 负载均衡 云主机负载均衡_新版本_64


cloudstack 负载均衡 云主机负载均衡_后端服务_65

步骤二:创建后端服务器组

cloudstack 负载均衡 云主机负载均衡_后端服务_66


创建ECS服务器(在之前的专有网络下配置)

cloudstack 负载均衡 云主机负载均衡_后端服务_67


cloudstack 负载均衡 云主机负载均衡_cloudstack 负载均衡_68

cloudstack 负载均衡 云主机负载均衡_新版本_69

cloudstack 负载均衡 云主机负载均衡_负载均衡_70


cloudstack 负载均衡 云主机负载均衡_负载均衡_71


cloudstack 负载均衡 云主机负载均衡_负载均衡_72


cloudstack 负载均衡 云主机负载均衡_cloudstack 负载均衡_73

步骤三:配置监听

cloudstack 负载均衡 云主机负载均衡_cloudstack 负载均衡_74


cloudstack 负载均衡 云主机负载均衡_后端服务_75


cloudstack 负载均衡 云主机负载均衡_运维_76

cloudstack 负载均衡 云主机负载均衡_新版本_77


在三台主机上下载http服务并配置,使用域名访问

cloudstack 负载均衡 云主机负载均衡_后端服务_78


cloudstack 负载均衡 云主机负载均衡_新版本_79

四、使用ALB实现灰度发布

灰度发布(又称为金丝雀发布)是一种平滑过渡的发布方式,将老版本应用与新版本应用同时部署在环境中,让一部分用户继续使用老版本应用,一部分用户开始使用新版本应用,然后根据用户使用情况调整新版本流量占比,逐步把所有用户都迁移到新版本应用。

应用场景
互联网产品需要快速迭代开发上线,同时又要保证质量。为保证刚上线的系统出现问题后可以很快控制影响,需要设计一套灰度发布系统,按照发布策略选取部分用户流量,先行使用新版本应用,然后通过收集这部分用户对新版本应用的反馈,以及新版本应用的日志、性能、稳定性等指标来评审新版应用。根据评审情况,决定是否继续增加新版本的应用实例和流量,直至全量升级,或者发现问题后及时回滚到老版本。

cloudstack 负载均衡 云主机负载均衡_运维_80


cloudstack 负载均衡 云主机负载均衡_运维_81


cloudstack 负载均衡 云主机负载均衡_cloudstack 负载均衡_82


cloudstack 负载均衡 云主机负载均衡_负载均衡_83


在重新配置ECS服务器后要重新添加后端服务器

cloudstack 负载均衡 云主机负载均衡_新版本_84

cloudstack 负载均衡 云主机负载均衡_后端服务_85


基于HTTP标头实现灰度发布

cloudstack 负载均衡 云主机负载均衡_cloudstack 负载均衡_86


cloudstack 负载均衡 云主机负载均衡_运维_87


基于不同服务器组实现灰度发布

cloudstack 负载均衡 云主机负载均衡_后端服务_88


cloudstack 负载均衡 云主机负载均衡_负载均衡_89