Keepalived+Nginx 搭建高可用集群
本文主要讲述如何在 Ubuntu 虚拟机上使用 Keepalived 搭建 Nginx 高可用集群
环境准备
准备两台 Ubuntu(Ubuntu 版本为 Ubuntu 20.04.2 LTS) 虚拟机,配置如下:
虚拟机名称 hostname IP
nginx-ha-1 node1 192.168.57.231
nginx-ha-2 node2 192.168.57.232
虚拟机安装可以参考笔者另外一篇文章,里面有比较详细的讲述(忽略 Docker 相关内容即可)
版本约定
nginx version: nginx/1.18.0 (Ubuntu)
Keepalived v2.0.19 (10/19,2019)
软件安装
笔者将采用在线安装的方式分别在 node1 和 node2 上安装 nginx 和 Keepalived。
Nginx 安装
在 node1 上执行如下命令安装 nginx
node2 上执行同样的命令安装 nginx
分别修改 node1、node2 上的/var/www/html/index.nginx-debian.html 文件,在文件上增加当前虚拟机的 IP,如下:
验证 nginx
在浏览器上分别访问http://192.168.57.231/ http://192.168.57.232/
Keepalived 安装
在 node1 上执行如下命令安装 keepalived
node2 上执行同样的命令安装 nginx
主从模式配置
集群规划
虚拟机名称 hostname IP VIP/集群角色
nginx-ha-1 node1 192.168.57.231 192.168.57.230/MASTER
nginx-ha-2 node2 192.168.57.232 192.168.57.230/BACKUP
Keepalived 配置
在 node1、node2 的 /etc/keepalived 目录下分别增加 keepalived.conf、check.sh 文件
编辑 node1 的 /etc/keepalived/keepalived.conf
node1 的 /etc/keepalived/keepalived.conf 内容如下:
编辑 node2 的 /etc/keepalived/keepalived.conf
node2 的 /etc/keepalived/keepalived.conf 内容如下:
在 node1、node2 的 /etc/keepalived 的目录下增加 check.sh,内容如下:
分别在 node1、node2 上修改 check.sh 权限
验证高可用
分别在 node1、node2 上执行如下命令重启 keepalived 服务:
访问 VIP http://192.168.57.230/,默认访问的是 node1 的 nginx,即 231
将 node1 关机,继续访问 VIP http://192.168.57.230/,此时 VIP 会自动漂移到 node2 上,即 232
双主模式配置
集群规划
虚拟机名称 hostname IP VIP/集群角色
nginx-ha-1 node1 192.168.57.231 192.168.57.230/MASTER
192.168.57.233/BACKUP
nginx-ha-2 node2 192.168.57.232 192.168.57.230/BACKUP
192.168.57.233/MASTER
Keepalived 配置
在 node1、node2 的 /etc/keepalived 目录下分别增加 keepalived.conf、check.sh 文件
编辑 node1 的 /etc/keepalived/keepalived.conf
node1 的 /etc/keepalived/keepalived.conf 内容如下:
编辑 node2 的 /etc/keepalived/keepalived.conf
node2 的 /etc/keepalived/keepalived.conf 内容如下:
在 node1、node2 的 /etc/keepalived 的目录下增加 check.sh,内容如下:
分别在 node1、node2 上修改 check.sh 权限
验证高可用
分别在 node1、node2 上执行如下命令重启 keepalived 服务:
访问 VIP http://192.168.57.230/,http://192.168.57.233/ 可以正常访问 nginx,笔者机器都是访问的是 node1 虚拟机,即 231
将 node1 关机,继续访问 VIP http://192.168.57.230/ http://192.168.57.233/,此时 VIP 会自动漂移到 node2 上,即 232
版权声明: 本文为 InfoQ 作者【逸少】的原创文章。
原文链接:【http://xie.infoq.cn/article/4068bc2060bb69b24e83a3491】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论