要求已经搭建好了一个 Minio 服务,先在 Configuration 里设置一下 Server Location cn-guangzhou-1,已有的可以跳过。

创建建一个 Bucket longhorn-backup

创建一个 AccessKey longhorn-backup记录下 ID 和 Key。执行命令将 Key、Secret 和 Endpoints 转换为 Base64。注意这里一定要使用 -n否则容器导致 base64 多一个换行符。

echo -n t6dstDsYQuf7pbSj | base64
echo -n Q9RPWKxZ4bUIqBSzuOY6TLkFkXcHszRU | base64
# 换成你服务的地址,最好是内网的。如果 minio 也是在集群里就用 svc 地址,注意是 Minio API 的端口。
echo -n http://minio.minio:9000/ | base64

将得到的结果分别写入如下配置文件 longhorn-minio-credentials.yaml 中,注意 namespace 要和 longhorn 服务在一起。

apiVersion: v1
kind: Secret
metadata:
  name: longhorn-minio-credentials
  namespace: longhorn-system
type: Opaque
data:
  AWS_ACCESS_KEY_ID: dDZkc3REc1lRdWY3cGJTag==
  AWS_SECRET_ACCESS_KEY: UTlSUFdLeFo0YlVJcUJTenVPWTZUTGtGa1hjSHN6UlU=
  AWS_ENDPOINTS: aHR0cDovLzE5Mi4xNjguMS42Njo5MDAwLw==

创建这个 Secret,然后回到 longhorn 控制台,在设置里填写 Backup Target 和 Backup Target Credential Secret。这里的 Target 格式为 s3://<bucket-name>@<server_location>/,然后拉到最下方保存。

此时卷就支持创建备份的功能了。


且乐生前一杯酒