天翼云虚拟IP地址及其在高可用集群中的应用

天翼云开发者社区
• 阅读 470

在很多应用场景中,需要在云平台中搭建高可用集群,就这需要用到虚拟IP地址功能。今天就来谈一谈虚拟IP地址及它的应用场景。

一、高可用集群 在谈虚拟IP地址前,我们先了解一下什么叫高可用集群。 高可用集群(High Availability Cluster),或者叫故障转移集群(Failover Cluster),它是指通过集群软件,将几台服务器组合为一个集群系统提供服务,这些服务器中同一时间内一般只有一台在提供服务(称之为主节点或者Master节点),其它服务器待命(称之为备节点或者Slave节点),当主节点出现服务器故障或者应用出现问题,集群软件自动将业务切换到备节点上,实现了故障的自动转移,使业务恢复正常,缩短了业务不可用时间。

二、高可用集群和负载均衡集群的区别 天翼云平台已经提供了弹性负载均衡服务,也可以实现业务的高用性,那为什么还要有高可用集群而不直接用负载均衡器呢? 这是由于负载均衡集群和高可用集群的使用场景有一定的差别。 负载均衡器的功能是根据配置的算法将接受到的应用请求分发到后端的真实服务器上,同时负载均衡器负责进行故障检测,如果后端真实服务器出现故障时,负载均衡器时会将出现故障的真实服务器从分发列表中剔除,应用请求不会分发到出现故障的服务器上,实现故障隔离。这种场景一般应用于后端服务器的地位是对等的场景,就像去电信营业厅办理业务,去1号还是2号柜台是没有任何区别的,都可以正常办理业务。因此负载均衡器一般用于Web服务器、应用服务器场景。

想一想,负载均衡器帮我们实现了Web服务器或应用服务器的高可用,如果负载均衡器本身出了问题怎么办呢?是不是整个业务系统就当掉了呢?虽然负载均衡也可以分级部署,一个负载均衡器把业务再次分发到后端的多个负载均衡器上,但第一级的负载均衡器还是有出现单点故障的可能。这就要用到高可用集群了。 高可用集群主要用于服务的接口只能是单一接口的场景。举个例子,一个公司里只会有一个总经理,可能会有几个副总,几个副总的分工会有所不同,但总经理永远只会有一个。如果总经理因某些原因不能继续履职,可能会从几个副总中提拔或者空降一个过来当总经理。这几个副总就好像负载均衡架构下的后端真实服务器,总经理如果不能履职了,就好像负载均衡器本身出了故障,必须要安排一个新的总经理来接任。

三、高可用集群中的虚拟IP地址 一个高可用集群需要一个统一的访问入口,这个入口就是IP地址。如果主节点当机了,备节点接管应用后同时也要把应用访问入口接管过来,否则客户端还会继续去访问已经当机的主节点。 画图举例,图中集群主节点IP地址是 192.168.1.10,备节点IP地址是 192.168.1.11,正常情况下客户端访问主节点的IP地址 192.168.1.10,如果主节点当机了,要实现故障的切换需要做两个步骤:1、在备节点上把应用启动起来 2、把备节点的IP地址修改为 192.168.1.10。就这需要人工进行干预,因为IP地址是不能随意变更的,达不到自动故障切换的目的。这种集群一般称之为冷备,备节点平时甚至可以关机,主节点出现故障后人工进行干预恢复业务。 天翼云虚拟IP地址及其在高可用集群中的应用

为实现客户端访问入口IP地址的自动切换,高可用集群中引入了虚拟IP地址。虚拟IP地址又称为VIP或者浮动IP,在图中我们增加一个虚拟IP地址 192.168.1.20 把它配置在主节点上,主节点出现故障后,集群软件会自动在备节点上增加这个虚拟IP地址。这样集群中实际有三个IP地址,192.168.1.10和192.168.1.11 一般称之为私有IP地址或固定IP地址,它们是不会随着应用的主备切换变更的,而192.168.1.20这个地址就会根据情况在两个节点之间切换。 主节点正常时,虚拟IP地址在主节点上,由主节点提供服务: 天翼云虚拟IP地址及其在高可用集群中的应用

主节点当机后,服务由备节点接管,虚拟IP地址自动切换到备节点上:

四、天翼云虚拟IP地址 在传统IT系统中,虚拟IP地址通过集群软件配置后就可以正常使用了。 在公有云平台上,需要在云平台申请一个虚拟IP地址,并绑定到高可用集群中的云主机,再在集群软件中配置这个虚拟IP地址就可以正常使用。 虚拟IP地址同时可以绑定到一个弹性公网IP地址,实现从公网访问高可用集群。 虚拟IP的申请方法为在天翼云控制台上,进入虚拟私有云菜单,进入需要创建虚拟IP所在的子网,点击到“虚拟IP”页面,申请一个虚拟IP地址。 天翼云虚拟IP地址及其在高可用集群中的应用

虚拟IP地址申请完成后,需要将虚拟IP地址绑定到高可用集群内的云主机,并可以绑定虚拟IP地址到一个弹性公网IP地址。 绑定完成后,平台的架构如下图: 天翼云虚拟IP地址及其在高可用集群中的应用

五、常用高可用集群软件及应用 目前公有云平台上最常用的高可用集群软件是开源的keepalived软件,keepalived只支持Linux操作系统,它在集群内维护一个虚拟IP地址,并可以监控应用的状态,进行虚拟IP地址的切换及应用的启停。 常见的应用场景举例: 1、keepalived + LVS/Haproxy实现高可用负载均衡集群 2、keepalived + nginx/Tomcat等中间件实现高可用应用集群 3、keepalived + MySQL实现MySQL高可用集群 4、keepalived + kubernetes 实现容器高可用集群

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
Rancher 2.4.3
一、概述对于生产环境,需以高可用的配置安装Rancher,确保用户始终可以访问RancherServer。当安装在Kubernetes集群中时,Rancher将与集群的etcd集成,并利用Kubernetes调度实现高可用。为确保高可用,本文所部署的Kubernetes集群将专用于运行Rancher,Rancher运行
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Stella981 Stella981
2年前
LVS+keepalived构建PXC高可用集群
1高可用安装1.1集群信息主机IP组件bdc212192.168.13.212LVS:ipvsadm1.277.el7.x86\_64.rpmKeepalived:keepalived1.2.4.tar.gz应用:PerconaXtraDBClusterbdc21
乐和 乐和
1星期前
Kubernetes实战:高可用集群搭建,配置,运维与应用
Kubernetes实战:高可用集群搭建,配置,运维与应用download》chaoxingit.com/2865/Kubernetes实战:高可用集群搭建、配置、运维与应用一、引言随着云计算技术的快速发展,容器化技术已成为应用程序部署和管理的标准方式。K
天翼云高可用虚拟IP(HAVIP)实践
(一)产品概述天翼云高可用虚拟IP(HighAvailabilityVirtualIPAddress,简称HAVIP)是一种可用独立创建和删除的私有网络IP地址资源。通过在VIPCIDR中申请一个私有网络IP地址,然后与高可用软件(如高可用软件Keepalived)配合使用,可用在VPC中搭建高可用的主备集群服务,提高VPC中服务的可用性。限制和说明
DevOpSec DevOpSec
10个月前
自建k8s集群之负载均衡使用
自建k8s而非云环境,组件mysql类(部分有状态服务)部署在虚机里也即集群外,业务服务部署在k8s集群内。需求:集群内、集群外,业务服务和组件相互间通过负载均衡、高可用的形式连通。此需求拆解成两个问题进行解决,接着往下看。集群内:k8s集群集群外:k8s集群外的应用部署在虚拟机或物理机环境
Python进阶者 Python进阶者
2个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
天翼云开发者社区
天翼云开发者社区
Lv1
天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。
文章
473
粉丝
8
获赞
37