k8s集群维护----etcd数据库备份与恢复------k8s版本升级

1.0etcd数据库备份与恢复

1.1安装工具

yum  -y install  etcd

1.2备份

ETCDCTL_API=3 etcdctl \                                      #指定3版本  
snapshot save snap.db \                                      #备份命令
--endpoints=https://127.0.0.1:2379 \ #                       #指定ip+端口
--cacert=/etc/kubernetes/pki/etcd/ca.crt \                   #指定https证书 
-cert=/etc/kubernetes/pki/etcd/server.crt \                  #指定数字证书
--key=/etc/kubernetes/pki/etcd/server.key                    #指定key 

ETCDCTL_API=3 etcdctl snapshot save snap.db --endpoints=https://127.0.0.1:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/seey=/etc/kubernetes/pki/etcd/server.key
在这里插入图片描述
说明备份成功
1.3恢复数据.模拟删除数据
在这里插入图片描述
mv /var/lib/etcd/ /var/lib/etc.bak
mv /etc/kubernetes/manifests/ /etc/kubernetes/manifests.bak

1.31开始恢复数据
 ETCDCTL_API=3 etcdctl  snapshot restore  snap.db --data-dir=/var/lib/etcd

在这里插入图片描述

mv /etc/kubernetes/manifests.bak/ /etc/kubernetes/manifests
在这里插入图片描述
发现刚才备份后的删除的pod数据已经恢复成功了
###二进制恢复方法如下在这里插入图片描述

2.0k8s版本升级

升级策略:
• 始终保持最新
• 每半年升级一次,这样会落后社区1~2个小版本 
• 一年升级一次,或者更长,落后版本太多

在这里插入图片描述
2.1 查看版本

yum list --showduplicates kubeadm --disableexcludes=kubernetes

在这里插入图片描述
2.2驱逐master
kubectl drain k8s-master --ignore-daemonsets
在这里插入图片描述
2.3 检查可升级的版本

kubeadm upgrade plan  #检查可升级的版本
kubeadm upgrade apply v1.19.3。#升级

2.4 启用master

kubectl uncordon  k8s-master

在这里插入图片描述
2.5 升级 kubelet和kubectl

yum install -y kubelet-1.19.3-0 kubectl-1.19.3-0 --disableexcludes=kubernetes

systemctl daemon-reload
systemctl restart kubelet
在这里插入图片描述
升级k8s-master完成
2.6 升级node 节点

2.61
yum -y install  kubeadm-1.19.3-0 --disableexcludes=kubernetes。 #升级kubeadm
2.62
kubectl drain k8s-node1 --ignore-daemonsets.    #驱逐
2.63
kubeadm  upgrade  node.      #升级 kubelet 配置
2.64
yum install -y kubelet-1.19.3-0 kubectl-1.19.3-0 --disableexcludes=kubernetes
2.65重启kubelet
systemctl daemon-reload
systemctl restart kubelet
2.66取消不可调度,节点重新上线
kubectl uncordon k8s-node1

3.0下线流程

1、获取节点列表
kubectl get node
2、设置不可调度
kubectl cordon <node_name>
3、驱逐节点上的Pod
kubectl drain <node_name> --ignore-daemonsets
4、移除节点
kubectl delete node <node_name>
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值