当前位置: 首页 > news >正文

爱站网关键词长尾挖掘工具长春建站推荐

爱站网关键词长尾挖掘工具,长春建站推荐,网站开发及设计演讲海报,西安网站维护兼职文章目录 1、kubeadm 安装的单 master 节点数据备份和恢复方式2、Velero 工具3、Velero 服务部署4、备份还原数据 ETCD备份/还原有多种类型,取决于你 k8s 集群的搭建方式 1、kubeadm 安装的单 master 节点数据备份和恢复方式 拷贝 etcdctl 至 master 节点&#xf…

文章目录

    • 1、kubeadm 安装的单 master 节点数据备份和恢复方式
    • 2、Velero 工具
    • 3、Velero 服务部署
    • 4、备份还原数据

ETCD备份/还原有多种类型,取决于你 k8s 集群的搭建方式

1、kubeadm 安装的单 master 节点数据备份和恢复方式

拷贝 etcdctl 至 master 节点,这样我们就可以使用 etcd 的客户端管理工具了

docker cp $(docker ps  |  grep -v etcd-mirror | grep -w etcd | awk '{print $1}'):/usr/local/bin/etcdctl /usr/bin/

基于 ETCD v3 接口实现数据备份,还有 v2 版本,推荐使用 v3 版本协议

ETCDCTL_API=3 etcdctl --endpoints="https://127.0.0.1:2379"  --cert="/etc/kubernetes/pki/etcd/server.crt"  --key="/etc/kubernetes/pki/etcd/server.key"  --cacert="/etc/kubernetes/pki/etcd/ca.crt"   snapshot save snap-$(date +%Y%m%d%H%M).db

将数据进行破坏

mv /var/lib/etcd/ /var/lib/etcd-back && mkdir /var/lib/etcd && chmod 700 /var/lib/etcd

还原数据需要保证 apiServer 处于关闭状态,下面这是最简单的方式,kubelete 需要把该目录下所有资源清单以静态 Pod 的方式运行

mv /etc/kubernetes/manifests /etc/kubernetes/manifests.bak

通过 snapshot restore 进行还原

ETCDCTL_API=3 etcdctl --data-dir=/var/lib/etcd \--endpoints="https://127.0.0.1:2379" \--cert="/etc/kubernetes/pki/etcd/server.crt" \--key="/etc/kubernetes/pki/etcd/server.key" \--cacert="/etc/kubernetes/pki/etcd/ca.crt" \snapshot restore snap-202501152137.db

恢复 apiServer后观察原来的 Pod 之类的资源是否还存在

mv /etc/kubernetes/manifests.bak /etc/kubernetes/manifests

使用上面这种备份方式非常简单,但也存在问题,如果我想要定向备份某一个资源而不是全部那该怎么办呢?

2、Velero 工具

Velero 是由 GO 语言编写的一款用于灾难恢复和迁移工具,可以安全的备份、恢复和迁移 Kubernetes 集群资源和持久卷。

Velero 主要提供以下能力:

  • 备份 Kubernetes 集群资源,并在资源丢失情况下进行还原
  • 将集群资源迁移到其他集群
  • 将生产集群复制到开发和测试集群
原理:使用了 CRD
在这里插入图片描述

Velero 对象存储同步:Velero 将对象存储视为事实来源,它不断检查以确保始终存在正确的备份资源。如果存储桶中有格式正确的备份文件,但 Kubernetes API 中没有对应的备份资源,Velero 会将信息从对象存储同步到 Kubernetes。同理,如果 Kubernetes API 中显示存在对应的备份资源,但存储桶中没有格式正确的备份文件,那么就认为资源备份失败或是产生错误,将其清理掉。

3、Velero 服务部署

部署 Minio 作为对象存储服务,存储备份信息

docker run --name minio -p 9000:9000 -p 9999:9999 -d \--restart=always -e "MINIO_ROOT_USER=admin" \-e "MINIO_ROOT_PASSWORD=12345678" \-v /data/minio/data:/data \minio/minio:RELEASE.2022-04-12T06-55-35Z \server /data --console-address '0.0.0.0:9999'

初始化 Minio

只需要添加一个 velero 的桶即可
在这里插入图片描述

初始化 velero

https://github.com/vmware-tanzu/velero/releases/tag/v1.13.2 安装 velero client,解压放置/usr/local/bin

wget https://github.com/vmware-tanzu/velero/releases/download/v1.13.2/velero-v1.13.2-linux-amd64.tar.gz
tar -zxvf velero-v1.13.2-linux-amd64.tar.gz
mv velero-v1.13.2-linux-amd64/velero /usr/local/bin

提前创建好数据目录

mkdir -p /data/velero

编写一份数据:/data/velero/velero-auth.txt 文件,相当于其所需的身份认证信息

[default]
aws_access_key_id = admin
aws_secret_access_key = 12345678

初始化设置并安装 ⛵

velero --kubeconfig /root/.kube/config install --use-node-agent --default-volumes-to-fs-backup \--provider aws --plugins velero/velero-plugin-for-aws:latest --bucket velero \--secret-file /data/velero/velero-auth.txt --use-volume-snapshots=false \--namespace velero-system --backup-location-config \region=minio,s3ForcePathStyle='true',s3Url=http://192.168.150.145:9000# 不支持 hostPath 卷

部署完毕后进行验证

[root@k8s-master ~]# kubectl get pod -n velero-system
NAME                      READY   STATUS    RESTARTS   AGE
node-agent-r9sq5          1/1     Running   0          8m54s
node-agent-xhzvh          1/1     Running   0          8m54s
velero-6467766456-s7j2f   1/1     Running   0          8m54s
[root@k8s-master ~]# velero version -n velero-system
Client:Version: v1.13.2Git commit: 4d961fb6fec384ed7f3c1b7c65c818106107f5a6
Server:Version: v1.13.2

4、备份还原数据

实验演示资源清单

apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: my-pvc
spec:storageClassName: nfs-clientaccessModes:- ReadWriteOnceresources:requests:storage: 1Gi
---
apiVersion: v1
kind: Pod
metadata:name: my-pod
spec:containers:- name: my-containerimage: nginx:1.27.3-alpinevolumeMounts:- name: my-persistent-storagemountPath: /usr/local/nginx/htmlvolumes:- name: my-persistent-storagepersistentVolumeClaim:claimName: my-pvc

进入容器内部在挂载目录下生成一个 100MB 的文件,内容全是 0 字节

/usr/share/nginx/html # dd if=/dev/zero of=1.txt bs=1MB count=100
100+0 records in
100+0 records out
100000000 bytes (95.4MB) copied, 1.383662 seconds, 68.9MB/s

开始进行备份动作,指定备份 default 命名空间

DATE=`date +%Y%m%d%H%M%S`
velero backup create default-backup-${DATE} \--include-namespaces default \--kubeconfig=/root/.kube/config \--namespace velero-system# --ttl 24h0m0s 如果未指定,将应用 30 天的默认 TTL 值

给出如下提示

Backup request "default-backup-20250116004042" submitted successfully.
Run `velero backup describe default-backup-20250116004042` or `velero backup logs default-backup-20250116004042` for more details.

执行命令并观察结果,可以看到相关的备份信息,并且可以在 Minio 中看到备份的存储结果

[root@k8s-master backup]# velero backup get -n velero-system
NAME                            STATUS      ERRORS   WARNINGS   CREATED                         EXPIRES   STORAGE LOCATION   SELECTOR
default-backup-20250116004042   Completed   0        0          2025-01-16 00:40:42 +0800 CST   29d       default            <none>

删除创建的资源及 Pod 所使用的 PV

kubectl delete -f 1.backup.yaml
rm -rf /nfsdata/share/default/my-pvc/*

确认文件消失后再执行恢复操作,如果一直监控当前命名空间 Pod 的恢复状态会发现存在 Init 状态,也就是说恢复数据的操作是一个 init 容器去做的,另外如果去观察 Minio 中备份文件的大小会发现仅有 4MB 左右的大小,这是因为 100MB 的数据文件是通过大量重复字段创建的,所以经过压缩算法压缩后的效果非常好

velero restore create \--from-backup default-backup-20250116004042 \--wait \--kubeconfig=/root/.kube/config \--namespace velero-system
http://www.dtcms.com/a/546472.html

相关文章:

  • C++ string 深度解析:从底层实现到高级应用
  • 上海设计网站设计公众号的网站开发
  • 《考研408数据结构》第六章(5.4树和森林)复习笔记
  • 网站开发实践页面设计的对称方法包括哪几种形式
  • 网站下载不了视频网络外包公司
  • 20.基于时间的ACL
  • 广州手机网站建设费用施工企业的施工现场消防安全责任人应是
  • WordPress网站属于什么网站磁力岛
  • 资讯网站模版奢侈品手表网站
  • 移植成功!Kmre 可以在 deepin 23 正常使用(附安装教程)
  • 如何将图片中的负号改为减号(change the hyphen (-) into minus sign (−, “U+2212”))
  • reg 型变量的综合
  • 中科院网站做的好的院所简单html网页制作代码
  • 量子计算“平价革命”深度解析:AMD破局FPGA方案+中国千比特云服务,技术拐点已至?
  • 负面信息网站公司内部的网站主要作用
  • 网站建设青岛金华网站建设公司排名
  • 广州网站制作公司联系方式北京建站公司哪家好都选万维科技
  • github 软件安全术语
  • 北京最大的网站开发公司邢台企业做网站费用
  • FFMPEG - 5:视频编码方式, QP、CRF,-B;补充 RGB 到 HSV 到 YUV 的换算公式
  • codeorg免费编程网站里面云智能建站
  • 做网站学哪种代码好网站兼容性代码
  • Ubuntu24.04安装搜狗输入法流程
  • 哈尔滨建设网站平台桂林两江四湖
  • 有做销售产品的网站有哪些成都 企业网站建设公司价格
  • 仓颉 Set 去重机制:从哈希冲突到百万级并发去重
  • GXDE OS 25.2 更新了!基于正式发布的 Debian13 Stable!
  • 天津公司网站开发自动生成logo的软件
  • 阿里云多网站门户网站为什么衰落
  • 仓颉开发鸿蒙应用:布局系统的设计哲学与高效实践