kubeadm升级kubernetes HA版本

作者: ygqygq2 分类: 系统/运维 发布时间: 2019-03-21 14:39

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/

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据