目录

一、概述

二、安装docker

1、yum 安装 docker

三、docker安装minio

1、登录minio创建Buckets

四、在k8s上安装velero

1、下载 velero

2、下载镜像 velero/velero-plugin-for-aws:v1.2.1 和velero/velero:v1.9.0 

3、创建密钥并安装velero

4、安装velero

5、查看velero安装状态

五、备份k8s

1、创建测试应用

2、备份test命名空间

3、删除test命名空间

4、恢复备份


一、概述

        Velero是一个开源工具,可以安全地备份和还原,执行灾难恢复以及迁移Kubernetes集群资源和持久卷。

二、安装docker

        使用阿里云源安装docker: https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.57e31b11fGtfdU

1、yum 安装 docker

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start

三、docker安装minio

       官方参考文档:http://docs.minio.org.cn/docs/master/minio-docker-quickstart-guide

        指定用户:MINIO_ACCESS_KEY=admin

        指定密码:MINIO_SECRET_KEY=admin12345

        指定minio控制台登录地址和端口:console-address ":9090"

        指定minio服务地址: address ":9000"

        minio管理端登录地址:http://ip:9090

 a、docker部署minio方式:

mkdir -p /root/minio

docker run -p 9000:9000 -p 9090:9090 \
--name minio \
-d --restart=always \
-e "MINIO_ACCESS_KEY=admin" \
-e "MINIO_SECRET_KEY=admin12345" \
-v /root/minio/data:/data \
minio/minio server \
/data --console-address ":9090" --address ":9000"

b、 docker-compose部署minio方式:

mkdir -p /root/minio && cd /root/minio

cat > docker-compose.yaml << eof

version: '3.3'
services:
  minio:
    image: minio/minio
    container_name: minio
    restart: always
    command: server /data --console-address ":9090" --address ":9000"
    ports:
      - 9000:9000
      - 9090:9090
    environment:
      TZ: Asia/Shanghai
      MINIO_ACCESS_KEY: admin
      MINIO_SECRET_KEY: admin12345
    #  MINIO_ROOT_USER: admin
    #  MINIO_ROOT_PASSWORD: admin12345
    volumes:
       - ./minio/data:/data
       - ./minio/config:/root/.minio

eof

1、登录minio创建Buckets

       创建Buckets桶名为: data

四、在k8s上安装velero

        说明在能连接到k8s集群并安装有kubectl命令行的主机上安装velero。

       一键安装k8s见另一篇博文:https://blog.csdn.net/weixin_44770684/article/details/127715081

1、下载 velero

# 下载 velero后,解压并将 velero 复制到  /usr/local/bin/

tar -xzf velero-v1.9.0-linux-amd64.tar.gz
cp velero-v1.9.0-linux-amd64/velero /usr/local/bin/

2、下载镜像 velero/velero-plugin-for-aws:v1.2.1 和velero/velero:v1.9.0 

docker pull velero/velero-plugin-for-aws:v1.2.1

docker pull velero/velero:v1.9.0

3、创建密钥并安装velero

cat > /root/minio/credentials-velero <<EOF
[default]
aws_access_key_id = admin
aws_secret_access_key = admin12345
EOF

4、安装velero

        bucket要填写在minio控制台创建的名字:data

        secret-file要指向前面创建的秘钥文件:/root/minio/credentials-velero

   velero install \
    --provider aws \
    --plugins velero/velero-plugin-for-aws:v1.2.1 \
    --bucket data \
    --secret-file /root/minio/credentials-velero \
    --use-volume-snapshots=false \
    --backup-location-config     region=minio,s3ForcePathStyle="true",s3Url=http://192.168.51.133:9000

5、查看velero安装状态

kubectl logs deployment/velero -n velero

五、备份k8s

1、创建测试应用

kubectl create ns test

kubectl -n test create deploy nignx --image=nginx

kubectl -n test create deploy httpd --image=httpd

2、备份test命名空间

# velero backup create test-$(date +%s) --include-namespaces test -n velero

velero backup create backup-test --include-namespaces test -n velero

3、删除test命名空间

kubectl -n test delete deploy --all

4、恢复备份

velero restore create --from-backup backup-test --wait

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐