java中keepalived,Keepalived快速使用(Ubuntu18.04)

Keepalived(http://www.keepalived.org/)是一个用于虚拟IP自动切换的软件,可以在多个节点指定一个虚拟IP地址,遇到主节点故障时将该虚拟IP漂移到其它可用的节点,从而保障服务可以持续。

注意

服务所依赖的环境需要在所有节点上预先配置好。

Keepalived仅对IP地址进行漂移,当前应用状态会丢失。

当前应用的状态和数据需要应用自身在多节点间进行同步。

安装软件:

sudo apt install keepalived

刚安装完,配置文件目录/etc/keepalived/是空的,把下面的内容保存为文件keepalived.conf和chk_k8s_master.sh,放到该目录下。

注意:

虚拟IP会占用一个物理网卡地址。通过配置文件指定。

使用 ifconfig查看网卡的de vice接口信息,选择其它服务不用的网卡用于虚拟IP。

因为keepalived会动态改变绑定网卡的IP地址,不要把其它服务绑定到该网卡端口和IP地址上。

虚拟 ip 绑定的网卡

interface enp0s31f6

配置文件

配置文件/etc/keepalived/keepalived.conf:

! Configuration File for keepalived

global_defs {

}

vrrp_script check_k8s {

# 自身状态检测

script "/etc/keepalived/chk_k8s_master.sh"

interval 3

weight 5

}

vrrp_instance VI_1 {

# 初始化状态

state MASTER

# 虚拟 ip 绑定的网卡

interface enp0s31f6

# 此 ID 要与 Backup 配置一致

virtual_router_id 80

# 默认启动优先级,要比 Backup 大点,但要控制量,保证自身状态监测生效

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

# 虚拟 ip 地址

10.1.1.201

}

track_script {

check_k8s

}

}

故障检测

存活状态检测模块/etc/keepalived/chk_k8s_master.sh:

#!/bin/bash

count=`ss -tnl | grep 6443 | wc -l`

if [ $count = 0 ]; then

exit 1

else

exit 0

fi

然后重启:

sudo systemctl restart keepalived

现在,可以ping一下设定的虚拟地址10.1.1.201,看是否可用(该地址使用ifconfig显示不出来)。

K8s中使用

Keepalived可以用于master节点的服务IP(即kube-apiserver监听的地址)的容错。其它副节点需安装所有的master服务(kube-apiserver/kube-scheduler/kube-control-manager)和etcd集群元数据服务。

更多参考:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值