2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Kubernetesのバックアップについてのメモ(Velero+MinIO)

Posted at

Kubernetesのバックアップについて

Kubernetes上で動作するアプリケーションのバックアップ方法についてメモ

Kubernetes自体を作ったエンジニアが開発したという、Heptio Arkというバックアップツールがあり、VMwareがそれを買収してVeleroと命名しなおしている。

参考: https://www.atmarkit.co.jp/ait/articles/1811/15/news028.html

このVeleroを用いて、バックアップリストアの簡単なテストをしてみたときのメモ。

バックアップツール Velero

下記がVeleroのGithub
https://github.com/vmware-tanzu/velero

使用方法に関する例もマニュアルには載っている。
下記は、namespaceが削除されてしまった場合の障害を想定して、バックアップ、リストアを行うサンプルになっている。
https://velero.io/docs/v1.3.0/examples/

バックアップの保存先はオブジェクトストレージを使うことができるみたい。
ここの部分はAWS S3などで構わないが、MinIOというオブジェクトストレージを用いてみる。

オブジェクトストレージ MinIO

MinIOはS3互換の分散型オブジェクトストレージで、さくっと導入する分には下記のdocker-compose.yamlなどで入るので便利。

docker-compose.yaml
version: '2'
services:
  minio:
    ports:
      - '9000:9000'
    image: minio/minio
    volumes:
    - ./data:/data
    command: server /data

実行してみると、下記のように接続用情報が出てくるので、そのままブラウザでアクセスできる。
Untitled.png

ブラウザで表示するとこんな感じ。
右下のボタンからバケット作成と、ファイルのアップロードが可能
Untitled 2.png

Velero + MinIO

VeleroとMinIOを用いて、Kubernetesのバックアップ&リストアを試せるチュートリアルを作った。

メモ

MinIOの認証情報は、00-minio-deployment.yamlに記載されている。

00-minio-deployment.yaml
        env:
        - name: MINIO_ACCESS_KEY
          value: "minio"
        - name: MINIO_SECRET_KEY
          value: "minio123"

この認証情報を、veleroからMinIOに接続するときに利用している。
veleroで使用する認証情報は、credentials-veleroというファイルに保存している。
もちろん、AWS S3を使用する場合にはここに、S3への認証情報を書くことになる。

credentials-velero
[default]
aws_access_key_id = minio
aws_secret_access_key = minio123
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?