1 背景
异地备份机制是IT基础设施的必要一环,也是系统稳定性的保证。Kubernetes 高可用解决了单 master 宕机等情况。当整个区域停电宕机时,如何保证区域 Kubernetes 高可用呢?本文基于 velero 和 kubefed 工具来解决此问题。
2 方案架构说明
kubefed 作用为关联两个不同的 Kubernetes 集群,并设置其中一个为管理 Kubernetes 的 Host 集群;其余为 Kubernetes Member 集群。velero 作用为使用对象存储保存集群资源。
原理为:Host集群管理业务Member集群;通过 velero 客户端将Host集群资源保存至对象存储中,本方案对象存储选择为minio,也可以选择像S3;当Host集群宕机时,备份集群同步对象存储minio保存的资源对象,接管Member集群的管理。如图2.1所示
3 前提信息
Host集群(北京区) 1master:192.168.0.23 1node:192.168.0.24 Member集群(广东区) 1master:192.168.0.12 1node:192.168.0.30 备份Host集群(上海区) 1master:192.168.0.25 1node:192.168.0.26 对象存储minio,可高可用部署(杭州区) 139.198.113.239 velero 客户端:192.168.0.23/192.168.0.25 服务端:192.168.0.23/192.168.0.25
4 Host集群管理Member集群
4.1 member集群加入到host集群

4.2 Host集群上部署业务应用至Member集群上

5 Host集群和备份集群velero服务端和客户端安装
5.1 velero 下载,拷贝/user/local/bin即velero客户端安装完成。
wget https://github.com/vmware-tanzu/velero/releases/download/v1.5.3/velero-v1.5.3-linux-amd64.tar.gz
tar -xzvf velero-v1.5.3-linux-amd64.tar.gz
5.2 对象存储minio安装,此服务139.198.113.239:31001
5.3 服务端安装,提前创建好minio用户名和密码文件
cat <<'EOF' > credentials-velero
[default]
aws_access_key_id = minio
aws_secret_access_key = minio123
EOF
注意:secret-file与执行指令同级目录,s3Url值。
velero install \
--image velero/velero:v1.5.3 \
--provider aws \
--bucket velero \
--namespace velero \
--secret-file ./credentials-velero \
--velero-pod-cpu-request 200m \
--velero-pod-mem-request 200Mi \
--velero-pod-cpu-limit 1000m \
--velero-pod-mem-limit 1000Mi \
--use-volume-snapshots=false \
--use-restic \
--restic-pod-cpu-request 200m \
--restic-pod-mem-request 200Mi \
--restic-pod-cpu-limit 1000m \
--restic-pod-mem-limit 1000Mi \
--backup-location-config region=minio,s3ForcePathStyle="true",s3Url=http://139.198.113.239:31001 \
--plugins velero/velero-plugin-for-aws:v1.1.0
5.4 检查velero服务端安装成功
kubectl get pod -n velero
NAME READY STATUS RESTARTS AGE
restic-w4vcp 1/1 Running 0 6h53m
velero-84f95b5cd7-2fvtr 1/1 Running 0 6h53m
6 备份Host集群资源,上传minio
velero backup create <backup-name>
7 minio 界面查看备份数据

8 Host集群宕机及备份集群上位
velero restore create --from-backup <backup-name>
9 查看最后效果

文章转载自云原生内经,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




