目录
-
-
-
- 一、velero简介
- 二、Velero 特性
- 三、Velero 支持的后端存储
- 四、下载Velero
- 五、安装前检查
- 六、安装Velero(`minio版`)
-
-
- 6.1 创建minio凭证
- 6.2 创建minio对象存储
- 6.3 查看运行状态
- 6.4 开发端口`9000`,该端口为`控制台端口`
- 6.5 查看IP和端口映射`(此时容器内端口9000已被映射到宿主机端口30812,控制台端口velero install时使用)`
- 6.6 通过`30812`端口访问宿主机
- 6.7 在次开发端口`45725`,该端口为随机启动的`web端口`
- 6.8 查看IP和端口映射`(此时容器内端口45725已被映射到宿主机端口30812,通过命令查看是9000映射到30986可以忽略不要管)`
- 6.9 再次通过`30986`端口访问宿主机
- 6.10 安装velero (使用`本地集群minio`作为备份存储)
-
- 七、安装Velero(`阿里云OSS版` `[推荐]`)
- 八、备份与恢复
-
-
一、velero简介
k8s备份工具之velero, velero 是一个云原生的灾难恢复和迁移工具,它本身也是开源的, 采用 Go 语言编写,可以安全的备份、恢复和迁移Kubernetes集群资源和持久卷。
二、Velero 特性
- 支持 Kubernetes 集群数据备份和恢复
(测试k3s也没问题)
- 支持复制当前 Kubernetes 集群的资源到其它 Kubernetes 集群
- 支持复制生产环境到开发以及测试环境(不同命名空间的备份还原)
三、Velero 支持的后端存储
- minio
- 阿里云OSS
[推荐]
(需要安装官方插件velero-plugin)
四、下载Velero
官网地址:https://github.com/vmware-tanzu/velero
4.1 下载velero
wget https://github.com/vmware-tanzu/velero/releases/download/v1.9.0/velero-v1.9.0-linux-amd64.tar.gz
4.2 解压后,将velero
移动到/usr/local/bin/
tar zxf velero-v1.9.0-linux-amd64.tar.gz
cd velero-v1.9.0-linux-amd64
mv velero /usr/local/bin/
五、安装前检查
- 存在
$HOME/.kube/config
文件跳过此步骤,不存在通过下面命令生成,否则在执行velero install
时会失败
mkdir -p $HOME/.kube
kubectl config view --raw > $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
六、安装Velero(minio版
)
6.1 创建minio凭证
vim examples/minio/credentials-velero
内容如下
[default]
aws_access_key_id = minio
aws_secret_access_key = minio123
6.2 创建minio对象存储
kubectl create -f examples/minio/00-minio-deployment.yaml
6.3 查看运行状态
root@lettin:/home/lettin/velero-v1.9.0-linux-amd64# kubectl get pods -n velero
NAME READY STATUS RESTARTS AGE
minio-7c4687ffbd-z7fql 1/1 Running 0 114s
minio-setup-kp2kz 0/1 Completed 0 114s
6.4 开发端口9000
,该端口为控制台端口
kubectl expose deployment minio -n velero --type=NodePort --name=minio-nodeport --target-port=9000
6.5 查看IP和端口映射(此时容器内端口9000已被映射到宿主机端口30812,控制台端口velero install时使用)
root@lettin:/home/lettin/velero-v1.9.0-linux-amd64# kubectl get svc -n velero
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
minio ClusterIP 10.97.64.143 <none> 9000/TCP 15h
minio-nodeport NodePort 10.106.88.255 <none> 9000:30812/TCP 5s
6.6 通过30812
端口访问宿主机
从下图可以看出实际访问的http://192.168.2.240:30812地址,被重定向到了http://192.168.2.240:45725/
6.7 在次开发端口45725
,该端口为随机启动的web端口
kubectl expose deployment mi