day27 : k8s backup/restore/migrate with velero(下)

昨天介绍了velero的概念,今天来配置一套velero出来看看吧。

配置velero非常的简单,只需要准备好velero的cli并且在可以连到k8s的地方执行就可以了,为了让备份的资料有地方储存,要思考好储存的位置跟储存方案的转移是否方便,在storage上我选择的minio储存,原因如下

  1. 好管理,有api也有介面可以使用。
  2. 完全兼容aws s3 之後想要转换也容易。
  3. 轻量快速,
  4. 可以container化,但是我比较不喜欢。
    另外因为loki的关系其实我也已经使用了一套minio。

所以也顺便讲一下minio的配置方法,minio的安装也是透过binary档案就可以了,方法如下

wget https://dl.min.io/server/minio/release/darwin-amd64/minio
chmod +x minio
cp -rp minio /usr/local/bin/

cat > /etc/systemd/system/minio.service << EOF
[Unit]
Description=minio
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio

[Service]
WorkingDirectory=/usr/local/
User=root
Group=root
EnvironmentFile=/etc/minio
ExecStart=/usr/local/bin/minio server \$MINIO_OPTS
Restart=always
LimitNOFILE=65536
TimeoutStopSec=infinity
SendSIGKILL=no

[Install]
WantedBy=multi-user.target
EOF

cat > /etc/minio << EOF
MINIO_OPTS="http://IP:9000/data"
MINIO_ACCESS_KEY=“minioadmin”
MINIO_SECRET_KEY="minioadmin"
EOF

这样daemon启动後就会有一台minio可以存取罗,用网页输入IP:9000 port就可以用了,如果有想要做成minio cluster的话在/etc/minio档案配配置多台主机即可( MINIO_OPTS="http://IP1:9000/data http://IP2:9000/data” ),如果想要多地同步资料其实也可以通过Rclone这个工具简易的玩看看唷。

接着开始配置velero的资源

wget https://github.com/vmware-tanzu/velero/releases/download/v1.7.0-rc.1/velero-v1.7.0-rc.1-linux-amd64.tar.gz
tar zxvf velero-v1.7.0-rc.1-linux-amd64.tar.gz
cp velero-v1.7.0-rc.1-linux-amd64/velero /usr/local/bin/

cat > /etc/velero/credentials-velero-minio << EOF
[default]
aws_access_key_id = minioadmin
aws_secret_access_key = minioadmin
EOF

接着执行下面的command,有一点要注意是,因为storage是使用minio server所以就算是在gcp环境也适用aws plugin,但是velero其实也可以支援gcp的储存空间。

velero install --provider aws --plugins velero/velero-plugin-for-aws:v1.0.0 --bucket velero --secret-file /etc/velero/credentials-velero-minio --use-volume-snapshots=true --backup-location-config region=default,s3ForcePathStyle="true",s3Url=http://IP:9000 --snapshot-location-config region="default" --use-restic --default-volumes-to-restic --wait 

这样等待一下後就会有velero相关资源可以使用罗,用velero —help可以看到backup restore的相关指令用法,跟kubectl其实相差不会太多。


<<:  110/12 - 把照片储存在Pictures/应用程序名称资料夹 - 2

>>:  Day 12 Generics Part 2

【从实作学习ASP.NET Core】Day02 | MVC 的架构

MVC架构 MVC是软件工程中的一种软件架构模式,是基於关注点分离(seperation of co...

Day 22 - 物件导向与向量3 - class + mouseInpress 设定

接下来设定一些基本的设定需求 分别拆成 bullet 跟 ball(细胞)两个class的写法 cl...

D23 - 如何用 Apps Script 自动化地创造与客制 Google Slides?(四)一次抓出所有简报中的「特定文字」与备注

今天的目标: 要怎麽快速搜集在 Slides 中出现的特定文字,并在 Sheet 上标示其出现的页码...

JavaScript ⑅ES6:展开运算子 & 其余运算子

展开运算子及 其余运算子( 又称 其余参数 ) 他们有共通特点,那就是「 都跟阵列有关 」   写法...

Day23 - Online DDL

以往使用MySQL遇到要执行ddl语法的时候,为了不影响线上运作,会使用工具来执行。 比较常听到的使...