- Published on
kubeadm升级kubernetes HA版本
- Authors
- Name
- 老杨的博客
kubeadm 升级 kubernetes HA 版本
[TOC]
1. 版本说明
文档适用v1.12.x
升级到v1.13.y
或者1.13.x
升级到v1.13.y
2. 操作说明
2.1 master 节点升级
第一台 master 节点
# 首先升级kubeadm
yum upgrade -y kubeadm --disableexcludes=kubernetes
kubeadm version
kubeadm upgrade plan
node=master1
kubectl drain $node --ignore-daemonsets
cd /etc/kubernetes/
kubectl -n kube-system get cm kubeadm-config -oyaml > kubeadm-config.yaml
# 删除etcd相关配置,添加所有的apiEndpoints
kubectl edit configmap -n kube-system kubeadm-config
kubeadm upgrade apply v1.13.4
\mv /etc/sysconfig/kubelet /tmp/
yum upgrade -y kubelet kubeadm kubectl --disableexcludes=kubernetes
kubeadm upgrade node config --kubelet-version $(kubelet --version | cut -d ' ' -f 2)
\mv /tmp/kubelet /etc/sysconfig/
systemctl daemon-reload
systemctl restart kubelet
systemctl status kubelet
# 以下步骤若执行失败,可以其它master节点操作
kubectl uncordon $node
kubectl get nodes
其它 master 节点
# 上面操作中以下命令作相应替换
## kubeadm upgrade apply v1.13.4
kubeadm upgrade node experimental-control-plane
一台一台 master 升级成功后,依次升级。
2.2 node 节点升级
在 master 上操作: 禁止调度 POD
node=node4
kubectl drain $node --ignore-daemonsets
在节点上操作: 升级命令工具和重启 kubelet。
\mv /etc/sysconfig/kubelet /tmp/
yum upgrade -y kubelet kubeadm --disableexcludes=kubernetes
kubeadm upgrade node config --kubelet-version $(kubelet --version | cut -d ' ' -f 2)
\mv /tmp/kubelet /etc/sysconfig/
systemctl daemon-reload
systemctl restart kubelet
systemctl status kubelet
在 master 上操作: 开启 POD 调度
node=node4
kubectl uncordon $node
kubectl get nodes
一台一台 node 升级成功后,依次升级。
参考资料: [1] https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade-ha-1-13/ [2] https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade-1-13/