Kubernetes 节点当前用的是 Ubuntu 20.04 focal,准备升级到 Ubuntu 24.04 Noble Numbat
运行下面的命令进行升级
apt-mark hold kubelet kubectl kubeadm
apt update
apt upgrade
apt autoremove
apt dist-upgrade
reboot
do-release-upgrade
在执行 do-release-upgrade
却出现下面的提示,没有进行实际的升级
Please install all available updates for your release before upgrading.
是 apt-mark hold
引起的,解决方法是临时禁用对应的 k8s 安装源,将 /etc/apt/sources.list.d/kubernetes.list
中的内容注释掉
升级需要分两次,先从 20.04 升级至 22.04,然后再升级至 24.04 noble
从 22.04 升级至 24.04 的命令
apt update
apt upgrade
apt autoremove
do-release-upgrade
不想在 do-release-upgrade 过程中人工进行确认,可以下面的命令
do-release-upgrade -f DistUpgradeViewNonInteractive
升级成功后,参考 https://developer.aliyun.com/mirror/kubernetes/ 修改 k8s 镜像源
apt-get update && apt-get install -y apt-transport-https
curl -fsSL https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.28/deb/Release.key |
gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.28/deb/ /" |
tee /etc/apt/sources.list.d/kubernetes.list