利用playbook自动搭建LVS+Keepalived实现高可用负载均衡

文章目录

      • 1.个人环境
      • 2.配置服务器
      • 3.创建ansible-playbook的目录结构
        • 3.1 ansible组成介绍
        • 3.2 流程图(剧本)
        • 3.4 附加
        • 3.5 注意事项

1.个人环境

(1)Centos 7.0
(2)Lvsadm
(3)Keepalived-2.0.12

如果大家还并不知道“LVS+Keepalived实现高可用负载均衡”的原理,或者说在节点上如何部署都不知道,那使用playbook搭建就更不用谈了。建议大家先看看如何搭建再到这里来看这个内容。所以,时空穿梭器:https://blog.csdn.net/D_Janrry/article/details/105078889

2.配置服务器

这里,ftp、http服务器都行,我配置的http服务器,该服务可以在单独的服务器上(本人如此),也可以在ansible机器上,配置如下:

[root@ds1 ~]#  systemctl stop firewalld
[root@ds1 ~]# systemctl disable firewalld
[root@ds1 ~]#  sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@ds1 ~]#  setenforce 0
[root@ds1 ~]#  yum install httpd -y
[root@ds1 ~]#  systemctel start httpd
[root@ds1 ~]#  mkdir - p /var/www/html/software

在这里插入图片描述
利用playbook自动搭建LVS+Keepalived实现高可用负载均衡_第1张图片
我的80端口nignx占用着呢,所以我使用了8080端口,其他端口我不敢保证httpd能不能兼容。

3.创建ansible-playbook的目录结构

利用playbook自动搭建LVS+Keepalived实现高可用负载均衡_第2张图片
我在之前一篇文章中说过里面目录究竟是什么作用,很详细,所以可以去看看那篇文章。时空穿梭器:https://blog.csdn.net/D_Janrry/article/details/105197372

相信大家既然能点进来,就肯定对这个ansible语法,框架是知道的,所以我就不一一打开这些文件给大家看了,我主要讲一下大体思路:只有知道思路,你才能举一反三,配置其他复杂的,你也思路清晰。

在这里插入图片描述

3.1 ansible组成介绍

ansibe.cfg:ansible的配置文件
hosts:ansible主仓库,存储需要管理的远程主机的信息
roles:主要的角色,就是你要安装的软件的主要信息
work_dir:通俗点说,这是执行ansible或者说开始安装的总入口,需要进入这里面开始执行ansible-playbook xxx.yaml 至于这个文件,你里面放置的顺序就是安装的顺序,简单点说,这里面就是剧本,roles里面的演员根据这里的顺序开始表演。

3.2 流程图(剧本)

(我就按照我的给大家讲)
利用playbook自动搭建LVS+Keepalived实现高可用负载均衡_第3张图片
这样写着,我想够清楚了吧,你要再不懂,来私信我。。。
这是“nfs”这个演员的戏,他的戏就是这样一个流程。而“web” 和“keepalived”这两个演员的戏也是这样一个流程。

最后,上一个成功图,给你们打打气。利用playbook自动搭建LVS+Keepalived实现高可用负载均衡_第4张图片

3.4 附加

注意:这个你如果设置了重启,极有可能重启不了,这时候 你需要在keepalived里面的task文件加几个play:(放在传输keepalived.j2后面)

- name: Modify startup script
  template: src=keepalived_service.j2 dest=/usr/lib/systemd/system/keepalived.service

- name: Reload the configuration
  shell: systemctl daemon-reload

加keepalived_service.j2的文件,内容如下:

[Unit]
Description=LVS and VRRP High Availability Monitor
After= network-online.target syslog.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/var/run/keepalived.pid
EnvironmentFile=-/data/keepalived/etc/sysconfig/keepalived
ExecStart=/data/keepalived/sbin/keepalived $KEEPALIVED_OPTIONS
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target

3.5 注意事项

友情提示: 1.在安装执行之前,请配置好dns(不然我怕安装报红一大堆吓着你)。 2.如果之前你用虚拟机按二进制装过mysql的话,建议你不用这个虚拟机。或者你保存快照,然后将/etc/my.cnf 删干净。不然你安装完,vip访问不到。 3.若有nginx,请全部关掉,以防占80端口。 4.在配置DS之前,不要安装ipvsadm,更不能有规则,不然你vip依然无法访问。

目前就这些,肯定还有需要注意的,如果遇到,我再更新。。。

你可能感兴趣的:(实战案例,linux,centos,运维,负载均衡,经验分享)