keepalived 实现 IP 地址漂移

这篇具有很好参考价值的文章主要介绍了keepalived 实现 IP 地址漂移。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


🎈 作者:Linux猿

🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C++、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊!

🎈 欢迎小伙伴们点赞👍、收藏⭐、留言💬


目录

一、实验环境

二、安装软件

2.1 安装 keepalived 和 ipvsadm

2.2 安装 httpd

2.3 配置修改

2.4 启动服务

三、测试 keepalived

四、总结


本篇文章主要介绍 keepalived 的配置,实现 VIP 漂移。

一、实验环境

实验环境为 CentOS 7.9,如下所示。

[root@k8s-node-1 node]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
[root@k8s-node-1 node]#

准备两台同样的机器,配置如下。

实验机器
名称 系统 IP
master centos7.9 192.168.231.152 
slave centos7.9 192.168.231.151

二、安装软件

2.1 安装 keepalived 和 ipvsadm

分别在 master 和 slave 上安装 keepalived 包,执行命令如下所示。

[root@k8s-node-1 node]# yum -y install keepalived ipvsadm
[root@k8s-node-1 node]# systemctl enable keepalived

上面两个命令分别是安装软件包 keepalived 和 ipvsadm,然后设置 keepalived 开机自启动。

2.2 安装 httpd

[root@k8s-node-1 node]# yum -y install httpd
[root@k8s-node-1 node]# systemctl enable httpd

2.3 配置修改

(1)master 机器

添加 index.html,执行如下命令。

[root@k8s-master node]# echo "<h1>This is master</h1>" > /var/www/html/index.html

修改 keepalived 的配置文件 /etc/keepalived/keepalived.conf,如下所示。

! Configuration File for keepalived

global_defs {
   router_id 1
}
vrrp_instance VI_1 {
    state MASTER
    interface ens33
    virtual_router_id 1
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        192.168.231.160
    }
}

(2)slave 机器

添加 index.html,执行如下命令。

[root@k8s-node-1 node]# echo "<h1>This is backup</h1>" > /var/www/html/index.html

修改 keepalived 的配置文件 /etc/keepalived/keepalived.conf ,如下所示。

! Configuration File for keepalived
global_defs {
   router_id 2
}
vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 1
    nopreempt
    priority 99
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 123456
    }
    virtual_ipaddress {
        192.168.231.160
    }
}

其中,配置文件的规则如下所示。

global_defs {
    router_id 1 //router_id 自定义,主备不能相同,备:router_id 2
}
vrrp_instance VI_1 {
    state MASTER // 主:state MASTER,备:state BACKUP
    interface eth0 // 改为自己网卡名称
    virtual_router_id 1 // 组的ID,主备要一致
    mcast_src_ip 192.168.231.150 // 本段服务器IP
    priority 100 // 优先级,主要高于备,备改为99
    advert_int 1 // 通告间隔描述,心跳频率
    nopreempt    // 不抢夺 VIP 重要!
    authentication {
    auth_type PASS // 主备一致
    auth_pass 123456 // 主备一致
    virtual_ipaddress {
        192.168.231.160 // 指定的VIP,主备一致
    }
}

(3)关闭防火墙

关闭防火墙,谨慎操作,仅用于测试环境。 

[root@k8s-node-1 node]# systemctl stop firewalld.service

2.4 启动服务

分别在 master 和 slave 节点上执行如下命令,启动 keepalived。

[root@k8s-node-1 node]# systemctl start keepalived.service

分别在 master 和 slave 节点上执行如下命令,启动 httpd。

[root@k8s-node-1 node]# systemctl start httpd

三、测试 keepalived

首先,在 master 上执行命令 ip a,查看是否已经配置成功。

[root@k8s-master node]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:ca:f5:28 brd ff:ff:ff:ff:ff:ff
    inet 192.168.231.152/24 brd 192.168.231.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet 192.168.231.160/32 scope global ens33  # 出现这个表示配置成功!!!
       valid_lft forever preferred_lft forever
    inet6 fe80::e3a3:533b:4112:90d5/64 scope link tentative noprefixroute dadfailed
       valid_lft forever preferred_lft forever
    inet6 fe80::57e:3922:f35e:9904/64 scope link tentative noprefixroute dadfailed
       valid_lft forever preferred_lft forever
    inet6 fe80::1bb3:d02e:702b:d4dc/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: virbr0: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:84:91:8b brd ff:ff:ff:ff:ff:ff
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:84:91:8b brd ff:ff:ff:ff:ff:ff
[root@k8s-master node]#

如上所示,出现 192.168.231.160 的 IP 表示配置成功,通过在浏览器中输入 192.168.231.160,执行结果如下所示。

keepalived 设置vip,微服务/K8s/Docker,keepalived,VIP漂移,keepalived 配置,keepalived高可用
图1 访问结果

 你可以进一步进行测试,例如:关掉 master 节点,在浏览器中输入 192.168.231.160 后执行结果如下所示。

keepalived 设置vip,微服务/K8s/Docker,keepalived,VIP漂移,keepalived 配置,keepalived高可用
图2 访问结果

 如果再次将 master 节点启动起来,在浏览器中输入 192.168.231.160 后执行结果如下所示。

keepalived 设置vip,微服务/K8s/Docker,keepalived,VIP漂移,keepalived 配置,keepalived高可用
图1 访问结果

四、总结

本篇文章介绍到这里,有问题欢迎在评论区交流,后续会更新 keepalived 的原理,敬请期待!

参考链接:

CentOS7 部署 Keepalived保姆级教程_centos7 keepalived_未来村长的博客-CSDN博客

 Keepalived 设置master故障恢复后不重新抢回VIP(解决nopreempt无效)_征服.刘华强的博客-CSDN博客


🎈 感觉有帮助记得「一键三连支持下哦!有问题可在评论区留言💬,感谢大家的一路支持!🤞猿哥将持续输出「优质文章回馈大家!🤞🌹🌹🌹🌹🌹🌹🤞文章来源地址https://www.toymoban.com/news/detail-545214.html


到了这里,关于keepalived 实现 IP 地址漂移的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 电脑如何设置不同网段的IP地址,实现访问不同IP的PLC或HMI设备?

    电脑如何设置不同网段的IP地址,实现访问不同IP的PLC或HMI设备? 这里以win10系统为例进行说明: 如下图所示,打开右下角的“网络和Internet设置”, 如下图所示,点击进入“更改适配器选项”, 如下图所示,找到当前使用的网卡,右击选择属性, 如下图所示,找到“Inter

    2024年02月05日
    浏览(44)
  • 交换机端口灯常亮 端口up状态 服务器设置ip交换机获取不到服务器网卡mac地址 不能通信

    深信服防火墙 8.0.75 AF-2000-FH2130B-SC S6520X-24ST-SI交换机 version 7.1.070, Release 6530P02 交换机一个vlan下有3台服务器,连接端口2、3、4,2和3连接的服务器正常,交换机3端口灯常亮 端口up状态 服务器自动获取不了地址,改为手动设置ip后,交换机查看arp表,获取不到服务器网卡mac地址

    2024年02月02日
    浏览(53)
  • 只有1个公网IP地址---设置内网服务器 +++ 华为路由器:外网可以访问内网服务区---内网服务区访问不了外网---内网办公区可以访问外网和内网服务区(只有1个公网IP地址)

    1.公司只有一个公网IP地址66.66.66.66/24 同时满足以下3点:  1.外网可以访问内网服务区(DMZ); 2.内网服务区(DMZ)无法访问外网; 3.内网办公区可以访问外网和内网服务区(DMZ)。 注释:R:公司路由、ISP:电信路由、R3外网路由 1.配置PC、路由器接口IP地址; 具体配置见代码

    2024年02月13日
    浏览(41)
  • k8s svc通过externalIPs并结合Keepalived对外暴露服务

    Kubemetes 的 Service需要对集群外暴露,可以通过NodePort、Ingress和LoadBalancer,其中 NodePort:需要预先知道k8s集群节点的IP地址,在使用时需指定node的ip(这样配置存在单点故障); Ingress:实现的是HTTP(S)负载均衡器,只能代理七层; LoadBalancer:需要通过云服务商提供的负载均衡器

    2024年02月05日
    浏览(62)
  • 以太网交换安全(二)----MAC地址表安全&MAC地址漂移防止与检测

    目录 一、MAC地址表安全 MAC地址表项类型包括: MAC地址表安全功能:​ 实验部分: 黑洞MAC地址表: 更改动态MAC地址老化时间:​ 交换机MAC学习功能切换: 静态MAC地址: 限制接口的MAC地址学习数量: 二、MAC地址漂移 什么是MAC地址漂移? 解决方法:(实验部分:) 1、优先级部

    2024年02月04日
    浏览(43)
  • 通过keepalived+nginx实现 k8s apiserver节点高可用

    K8s 主机配置: 配置: 4Gib 内存/4vCPU/60G 硬盘 网络:机器相互可以通信 k8s 实验环境网络规划: podSubnet(pod 网段) 10.244.0.0/16 serviceSubnet(service 网段): 10.96.0.0/12 物理机网段:192.168.1.0/24 2个控制节点2个工作节点 K8S集群角色 IP地址 主机名 安装的组件 控制节点 192.168.1.63 xueg

    2024年02月03日
    浏览(39)
  • 如何设置本地连接ip 本机固定IP地址设置方法

    本地IP怎么设置?很多配置路由器的时候有时候找不到192.168.1.1就是因为本地固定ip地址有问题,这个时候就需要我们设置本地固定ip地址了,近日又有不少网友向编辑问这个问题,今天yii666编辑专门针对本地连接ip设置做详细介绍,方便大家查找。 其实需要设置本地IP一般是在

    2024年02月05日
    浏览(40)
  • k8s pod获取ip地址过程

    在学习 Kubernetes 网络模型的过程中,了解各种网络组件的作用以及如何交互非常重要。本文就介绍了各种网络组件在 Kubernetes 集群中是如何交互的,以及如何帮助每个 Pod 都能获取 IP 地址。 Kubernetes 网络模型的核心要求之一是每个 Pod 都拥有自己的 IP 地址并可以使用该 IP 地址

    2024年02月08日
    浏览(44)
  • K8s主机IP地址变更集群恢复

    k8s版本 v1.23.6 docker版本 20.10.6 节点名称 原IP 新IP k8s-master 192.168.6.100 192.168.6.200 k8s-node01 192.168.6.110 192.168.6.210 k8s-node02 192.168.6.120 192.168.6.220 未调整IP前集群信息如下: 调整k8s-master节点IP后,重启机器,显示如下: 1. 所有机器修改hosts解析文件  2. 把/etc/kubernetes/*.conf中所有的旧

    2024年04月28日
    浏览(43)
  • virtualBox桥接模式下openEuler镜像修改IP地址、openEule修改IP地址、openEule设置IP地址

    安装好openEuler后,设置远程登入前,必不可少的一步,主机与虚拟机之间的通信要解决,下面给出详细步骤: 第一步:检查虚拟机适配器模式:桥接模式  第二步:登入虚拟机修改IP cd /etc/sysconfig/network-scripts vim ifcfg-enpgs3 没有vim的安装或者用vi代替:sudo dnf install vim -y 添加修

    2024年02月12日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包