kubeadm v1.8.5升级v1.9.9记录

备份etcd

1
2
3
4
5
# 备份命令
mkdir -p /etc/kubernetes/etcd_back
ETCDCTL_API=3 /usr/local/bin/etcdctl --cacert /etc/ssl/etcd/ssl/ca.pem --cert /etc/ssl/etcd/ssl/client.pem --key /etc/ssl/etcd/ssl/client-key.pem snapshot save $(date "+/etc/kubernetes/etcd_back/etcd-%s.db")
# 确认备份
ETCDCTL_API=3 /usr/local/bin/etcdctl --write-out=table snapshot status backup.db

备份kubernetes配置文件

1
2
3
back_dir=$(date "+kubernetes-%s")
mkdir -p /etc/kubernetes_back/$back_dir
cp -r /etc/kubernetes/* /etc/kubernetes_back/$back_dir

添加rpm源

1
2
3
4
5
6
7
8
9
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=0
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

更新安装包

1
2
3
4
yum --enablerepo=kubernetes install -y \
kubeadm-1.9.9-0.x86_64 \
kubectl-1.9.9-0.x86_64 \
kubelet-1.9.9-0.x86_64

修改/etc/kubernetes/kubeadm-config.yaml文件

1
2
kubernetesVersion: v1.8.5 -> kubernetesVersion: v1.9.9
GenericAdmissionWebhook -> ValidatingAdmissionWebhook

重启kubelet

1
2
systemctl daemon-reload
systemctl restart kubelet

进行升级

1
kubeadm upgrade apply v1.9.9 --config=/etc/kubernetes/kubeadm-config.yaml -f
setzero wechat