印刷网站 源码,郑州装修公司口碑哪家好,长沙那个手机建网站公司好,知名做网站哪家好1 概述
velero是vmware开源的一个备份和恢复工具#xff0c;可作用于kubernetes集群下的任意对象和应用数据#xff08;PV上的数据#xff09;。github地址是https://github.com/vmware-tanzu/velero。
对于应用数据#xff0c;可分文件级别的复制和块级别的复制。文件级…1 概述
velero是vmware开源的一个备份和恢复工具可作用于kubernetes集群下的任意对象和应用数据PV上的数据。github地址是https://github.com/vmware-tanzu/velero。
对于应用数据可分文件级别的复制和块级别的复制。文件级别的复制是更加通用的。数据恢复时pod会被打入一个init容器velero-restore-helper来准备数据目录从远程对象存储中下载并解密init容器完成后再启动业务容器。
1文件级别的复制
将deployment、statefulset、pvc、pv等k8s对象以及容器中挂载的数据目录会被加密都备份到远程对象存储中。2块设备的复制
将deployment、statefulset、pvc、pv等k8s对象备份到远程对象存储中并且在pv底层的存储系统中创建快照。在架构上velero分为服务端和命令行。服务端是一个控制器监听k8s自定义资源来做协调自定义资源则是对备份和恢复这两个概念的抽象名称就是backup和restore。
2 环境
两个kubernetes集群v1.29一个的对象存储桶华为云OBS服务。对象存储桶具体信息是region为cn-north-1端点为obs.cn-south-1.myhuaweicloud.com桶名称为velerobackup。 3 部署velero
同时在两个kubernetes集群中下载velero二进制命令行工具。
wget https://github.com/vmware-tanzu/velero/releases/download/v1.14.1/velero-v1.14.1-linux-amd64.tar.gz
tar -xf velero-v1.14.1-linux-amd64.tar.gz
mv velero-v1.14.1-linux-amd64/velero /usr/bin
velero version准备对象存储桶的ak、sk并将它们写入到一个固定文件/opt/credentials-velero。
export ak*******yourak*******
export sk*******yoursk*******cat /opt/credentials-velero EOF
[default]
aws_access_key_id $ak
aws_secret_access_key $sk
EOF通过velero命令行工具同时在两个kubernetes集群中安装velero服务端。
# 对于华为云对象存储协议必须是http使用https协议velero会出现问题
velero install \--kubeconfig /root/.kube/config \--velero-pod-cpu-request 500m \--velero-pod-mem-request 0.5Gi \--velero-pod-cpu-limit 1000m \--velero-pod-mem-limit 1Gi \--use-node-agent \--node-agent-pod-cpu-request 500m \--node-agent-pod-mem-request 0.5Gi \--node-agent-pod-cpu-limit 1000m \--node-agent-pod-mem-limit 1Gi \--provider aws \--plugins velero/velero-plugin-for-aws:v1.9.1 \--bucket velerobackup \--secret-file /opt/credentials-velero \--use-volume-snapshotsfalse \--backup-location-config regioncn-north-1,s3ForcePathStyletrue,s3Urlhttp://obs.cn-south-1.myhuaweicloud.com通过以下命令查看velero服务端的信息
kubectl get pod -n velero通过以下命令查看对象存储的信息
kubectl get BackupStorageLocation -n velero default4 备份
在一个kubernetes集群A中执行备份备份的是default和demo这两个namespace下的所有k8s对象。
velero backup create second-backup --include-namespacesdefault,demo --default-volumes-to-fs-backup接着在对象存储中可以看见备份文件上传了。
过一会也会在另一个kubernetes集群B中看见一个新的backup对象这个对象是velero控制器新创建的。 5 恢复
在kubernetes集群B中执行以下命令会将保存在对象存储中的k8s对象导入到该集群。
velero restore create --from-backup second-backup6 小结
在本次操作过程中最大的阻碍点是如果在velero的安装参数指定了华为云对象存储的端点是https协议会发生报错velero服务端得到的响应是The x-amz-content-sha256 you specified did not match what we received。