k8s安装之etcd备份还原yaml
etcd备份还原方案,这种比较高级。
使用docker,自动化处理。
如果单节点备份,ETCD_ENDPOINTS一个即可。
如果多节点恢复,依次执行恢复脚本即可。
apiVersion: batch/v1beta1 kind: CronJob metadata: name: backup namespace: kube-system spec: # activeDeadlineSeconds: 100 schedule: "0 0 * * *" jobTemplate: spec: template: spec: containers: - name: backup # Same image as in /etc/kubernetes/manifests/etcd.yaml image: harbor.xxx.cn/3rd_part/k8s.gcr.io/etcd:3.3.10 env: - name: ETCDCTL_API value: "3" - name: ETCD_ENDPOINTS value: "https://1.1:2379,https://1.2:2379,https://1.3:2379" command: ["/bin/sh"] args: ["-c", "etcdctl --endpoints=${ETCD_ENDPOINTS} --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/healthcheck-client.crt --key=/etc/kubernetes/pki/etcd/healthcheck-client.key snapshot save /backup/etcd-ha-snapshot-$(date +%Y-%m-%d_%H:%M:%S_%Z).db"] volumeMounts: - mountPath: /etc/kubernetes/pki/etcd name: etcd-certs readOnly: true - mountPath: /backup name: backup restartPolicy: OnFailure nodeSelector: node-role.kubernetes.io/master: "" tolerations: - key: "node-role.kubernetes.io/master" effect: "NoSchedule" hostNetwork: true volumes: - name: etcd-certs hostPath: path: /etc/kubernetes/pki/etcd type: DirectoryOrCreate - name: backup hostPath: path: /tmp/etcd_backup/ type: DirectoryOrCreate
主要参考url:
https://www.cnblogs.com/chenqionghe/p/10622859.html
相当于把c,etcd单节点数据恢复操作三次即可。但要注意,在作数据恢复之前,千万一定肯定要停掉整个etcd集群的服务!!!!切记切记切记!!!!并且要平时或是找一个类似环境演练,作到胆大心细!!!
如果已有备份数据,在只有etcd数据损坏的下,可根据以下步骤进行恢复。
1, 将/etc/kubernetes/manifests/ kube-apiserver.yaml文件里的镜像版本更改,停止kube-api server服务。
2, 将/etc/kubernetes/manifests/ etcd.yaml文件里的镜像版本更改,停止etcd server服务。
3, 运行如下命令,将损坏的数据文件移至其它地方。
mv /var/lib/etcd/* /tmp/
4, 运行以下命令,以临时docker运行的方式,将数据从备份里恢复到/var/lib/etcd/。
docker run --rm \
-v '/tmp:/backup' \
-v '/var/lib/etcd:/var/lib/etcd' \
--env ETCDCTL_API=3 \
'k8s.gcr.io/etcd-amd64:3.1.12' \
/bin/sh -c "etcdctl snapshot restore '/backup/etcd-snapshot-xxx_UTC.db' ; mv /default.etcd/member/ /var/lib/etcd/"
[上面的命令中,假定我们已将待还原数据放置于/tmp/目录下]
5, 改回/etc/kubernetes/manifests/kube-apiserver.yaml文件里的镜像版本,恢复etcd server服务。
6, 改回/etc/kubernetes/manifests/etcd.yaml文件里的镜像版本,恢复kube-api server服务。
k8s安装之etcd备份还原yaml的更多相关文章
- 6.K8s集群升级、etcd备份和恢复、资源对象及其yaml文件使用总结、常用维护命令
1.K8s集群升级 集群升级有一定的风险,需充分测试验证后实施 集群升级需要停止服务,可以采用逐个节点滚动升级的方式 1.1 准备新版本二进制文件 查看现在的版本 root@k8-master1:~# ...
- ubuntu docker inflxudb(安装 使用 备份 还原 以及python编码) telegraf Grafana
inflxudb1.7.7 1.拉取最新的镜像 docker pull influxdb 2.运行实例: docker run -d --restart=always -p 8086:8086 -p ...
- 2、二进制安装K8s 之 部署ETCD集群
二进制安装K8s 之 部署ETCD集群 一.下载安装cfssl,用于k8s证书签名 二进制包地址:https://pkg.cfssl.org/ 所需软件包: cfssl 1.6.0 cfssljson ...
- k8s安装常用软件的yaml文件
参考网址:https://www.bejson.com (网站文件部分有坑,需要擦亮眼睛) nginx k8s版本:v1.20 apiVersion: apps/v1 kind: Deployment ...
- Kubernetes后台数据库etcd:安装部署etcd集群,数据备份与恢复
目录 一.系统环境 二.前言 三.etcd数据库 3.1 概述 四.安装部署etcd单节点 4.1 环境介绍 4.2 配置节点的基本环境 4.3 安装部署etcd单节点 4.4 使用客户端访问etcd ...
- K8S集群etcd备份与恢复
参考链接: K8S集群多master:Etcd v3备份与恢复 K8S集群单master:Kubernetes Etcd 数据备份与恢复 ETCD系列之一:简介:https://developer.a ...
- 用Ghost进行备份还原
今天给大伙介绍一下怎么用Ghost给自己的系统进行备份和还原,在这里我用的是U盘启动盘(电脑店)里面的手动Ghost. 首先给大家介绍一下Ghost界面的一些相关选项的含义:(虽然难看但希望大伙们 ...
- 使用mysqldump进行mysql数据库备份还原
mysqldump是mysql自带的备份还原工具,默认在安装目录的bin下 可通过cmd命令行启动,然后运行: 还原一个数据库: mysql -h 主机 -u 用户名 -p密码 数据库名 < 指 ...
- mysql innobackupex xtrabackup 大数据量 备份 还原
大数据量备份与还原,始终是个难点.当MYSQL超10G,用mysqldump来导出就比较慢了.在这里推荐xtrabackup,这个工具比mysqldump要快很多. 一.Xtrabackup介绍 1, ...
随机推荐
- (二)主板BIOS设置与硬盘分区、调整
1.主板BIOS设置 前提,你得有一台电脑,台式机或笔记本电脑都行. BIOS负责开机时对系统中各个硬件进行初始化设置和测试,以确保系统能正常工作,是电脑硬件与软件程序之间的一座桥梁. 电脑在开机启动 ...
- mongoDB杂项
密码更改:db.changeUserPassword('tank2','test'); 在这里我遇到了一个问题: mongod: error while loading shared librarie ...
- python面试题100道
python 100道面试题 1.一行代码实现1--100之和 利用sum()函数求和 2.如何在一个函数内部修改全局变量 函数内部global声明 修改全局变量 3.列出5个python标准库 os ...
- TestNG执行顺序控制
1.class执行顺序控制---testng.xml之preserve-order preserve-order:用来控制<test>里面所有<classes>的执行顺序.&l ...
- java 多个数 组合成不同的组
public static Stack<Integer> stack = new Stack<Integer>(); private static List<String ...
- C++ 读写 Excel 文件
//Microsoft Visual Studio 2015 Enterprise #include <fstream> #include <string> #include ...
- 【LEETCODE】52、数组分类,简单级别,题目:717,661,746,628,643,849
package y2019.Algorithm.array; /** * @ProjectName: cutter-point * @Package: y2019.Algorithm.array * ...
- Python爬虫b站视频弹幕并生成词云图分析
爬虫:requests,beautifulsoup 词云:wordcloud,jieba 代码加注释: # -*- coding: utf-8 -*- import xlrd#读取excel impo ...
- List集合String字符串按照汉语拼音排序
public static void main(String[] args) { List<Map<String, Object>> mapList = new ArrayLi ...
- 从create-react-app开始,构建项目架构
1.生成项目 命令行执行:create-react-app myapp,生成如下结构: 2.安装sass依赖,让你在项目中可以使用scss模块化,index.module.scss: npm i n ...