如可安装部署haproxy+keeyalived高可用集群

news/2025/2/6 0:24:12 标签: linux, 运维

第一步,环境准备

服务

IP

描述

Keepalived  vip

Haproxy  负载均衡

主服务器

Rip:192..168.244.101

Vip:192.168.244.100

Keepalive主节点

Keepalive作为高可用

Haproxy作为4 或7层负载均衡

Keepalived  vip

Haproxy  负载均衡

备用服务器

Rip:192.168.244.102

Vip:192.168.244.100

Keepalive从节点

Keepalive作为高可用

Haproxy作为4 或7层负载均衡

Web服务器1

192.168.244.103

后端真实服务器

Web服务器2

192.168.244.104

后端真实服务器

关闭selinux、firewalld、配置yum源,修改主机名,配置域名解析,配置时间同步

修改主机名

hostnamectl set-hostname master

hostnamectl set-hostname backup

hostnamectl set-hostname server1 

hostnamectl set-hostname server2

配置域名解析,四台服务器都配置

# cat >> /etc/hosts <<EOF

192.168.244.101 master

192.168.244.102 backup

192.168.244.103 server1

192.168.244.104 server2

EOF

关闭防火墙,关闭selinux,四台服务器都要关闭

systemctl disable firewalld --now

关闭selinux

sed -i '/^SELINUX/s/enforcing/disabled/g' /etc/selinux/config

setenforce 0

安装常用软件

yum -y install ntpdate bash-completion* net-tools wget

配置时间同步

crontab -e

*/1 * * * * /usr/sbin/ntpdate ntp.aliyun.com

四台服务器配置yum源

#wget -O \

/etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

#wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

第二步,安装httpd服务器,server1和server2安装httpd,并启动httpd

在server1和server2上安装web服务器

server1 ~]# yum -y install httpd

server1 ~]echo "server1" > /var/www/html/index.html

server1 ~]# systemctl start httpd

server1 ~]# curl 192.168.244.103

server2 ~]# yum -y install httpd

server2 ~]echo "server02" > /var/www/html/index.html

server2 ~]# systemctl start httpd

server2 ~]# curl 192.168.244.104

第三步,安装keepalived

开始安装keepalived,并将/etc/keepalived/keepalived.conf文件进行备份

在master和backup两台服务器上安装

yum -y install keepalived

cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak

第四步,开始修改keepalived.conf配置文件 ,在master和backup两台服务器上修改

cat > /etc/keepalived/keepalived.conf << EOF

global_defs {

   router_id LVS_master  #主和从要有单独的route_id

}

vrrp_instance VI_1 {

    state MASTER  #主为MASTER 从为BACKUP

    interface ens33  #指定配机网卡的设备名

    virtual_router_id 51  #指定虚拟路由主从要一致

    priority 100  #指定优先级主优先高 从做先级低

    advert_int 1  #心跳检测时间间隔

    authentication {  #keepalived内通信认证方式

        auth_type PASS

        auth_pass 1111

    }

    virtual_ipaddress {  #指定绑定的vip

        192.168.244.100

    }

}

EOF

master上要修改的keeplived.conf配置文件

backup上要修改的keeplived.conf配置文件

第五步,开启keepalived

启动keepalived

master ~]# systemctl start keepalived

backup ~]# systemctl start keepalived

使用ip a指令查看vip是否配置成功

在master主服务器上配置成功

[root@master ~]# ip a

[root@backup ~]# ip a         //从服务器上没有

测试一下vip是否飘移

关闭master服务器上的keepalived,查看backup服务器上是否有vip 也就是192.168.244.100/32的IP地址,有这说明vip漂移到了backup从服务器上,再开启master主服务器上的keepalived,就会漂移到master主服务器上

[root@master ~]# systemctl stop keepalived.service

成功

第六步,安装haproxy

Master和backup上安装

[root@master ~]# yum -y install haproxy

[root@backup ~]# yum -y install haproxy

备份一下/etc/haproxy/haproxy.cfg 文件 ,防止修改出问题

[root@master ~]# cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak

[root@backup ~]# cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak

第七步,haproxy配置文件,修改/etc/haproxy/haproxy.cfg 文件,master和backup上都要修改

[root@master ~]# vim /etc/haproxy/haproxy.cfg

listen stats

   bind 0.0.0.0:880

   stats enable

   stats uri /status

   stats auth admin:123456

   stats refresh

frontend web_in

   bind 0.0.0.0:80

   use_backend web

backend web

   balance roundrobin

   server web1 192.168.244.103:80 check weight 2

   server web2 192.168.244.104:80 check weight 8

拷贝配置文件到备服务器

# scp /etc/haproxy/haproxy.cfg 192.168.244.102:/etc/haproxy/

启动hyproxy

[root@master ~]# systemctl start haproxy.service

[root@backup ~]# systemctl start haproxy.service

账号:admin   密码:123

成功,也实现了负载均衡

但是Haproxy+keepalived高可用集群,允许keepalived宕机,允许后端真实服务器宕机,但是不允许haproxy宕机。

解决方案参考

Haproxy+keepalived高可用集群,haproxy宕机的解决方案-CSDN博客


http://www.niftyadmin.cn/n/5842488.html

相关文章

Leetcode Hot100 61-65

法一&#xff1a;使用辅助栈 一个栈正常存&#xff0c;另一个存最小值 class MinStack {Deque<Integer>stack;Deque<Integer>minstack;public MinStack() {stack new LinkedList<>();minstack new LinkedList<>();}public void push(int val) {stac…

洛谷P3884 [JLOI2009] 二叉树问题(详解)c++

题目链接&#xff1a;P3884 [JLOI2009] 二叉树问题 - 洛谷 | 计算机科学教育新生态 1.题目解析 1&#xff1a;从8走向6的最短路径&#xff0c;向根节点就是向上走&#xff0c;从8到1会经过三条边&#xff0c;向叶节点就是向下走&#xff0c;从1走到6需要经过两条边&#xff0c…

kubernetes学习-配置管理(九)

一、ConfigMap &#xff08;1&#xff09;通过指定目录&#xff0c;创建configmap # 创建一个config目录 [rootk8s-master k8s]# mkdir config[rootk8s-master k8s]# cd config/ [rootk8s-master config]# mkdir test [rootk8s-master config]# cd test [rootk8s-master test…

Mac M1 ComfyUI 中 AnyText插件安装问题汇总?

Q1&#xff1a;NameError: name ‘PreTrainedTokenizer’ is not defined ? 该项目最近更新日期为2024年12月&#xff0c;该时间段的transformers 版本由PyPI 上的 transformers 页面 可知为4.47.1. A1: transformers 版本不满足要求&#xff0c;必须降级transformors &#…

Ajax:重塑Web交互体验的人性化探索

在数字化时代&#xff0c;网页的交互性和响应速度已成为衡量用户体验的关键指标。Ajax&#xff08;Asynchronous JavaScript and XML&#xff09;&#xff0c;作为前端与后端沟通的桥梁&#xff0c;凭借其异步通信的能力&#xff0c;极大地提升了网页的动态性和用户友好度&…

中国证券基本知识汇总

中国证券市场是一个多层次、多领域的市场&#xff0c;涉及到各种金融工具、交易方式、市场参与者等内容。以下是中国证券基本知识的汇总&#xff1a; 1. 证券市场概述 证券市场&#xff1a;是指买卖证券&#xff08;如股票、债券、基金等&#xff09;的市场。证券市场可以分为…

蓝桥杯接龙序列

5 11 121 22 12 2023 1暴力dfs&#xff1a;面对最优解问题&#xff0c;dfs是枚举所有方案并判断该方案是否合法&#xff0c;在合法方案中选出题目要的最优解。本题对于每一个数字要么留要么去&#xff0c;会形成一颗决策树&#xff0c;但o(n**2)超时。 这里注意一下数的最大值…

用deepseek制作我的第一个长视频---使用AI解决尝试新领域没有经验拖延的问题!

&#xff08;由于技术原因&#xff0c;联网搜索暂不可用&#xff09; 制作一个高质量的Vlog或生活记录长视频&#xff0c;即使零基础也能通过系统规划实现&#xff01;以下是为你定制的「从零到成品」全流程指南&#xff0c;结合叙事逻辑、剪辑技巧和效率工具&#xff0c;帮你…