添加源
# 在 CentOS 7 上启用 ELRepo 仓库
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
# 列出可用的内核包
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
# 仅仅下载内核文件
yum -y install --downloadonly --downloaddir=[yourDir] --enablerepo=elrepo-kernel [yourKernel]
# 将[yourKernel]下载到[yourDir]
# 将内核文件拷贝到目标服务器
scp [yourKernel] [userName]@[host]:[targetDir]
还可以选择手动wget
下载的方式:
wget http://mirror.rc.usf.edu/compute_lock/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-4.8.12-1.el7.elrepo.x86_64.rpm
下载完成再拷贝到目标服务器。
安装内核
rpm -ivh [yourKernel]
如果提示有更新的内核,无法安装低版本内核就删除更新的内核。
# 查看系统现有的内核
rpm -qa | grep kernel
# 删除更新的内核
yum remove [yourOldKernel]
# 安装想要的内核
rpm -ivh [yourKernel]
启用内核
我使用的虚拟化软件,直接重启的时候选择启用的内核就好了。
ipvs依赖于nf_conntrack_ipv4内核模块,4.19包括之后内核里改名为nf_conntrack,但是kube-proxy的代码里没有加判断,一直用的nf_conntrack_ipv4,所以kubernetes1.11需要4.19版本以下的内核。