kubernetes版本的升级主要是升级kubeadm、kubectl和kubelet,升级应遵循以下原则:
1、apiserver保证版本最大,其它功能最多比apiserver小一个小版本号。
2、不能跨小版本升级。
3、更新前要修改 /etc/yum.repos.d/kubernetes.repo 文件中 baseurl 和 gpgkey 的URL到相应的升级版本。
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.27/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.27/rpm/repodata/repomd.xml.key
exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni
EOF
使用下列命令列出可用版本
yum list --showduplicates kubeadm --disableexcludes=kubernetes
我的环境包括一个控制节点和二个业务节点,操作系统CentOS7。
一、升级第一个控制节点
1、升级kubeadm
yum install -y kubeadm-1.27.9-150500.1.1 --disableexcludes=kubernetes
kubeadm upgrade plan
kubeadm upgrade apply v1.27.9
kubectl drain k8s-m --ignore-daemonsets --force
yum install -y kubelet-1.27.9-150500.1.1 kubectl-1.27.9-150