PR

CNDO 2021、KubernetesのバックアップツールVeleroを紹介

2021年6月23日(水)
松下 康之 - Yasuyuki Matsushita
CloudNative Days Spring 2021のセッションから、Kubernetesのバックアップを実現するVeleroを紹介する。

Cloud Native Days Online 2021から、今回はKubernetesのリソースやボリュームをバックアップするオープンソースソフトウェアVeleroを紹介する。セッションを担当したのは、ヴイエムウェア株式会社のクラウドネイティブフィールドエンジニアである村田一平氏だ。

Kubernetesに特化したバックアップツールVeleroを解説

Kubernetesに特化したバックアップツールVeleroを解説

今回のセッションではVelero、Restic、それに村田氏が所属するVMwareの仮想化基盤であるvSphere対応のプラグインをベースに解説すると説明している。ここでVeleroとResticの関係を整理しておこう。VeleroはもともとHeptioが開発していたArkというソフトウェアだが、HeptioがVMwareに買収された経緯で、今はVMwareが中心となって開発を行っているオープンソースソフトウェアだ。

Resticもオープンソースソフトウェアとして開発されているバックアップのためのソフトウェアで、Veleroはプラグインの形でResticを利用している。VeleroはResticをスナップショットのための追加機能として使っているが、まだベータレベルの品質なので制限事項も存在しているというのが2021年4月時点の状況だ。

VeleroとResticを使って解説。詳細はドキュメントサイトを参照のこと

VeleroとResticを使って解説。詳細はドキュメントサイトを参照のこと

ここで村田氏は、KubeCon EU 2019の2日目のキーノートセッションで紹介されたSpotifyの障害について触れ、この障害以降SpotifyがKubernetesのバックアップをちゃんと実行するようになったことを紹介した。クラスターの作成・消去が簡単に行えるKubernetesとは言えども、バックアップは重要だと強調した。ちなみにSpotifyが3つのリージョンに分かれたクラスターのうち2つを消失させたという事例に関しては、以下の記事を参照して欲しい。

参考:KubeCon Europe、2日目のキーノートはSpotifyの失敗事例とIBMのRazeeがポイント

Spotifyの障害事例をベースにバックアップの重要性を訴求

Spotifyの障害事例をベースにバックアップの重要性を訴求

そしてVeleroについて簡単に紹介。Kubernetesに特化したバックアップツールとしてHeptioが開発していたソフトウェアを、Heptioを買収したVMwareが引き継いだという解説を行った。

Veleroとは

Veleroとは

Veleroの最初のリリース0.3.0は、2017年8月に公開されており、現在(記事執筆時点)はバージョン1.5.3が最新版として公開されていると解説した。

Kubernetesが最初にGitHubにコミットされたのが2014年6月6日で、これはHeptioの創業者で当時はGoogleのエンジニアだったJoe Beda氏によって行われているため、Kubernetes専用のバックアップツールは約3年後に登場したということになる。開発自体はそれ以前から行われているため、ディスカッションフォーラムでは「5年前から開発されているツール」と紹介されており、歴史のあるツールと言える。

Veleroの特徴

Veleroの特徴

Veleroの特徴として「マルチクラウドへの対応」「Kubernetesが利用するストレージであるPersistent Volume及び設定情報となるCustom Resourceのバックアップが可能」が挙げられた。またプラグインによる拡張はパブリッククラウドへのバックアップなどにも利用される仕組みであり、Veleroの開発チームがサポートしているクラウドプロバイダー以外にも、ベンダーがプラグインを開発・公開して利用することも可能である。正式にサポートされていないプロバイダーへのスナップショットも、Resticのプラグインを使って利用可能になっていることがドキュメントにも記載されている。

参考:Providers

Veleroのユースケース

Veleroのユースケース

ユースケースを解説したスライドでは、障害対策のためのバックアップ以外にもオンプレミスからパブリッククラウド、またはその逆のマイグレーションや、クラスター複製のためにも利用可能であると説明した。

開発者向けに環境を複製するユースケースを紹介

開発者向けに環境を複製するユースケースを紹介

クラスター複製のユースケースでは、Kubernetes以外のコンポーネントが利用されている時にそれらの設定情報をコピーすることで、開発者の準備作業が低減されること、また検証ための環境設定を行えることなどを効果として解説した。

VeleroとResticを導入した際の構成

VeleroとResticを導入した際の構成

VeleroはKubernetesのカスタムリソースとコントローラーを使ってバックアップを行うため、多くのカスタムリソースが生成されていることがわかる。

Veleroの仕組み。KubernetesのAPIを使って実行

Veleroの仕組み。KubernetesのAPIを使って実行

このスライドでは「Velero backup create」コマンドがAPIを通してKubernetesに送信され、最終的にS3のバケットとしてバックアップが行われることを解説している。

Backup/Restoreの例

Backup/Restoreの例

基本となるバックアップはNamespace、Resource、Labelなどの単位で行うことができると説明。バックアップ/リストアの前後に処理を実行させることも可能だが、リストアの前に処理を行うためにはバージョン1.5以降を使う必要があることを注意点として説明した。

リストア前後に処理を実行することも可能

リストア前後に処理を実行することも可能

ここからは、実際にVeleroを使ったエンジニアとしての経験からの解説として細かな利用上の注意点が説明された。

処理の進捗はVeleroコマンドではなくkubectlで確認

処理の進捗はveleroコマンドではなくkubectlで確認

これに関連した苦労話として、プラグインの利用時に完了のステータスがVelero側とプラグイン側で非同期なっている場合には注意が必要だと説明した。ここでの例はvSphereプラグインだが、Velero本体とプラグインが独立して実行される場合には要注意という部分だろう。

プラグインが非同期で動作する場合に発生する不具合

プラグインが非同期で動作する場合に発生する不具合

プラグインの動作を確認して実行することが重要

プラグインの動作を確認して実行することが重要

最後にまとめとしてKubernetesにおいてもバックアップを実行しよう、事前検証を行おう、公式ドキュメントを読もうなどと説明した。またvelero bugコマンドを使うとGitHubでIssueを報告することができるという小ネタを解説してセッションを終えた。実際に使った経験談を交えた具体的な内容で、これからKubernetesでのバックアップを検討しようというエンジニアには良いイントロダクションだろう。

セッションのまとめ

セッションのまとめ

Veleroは2021年4月12日に最新バージョン1.6.0が公開されている。

リリース情報:https://github.com/vmware-tanzu/velero/releases

公式サイト:Velero

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

設計/手法/テストイベント
第14回

CNDO 2021、技術的負債を現場のエンジニアが対処する方法を解説

2021/8/2
時間の経過とともに溜まってしまう技術的負債に、現場のエンジニアはどう対処するべきかをAWSのエバンジェリストが解説したセッションを紹介する。
クラウドイベント
第13回

CNDO2021、Kubernetesがない世界とある世界の違いをインフラエンジニアが解説

2021/7/29
Kubernetesがある世界とない世界を比較して、クラウドネイティブになるためのヒントを解説するセッションを紹介する。
設計/手法/テストイベント
第12回

CNDO2021、サーバーレスの勘所をサーバーワークスのエンジニアが紹介

2021/7/27
サーバーワークスのエンジニアがPyhtonとLambdaをベースにしたサーバーレスの要点を解説したセッションを紹介する。

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています