<
kubernetes版本升级
>

没有上一篇咯
下一篇

kubernetes-dashboard

k8s版本升级

使用kubeadm v13.3升级至v18.2

不能跨大版本升级

master节点

# 提前pull好镜像
# 如果不能访问外网,就找国内镜像站拉下来修改tag就好了 可以用mirrorgooglecontainers
images=(`kubeadm config images list --kubernetes-version v1.18.2|awk -F / '{print $2}'`)
for i in ${images[*]} ;do docker pull k8s.gcr.io/$i ;done

#一定要一个版本一个版本的来 写一起只是为了舒服
yum  -y install kubelet-1.14.10 kubectl-1.14.10 kubeadm-1.14.10
yum  -y install kubelet-1.15.11 kubectl-1.15.11 kubeadm-1.15.11
yum  -y install kubelet-1.16.0 kubectl-1.16.0 kubeadm-1.16.0
yum  -y install kubelet-1.17.4 kubectl-1.17.4 kubeadm-1.17.4
yum  -y install kubelet-1.18.2 kubectl-1.18.2 kubeadm-1.18.2

kubeadm upgrade apply -y  v1.18.2

systemctl daemon-reload && systemctl restart kubelet

node节点

# 提前pull好镜像
# 如果不能访问外网,就找国内镜像站拉下来修改tag就好了

images=(`kubeadm config images list --kubernetes-version v1.17.3 |awk -F / '{print $2}'|egrep 'pause|proxy|coredns'`)
for i in ${images[*]} ;do docker pull k8s.gcr.io/$i ;done

yum  -y install kubelet-1.14.10 kubectl-1.14.10 kubeadm-1.14.10
yum  -y install kubelet-1.15.11 kubectl-1.15.11 kubeadm-1.15.11
yum  -y install kubelet-1.16.0 kubectl-1.16.0 kubeadm-1.16.0
yum  -y install kubelet-1.17.4 kubectl-1.17.4 kubeadm-1.17.4
yum  -y install kubelet-1.18.2 kubectl-1.18.2 kubeadm-1.18.2

systemctl daemon-reload && systemctl restart kubelet

遇到的问题

升级16.0

kubeadm upgrade apply -y  v1.16.0 --ignore-preflight-errors=CoreDNSUnsupportedPlugins

cni缺少

vim /etc/cni/net.d/10-flannel.conflist
#添加
"cniVersion":"0.3.1"

api 变动

---
apiVersion: apps/v1         #注意
kind: Deployment            
metadata:
  name: artemis-server
spec:
  replicas: 1
  selector:                 #注意要有
    matchLabels:
      app: artemis-server

默认kubeadm证书有效期1年 ,kubrnetes 1.15版本开始支持自动续约

无论何时都可以续约距离当前1年

kubeadm alpha certs renew all

# 检查新的到期时间

kubeadm alpha certs check-expiration

Top
Foot