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
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柠是柠檬的檬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值