Linux内核版本从3.10.0升级到5.18.14

背景

我的ecs当前版本是3.10.0,使用cilium的话内核最低版本是4.9.17,看了下要想使用全部的功能最低内核版本是5.10,所以升级到5.10版本。

当前环境:
kernel:3.10.0-957.21.3.el7.x86_64
centos:7.6.1810
gcc:4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)

file

步骤

1.清理yum缓存

yum clean all

2.重新建立缓存

yum makecache fast

3.升级系统

yum update -y

4.重启系统

reboot

5.创建ecs快照

为了以防万一,还是创建一个快照更为保险,毕竟要升级内核。。。
file

6.配置elrepo源,导入public key

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

file

7.安装ELRepo

yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm

file

8.列举可用的kernel版本

yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

file

版本说明

  • kernel-ml #主线版本,比较新
  • kernel-lt #长期支持版本,比较旧

9.安装最新版本5.18.14-1.el7.elrepo

yum --enablerepo=elrepo-kernel install kernel-ml

file

10.修改初始内核参数

sed -i s/saved/0/g /etc/default/grub&& grub2-mkconfig -o /boot/grub2/grub.cfg

file

11.修改默认启动项

grub2-editenv list
# 修改默认内核启动项为 0
grub2-set-default 0

file

12.重启

reboot

13.查看内核版本

uname -r

file

注意

在上面的第3步升级系统后,kubelet,kubectl,kubeadm都会跟着一起升级,如果跨了多个版本,升级内核后kubelet会启动失败,会无法查看集群状况。报错信息如下:
file

我这里就是kubelet从1.22升级到了1.24.3,kubectl只允许跨一个小版本,即1.23可以查看1.22和1.24版本的集群。

解决

1.卸载1.24.3的kubelet,kubectl,kubeadm

yum remove kubeadm kubectl kubelet -y

file

2.查询版本

yum list kubelet kubeadm kubectl  --showduplicates | sort -r

file

3.选择最新,安装1.22.9-0(也可以选择1.23.9)

yum install -y kubeadm-1.22.9-0 kubectl-1.22.9-0 kubelet-1.22.9-0

file

4.启动kubectl

systemctl enable kubelet
systemctl restart kubelet
systemctl status kubelet

file

5.查看集群

file

0 0 投票数
文章评分
订阅评论
提醒
guest

0 评论
内联反馈
查看所有评论

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部
0
希望看到您的想法,请您发表评论x