准备对象存储及Velero
由运维或者开发人员基于Velero工具完成Kubernetes对象迁移。
准备对象存储MinIO
MinIO官网地址:https://docs.min.io/
准备对象存储,保存其AK/SK。
- 安装MinIO。
MinIO is a high performance,distributed,Kubernetes Native Object Storage.
# 二进制安装 mkdir /opt/minio mkdir /opt/miniodata cd /opt/minio wget https://dl.minio.io/server/minio/release/linux-amd64/minio chmod +x minio export MINIO_ACCESS_KEY=minio export MINIO_SECRET_KEY=minio123 ./minio server /opt/miniodata/ & 浏览器输入: http://{minio所在节点的eip}:9000 (注意防火墙、安全组需要放开对应端口) # kubectl容器化安装 # 如果需要将minio发布为集群外可访问的服务,请修改00-minio-deployment.yaml中的服务类型为NodePort或LoadBalancer kubectl apply -f ./velero-v1.4.0-linux-amd64/examples/minio/00-minio-deployment.yaml
- 创建后面迁移需要使用的桶。
打开minio的web页面 使用MINIO_ACCESS_KEY/MINIO_SECRET_KEY登录minio,本文中为minio/minio123 单击‘+’上方的“Create bucket”,创建桶,本文中桶名为velero
准备Velero
Velero官网地址:https://velero.io/docs/v1.4/contributions/minio/
Velero is an open source tool to safely backup and restore, perform disaster recovery, and migrate Kubernetes cluster resources and persistent volumes.
在ACK和CCE的可执行kubectl命令的节点上执行如下操作:
- 下载迁移工具Velero
从https://github.com/heptio/velero/releases下载最新的稳定版 本文下载的是velero-v1.4.0-linux-amd64.tar.gz
- 安装Velero客户端
mkdir /opt/ack2cce cd /opt/ack2cce tar -xvf velero-v1.4.0-linux-amd64.tar.gz -C /opt/ack2cce cp /opt/ack2cce/velero-v1.4.0-linux-amd64/velero /usr/local/bin
- 安装Velero服务端
cd /opt/ack2cce # 准备minio认证文件,ak/sk要正确 vi credentials-velero [default] aws_access_key_id = minio aws_secret_access_key = minio123 # 安装velero服务端,注意s3Url要修改为正确的minio地址 velero install \ --provider aws \ --plugins velero/velero-plugin-for-aws:v1.0.0 \ --bucket velero \ --secret-file ./credentials-velero \ --use-restic \ --use-volume-snapshots=false \ --backup-location-config region=minio,s3ForcePathStyle="true",s3Url=http://{minio所在节点的eip}:9000