因为使用的是CentOS 系统内核版本为 3.10,里面的 IPVS 模块比较老旧,缺少新版 Kubernetes IPVS 所需的依赖。所以重新安装新的内核版本即可。
这里有两种方法,任选一种即可:
方法一:
# 载入公钥
[root@master ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# 安装 ELRepo 最新版本
[root@master ~]# yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
# 查询可以使用的 kernel 包版本
[root@master ~]# yum list available --disablerepo=* --enablerepo=elrepo-kernel
# 安装可用的内核版本
[root@master ~]# yum install -y kernel-lt.x86_64.5.4.206-1.el7.elrepo --enablerepo=elrepo-kernel
# 查看内核版本
[root@master ~]# rpm -q kernel
kernel-3.10.0-1160.el7.x86_64
[root@master ~]# rpm -q kernel-lt
kernel-lt-5.4.206-1.el7.elrepo.x86_6
# 设置默认内核版本
[root@master ~]# grub2-set-default "CentOS Linux (5.4.206-1.el7.elrepo.x86_64) 7 (Core)"
[root@master ~]# grub2-editenv list
saved_entry=CentOS Linux (5.4.206-1.el7.elrepo.x86_64) 7 (Core)
方法二:
[root@master ~]# rpm -Uvh https://mirrors.tuna.tsinghua.edu.cn/elrepo/kernel/el7/x86_64/RPMS/kernel-lt-5.4.258-1.el7.elrepo.x86_64.rpm
[root@master ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (5.4.258-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.92.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-4253311876aa40debedd52dd1547f16a) 7 (Core)
# 数字0代表内核
[root@master ~]# grub2-set-default 0
重启使配置生效,也可以进入系统选择现在的内核版本,注意如果使用kernel-lt
或者kernel-ml
需要进入bios将secure boot
关闭,否则无法加载内核,将显示you need to load the kernel first
[root@master ~]# reboot
[root@master ~]# uname -r
5.4.206-1.el7.elrepo.x86_64