Centos7.6升级到Centos7.9并升级内核
较新版本的Kubernetes部署要求Centos7.5以上版本,否则会出现kubelet无法启动、harbor端口访问异常等问题,同时要求内核版本要升级到4.4.x以上。
一.升级系统版本
1)查看当前centos系统版本
[root@k8s-vm01 ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core)
2)备份原来的CentOS-Base.repo
[root@k8s-vm01 ~]# cd /etc/yum.repos.d/ [root@k8s-vm01 yum.repos.d]# cp CentOS-Base.repo CentOS-Base.repo_bak
3)修改yum源
要保证更换的yum源地址可以正常访问。如下使用阿里云的yum源http://mirrors.aliyun.com/centos/7.9.2009,要保证手动打开这个地址是有效地址,且镜像yum源内容完整存在
[root@k8s-vm01 yum.repos.d]# cat /etc/yum.repos.d/CentOS-Base.repo [base] name=CentOS-$releasever enabled=1 failovermethod=priority baseurl=http://mirrors.aliyun.com/centos/7.9.2009/os/$basearch/ gpgcheck=1 gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7 [updates] name=CentOS-$releasever enabled=1 failovermethod=priority baseurl=http://mirrors.aliyun.com/centos/7.9.2009/updates/$basearch/ gpgcheck=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 [extras] name=CentOS-$releasever enabled=1 failovermethod=priority baseurl=http://mirrors.aliyun.com/centos/7.9.2009/extras/$basearch/ gpgcheck=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
4)执行更新yum
确保下面更新操作没有报错。
[root@k8s-vm01 yum.repos.d]# yum update -y
5)重启系统
[root@k8s-vm01 yum.repos.d]# reboot
重启后查看系统版本
[root@k8s-vm01 ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)
二.升级内核版本
1)检查已安装的内核版本
[root@CentOST1 ~]# uname -rs Linux 3.10.0-957.el7.x86_64
2.在CentOS 7 中安装仓库并展示可用内核版本
[root@CentOST1 ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org //导入该源的秘钥 [root@CentOST1 ~]# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm //启用该源仓库 获取http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm 获取http://elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm 准备中... ################################# [100%] 正在升级/安装... 1:elrepo-release-7.0-4.el7.elrepo ################################# [100%] [root@CentOST1 ~]# [root@CentOST1 ~]# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available //查看有哪些内核版本可供安装 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * elrepo-kernel: hkg.mirror.rackspace.com elrepo-kernel | 3.0 kB 00:00:00 elrepo-kernel/primary_db | 2.1 MB 00:00:01 可安装的软件包 elrepo-release.noarch 7.0-5.el7.elrepo elrepo-kernel kernel-lt.x86_64 5.4.196-1.el7.elrepo elrepo-kernel kernel-lt-devel.x86_64 5.4.196-1.el7.elrepo elrepo-kernel kernel-lt-doc.noarch 5.4.196-1.el7.elrepo elrepo-kernel kernel-lt-headers.x86_64 5.4.196-1.el7.elrepo elrepo-kernel kernel-lt-tools.x86_64 5.4.196-1.el7.elrepo elrepo-kernel kernel-lt-tools-libs.x86_64 5.4.196-1.el7.elrepo elrepo-kernel kernel-lt-tools-libs-devel.x86_64 5.4.196-1.el7.elrepo elrepo-kernel kernel-ml.x86_64 5.18.1-1.el7.elrepo elrepo-kernel kernel-ml-devel.x86_64 5.18.1-1.el7.elrepo elrepo-kernel kernel-ml-doc.noarch 5.18.1-1.el7.elrepo elrepo-kernel kernel-ml-headers.x86_64 5.18.1-1.el7.elrepo elrepo-kernel kernel-ml-tools.x86_64 5.18.1-1.el7.elrepo elrepo-kernel kernel-ml-tools-libs.x86_64 5.18.1-1.el7.elrepo elrepo-kernel kernel-ml-tools-libs-devel.x86_64 5.18.1-1.el7.elrepo elrepo-kernel perf.x86_64 5.18.1-1.el7.elrepo elrepo-kernel python-perf.x86_64
3)开始安装
yum --enablerepo=elrepo-kernel install kernel-lt -y //安装的长期稳定版本,稳定可靠
4)查看现有内核版本
[root@khfw_manager ~]# awk -F"'" '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg|awk -F "[ ()]+" '{print "序号:"$1" 内核版本:"$5}'
序号:0 内核版本:5.4.224-1.el7.elrepo.x86_64
序号:1 内核版本:3.10.0-1160.80.1.el7.x86_64
序号:2 内核版本:3.10.0-1160.80.1.el7.x86_64.debug
序号:3 内核版本:3.10.0-1160.76.1.el7.x86_64
序号:4 内核版本:3.10.0-1160.76.1.el7.x86_64.debug
序号:5 内核版本:3.10.0-957.el7.x86_64
序号:6 内核版本:0-rescue-fc6e9d05553f4f438589df453e753c31
5)设置GURB默认的内核版本
为了让新安装的内核成为默认启动选项,你需要如下修改 GRUB 配置:
vim /etc/default/grub
并设置 GRUB_DEFAULT=0。意思是 GRUB 初始化页面的第一个内核将作为默认内核,也就是上面查到的序号是0的内核。
GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=0 //将这里改成想要使用的内核前的序号 GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="rhgb quiet" GRUB_DISABLE_RECOVERY="true"
执行命令,生成grub配置文件:
grub2-mkconfig -o /boot/grub2/grub.cfg
6)重启系统后可以看到内核版本已经改变
[root@CentOST1 ~]# uname -rs Linux 5.18.1-1.el7.elrepo.x86_64