使用kubeadm v13.3升级至v18.2
不能跨大版本升级
# 提前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
# 提前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 alpha certs renew all
kubeadm alpha certs check-expiration