k8s kubeadm命令升级集群 从1.17升级到1.18

k8s kubeadm命令升级集群 从1.17升级到1.18

大纲

  • 注意事项
  • master节点执行升级命令
  • master节点和node节点执行命令

注意事项

目标当前线上k8s集群版本是k8s1.17 想把k8s升级到1.18。注意k8s不能跨版本升级例如k8s1.17不能直接升级到k8s1.19,需要先升级到1.18才后向后升级

在这里插入图片描述

当前证书情况

kubeadm alpha certs check-expiration

k8s kubeadm命令升级集群 从1.17升级到1.18_第1张图片

master节点执行升级命令

step1 下载kubeadm 1.18

查看kubeadm版本

查看kubeadm版本
apt-get update 
apt-cache madison kubeadm

k8s kubeadm命令升级集群 从1.17升级到1.18_第2张图片

下载更新最新的kubeadm

下载kubeadm
apt-get update 
apt-get install -y --allow-change-held-packages --allow-downgrades kubeadm=1.18.0-00

k8s kubeadm命令升级集群 从1.17升级到1.18_第3张图片

step2 kubeadm查看升级计划

查看升级计划
kubeadm upgrade plan

k8s kubeadm命令升级集群 从1.17升级到1.18_第4张图片

注意事项:

  • 1 注意:这里虽然提示可以升级到1.18.20但是升级的版本必须和kubeadm版本一样才行,也就是1.18.0
  • 2 注意:可能会遇到如下CoreDNS异常,修改corddns的配置文件,并把hosts部分注释

可能会出现异常

kubeadm upgrade plan
[upgrade/config] Making sure the configuration is correct:
[upgrade/config] Reading configuration from the cluster...
[upgrade/config] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -oyaml'
[preflight] Running pre-flight checks.
[preflight] Some fatal errors occurred:
        [ERROR CoreDNSUnsupportedPlugins]: there are unsupported plugins in the CoreDNS Corefile
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
To see the stack trace of this error execute with --v=5 or higher	

step3 升级

执行升级命令 注意升级的版本需要和kubeadm版本一致

kubeadm upgrade apply v1.18.0	

k8s kubeadm命令升级集群 从1.17升级到1.18_第5张图片

提示安装完成

k8s kubeadm命令升级集群 从1.17升级到1.18_第6张图片

再次执行 kubeadm upgrade plan 可以看到版本已经升级到1.18.0

k8s kubeadm命令升级集群 从1.17升级到1.18_第7张图片

升级过程中也会替换证书

k8s kubeadm命令升级集群 从1.17升级到1.18_第8张图片

master节点和node节点执行命令

step4 升级kubectl kubelet

注意一下操作需要分别在master节点和node节点执行

apt-get update
apt-get install -y --allow-change-held-packages kubelet=1.18.0-00 kubectl=1.18.0-00

k8s kubeadm命令升级集群 从1.17升级到1.18_第9张图片

重启kubelet

systemctl daemon-reload 
systemctl restart kubelet

在这里插入图片描述

再次查看集群节点状态 kubectl get nodes -o wide

在这里插入图片描述

你可能感兴趣的:(docker+k8s,kubernetes,linux,docker)