0
0

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 1 year has passed since last update.

Tanzu Mission ControlのData Protection機能を試す

Last updated at Posted at 2023-01-05

Tanzu Mission ControlにはData Protectionという機能がある。これを使うと、クラスタに勝手にVeleroをインストールしてくれて、バックアップもWebUIからポチポチ押すだけで取れてしまう。
Veleroはとかくインストールが面倒だったり、バックアップの設定もコマンドで実行しなくてはならずユーザフレンドリーとは疎遠のツールなので、Kubernetesのバックアップの敷居を下げたい人には有効な機能といえる。
これを利用した時のメモ。公式ドキュメントはこちら

前提条件

S3互換ストレージを用意しておく。ここではMinIOを利用する。
MinIOの構築方法については以前こちらの記事に書いている。
また、MinIOのテナント上にバケットも作成しておくこと。

Data Protection機能の有効化

機能を有効化する前にバックアップの保存先となるターゲットの場所と認証情報を作成する。

今回は以前作成したMinIOにバックアップを取得する。作成するCredentialとしてAWS S3 or S3-compatibleを選択し、Access key idとSecret access keyにMinIOのテナントのものを入力する。

1672885242513.png

次に、AdministrationからTarget locationsを選択し、AWS S3 or S3-compatibleを選択する。

1672891404867.png

すると、Credential, Configure, Assign Clusters, Name and createについて設定が促されるので、以下のように設定していく。

  • Credential
    • Account credential:先程作成したMinIOのCredentialを選択
  • Configure
    • AWS S3 or S3-compatible URL:MinIOのテナントのURL
    • Bucket:MinIOのテナント内に作成しているBucket名
    • Regionminio
  • Assign Clusters
    • バケットを利用したいクラスタ or クラスタグループを選択
  • Name and create
    • Name:最大63文字で小文字、数字、ハイフンからなり、始まりと終わりは小文字と数字のいずれか

Target Locationの作成が終わったらData Protectionを有効化する。
ClustersからData Protectionを有効にしたいクラスタを選択し、Overviewの右下にあるData protectionENABLE DATA PROTECTIONのリンクをクリックする。
すると、Veleroをインストールする旨が表示されるのでENABLEをクリックする。

1672891298601.png

有効化が完了すると、Veleroがresticプラグインとともにインストールされている状態となる。

$ kubectl get pod -n velero
NAME                      READY   STATUS    RESTARTS   AGE
restic-8ghkj              1/1     Running   0          124m
restic-wvd8x              1/1     Running   0          124m
velero-7fdc5bff66-drf5r   1/1     Running   0          125m

余談だが、vSphere環境でもvShere pluginがインストールされないのは、マルチクラウドを意識してのことだと考えられる(resticならどこのクラウドでもリストアできるため)。

バックアップの取得

次にバックアップを取得する。
Data Protectionを有効化したクラスタを選択し、Data protectionからCREATE BACKUPを選択する。

1672892538303.png

すると、What to backup、Where to store the backup、When to backup、Back up retention、Name and createについて入力を促される

What to backup

バックアップ対象を聞かれる。選択肢は、

  • Back up the entire cluster, <クラスタ名>:クラスタ全体
  • Back up selected namespaces:チェックボックスで選択したNamespace
  • Back up resource using a label selector:ラベルが一致したリソース

となっている。ここではクラスタ全体をバックアップする。
また、Advanced Optionでは以下が選択できる。

  • Exclude resources (optional):除外するリソース
  • Exclude namespaces (optional):除外するNamespace
  • Include cluster-scoped resources:クラスタスコープのリソースを含むかどうか
    ※クラスタスコープのリソース:kubectl api-resourcesでNAMESPACEDがFalseのリソース

今回は特に変更せずに進める。

Where to store the backup

バックアップ先を指定する。All locationsCurrently available locationがあるが、前者は全てのTarget locationを対象にするのに対して、後者はStatusがAvailableのもののみを対象にする。
All locationを選択し、Target locationでは先程作成したLocationを選択する。
なお、選択後にVIEW DETAILSをクリックすることで、Availableになっているかも確認できるので、気になるなら確認しておくとよい。

1672893592435.png

When to backup

バックアップを取るタイミングを今、1時間毎、1日毎、1週毎、1月毎、カスタムで選択できる。カスタムの場合はCRON形式で指定する。
ここではNOWを選択する。

Back up retention

バックアップの保持期間(自動で削除されるまでの期間)を指定する。デフォルトでは30日となっている。
ここではデフォルトのまま進む。
なお、選択できるのは1日〜365日となっている。Velero CLIで実行する場合は365日以上も指定可能なので、無制限に保持したい、もしくは手動でのみ削除したい人はVelero CLIを使った方が良さそう。

Name and create

バックアップ名を指定する。リストアの時に名前を指定して利用する。

全て入力してCREATEを選択するとバックアップが始まり、しばらくすると以下のようにCompletedが表示される。

1672894092703.png

バックアップ名をクリックするとバックアップした対象の情報が一部表示される。デフォルトでは以下のNamespaceは自動で除外される模様。

  • kube-system
  • tanzu-system
  • tkg-system
  • velero
  • vmware-system-csi
  • vmware-system-tmc

なお、バックアップしたものの詳細はWebUIからは確認できないため、取得したものの詳細が見たい場合はVelero CLIから確認するとよい。以下のような感じでリソースの一覧も確認できる。

$ velero describe backup <バックアップ名> --details
:(省略)
Total items to be backed up:  851
Items backed up:              851

Resource List:
  admissionregistration.k8s.io/v1/MutatingWebhookConfiguration:
    - cert-manager-webhook
    - crdmutator.antrea.io
    - crdmutator.antrea.tanzu.vmware.com
:(省略)
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?