基于velero和minio实现k8s数据的备份

1.30部署minio

root@k8s-harbor:/etc/kubeasz/clusters/k8s-cluster1# docker run \

-d --restart=always
-p 9000:9000
-p 9090:9090
–name minio
-v /data/minio/data:/data -e “MINIO_ROOT_USER=admin” -e “MINIO_ROOT_PASSWORD=12345678” quay.io/minio/minio server /data --console-address “0.0.0.0:9090”
2a7094a739e28f5bb59eb9da5e3db0960ea002d611d732b822d3cce9af87b26f
在这里插入图片描述
在这里插入图片描述

在master部署velero

wget https://github.com/vmware-tanzu/velero/releases/download/v1.9.0/velero-v1.9.0-linux-amd64.tar.gz
tar xf velero-v1.9.0-linux-amd64.tar.gz
cd velero-v1.9.0-linux-amd64/
cp velero /usr/bin/
echo ‘source <(velero completion bash)’ >>~/.bashrc
source .bashrc
velero --help

mkdir -p /data/velero
cd /data/velero
vim velero-auth.txt
[default]
aws_access_key_id = admin
aws_secret_access_key = 12345678

部署velero
配置velero访问minio
mkdir -p /data/velero
cd /data/velero
vim velero-auth.txt
[default]
aws_access_key_id = admin
aws_secret_access_key = Passw0rd

配置velero访问k8s
openssl genrsa --out velero-user.key 2048
openssl req -new -key velero-user.key
-out velero-user.csr
-subj “/CN=velero-user/O=k8s”

openssl x509 -req -days 3650
-CA /etc/kubernetes/ssl/ca.pem
-CAkey /etc/kubernetes/ssl/ca-key.pem -CAcreateserial
-in velero-user.csr -out velero-user.crt
rm -f velero-user.csr

准备kubeconfig认证文件

kubectl config set-cluster k8s-cluster1 --embed-certs
–server=https://192.168.1.24:6443 -
-certificate-authority=/etc/kubernetes/ssl/ca.pem
–kubeconfig=/data/velero/velero-user.config

kubectl config set-credentials velero-user --embed-certs
–client-certificate=/data/velero/velero-user.crt
–client-key=/data/velero/velero-user.key
–kubeconfig=/data/velero/velero-user.config

kubectl config set-context velero-user@k8s-cluster1
–cluster=k8s-cluster1 --user=velero-user
–kubeconfig=/data/velero/velero-user.config

kubectl config use-context velero-user@k8s-cluster1 --kubeconfig=/data/velero/velero-user.config

为velero-user用户授权

kubectl create clusterrolebinding velero-user@clusteradmin --clusterrole=cluster-admin --user=velero-user

安装
kubectl create ns velero-system
velero install --kubeconfig /data/velero/velero-user.config
–provider aws
–plugins velero/velero-plugin-for-aws:v1.3.1
–bucket velero-data
–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.1.30:9000

查看安装成功
在这里插入图片描述

备份默认名称空间

DATE=`date +%Y%m%d%H%M%S`
velero backup create default-ns-backup-${DATE} \
--include-cluster-resources=true \
--include-namespaces default \
--namespace velero-system \
--kubeconfig=/data/velero/velero-user.config

查看备份状态
velero backup get -n velero-system
在这里插入图片描述
在这里插入图片描述
velero backup create default-ns-backup-${DATE}
–include-cluster-resources=true
–include-namespaces monitoring
–namespace velero-system
–kubeconfig=/data/velero/velero-user.config

  • 23
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值