SODA Data Vision 2023からKubernetes上のアプリケーションデータを保護するKanisterを紹介
SODA FoundationがOpen Source Summit Europe 2023の併設イベントとして開催したSODA Data Vision2023から、Kubernetes上のアプリケーションのデータ保護を、カスタムリソースを使ってKubernetesスタイルで実行するオープンソースソフトウェアKanisterを紹介する。約25分のセッションの後半をデモに使って実際にその動作を解説したのは、Veeam SoftwareのField CTO、Michael Cade氏だ。
●動画:Application Level Data Operations on Kubernetes
Cade氏はKubernetesの上で実行されるアプリケーションがステートレスなものからステートフルなものの増加が見られるとしてKubernetesのバージョンを示しながら、追加された機能を紹介した。ここではPersistentVolume、StatefulSetなどの名称が書かれている。Kubernetesの初期の段階ではステートレスなアプリケーションが多かったというよりもステートフルなアプリケーションの実行が想定されておらず、徐々にステートフルなワークロードに対応した機能が増えていったということだろう。
またDatadogが2022年に行ったリサーチから、コンテナ上で実行されるアプリケーションの種類を紹介。ここではElasticsearchやPostgreSQLなどのオープンソースソフトウェアが多く実行されていると紹介し、Kubernetesで実行されるアプリケーションの増加をデータ保護に対するニーズの背景として解説している。
そうなれば当然、アプリケーションの保護について多くの要因が想定されることを次のスライドで解説した。ここではクラッシュした時のデータ保護、ストレージのスナップショット、データのダンプを行うツール、バックアップなどが想定され、Kubernetesにおいてもそれらが要求されていると語った。
そしてそれをアプリケーションのレベルで行うのがKanisterであると紹介。
ここで「アプリケーションレベルのデータ保護」と何度も繰り返しているのは、Kubernetes自体が分散データベースのetcdを使う「アプリケーション」であることが背景にあると思われる。ある時点のKubernetesの状態を保存し、問題発生時にリカバリーとしてその時点に戻るというニーズがあるのに対して、KanisterはあくまでもKubernetesのPodで実行されるアプリケーション、例えばデータベースのバックアップやリストアをKubernetesのスタイルに沿って行うツールだからということだろう。
実際、Cade氏の所属するVeeamはKastenというKubernetesに特化したバックアップソリューションを2020年10月に買収してポートフォリオに加えているが、Kastenについては何も触れずにKanisterの紹介だけに留めているのは、このカンファレンスに参加しているエンジニアに余計な情報を入れたくないという配慮からだろうか。
このスライドではKanisterがBlueprint、ActionSet、Profileという3つのカスタムリソースを追加して使用すること、Kanister Controllerが動作の基本プロセスであることなどを解説している。またインストールにはHelmが用いられることも記載されている。
カスタムリソースであるActionSetが起動されると、必要なBlueprintが呼び出されるという順番で処理が進み、Kanister Controllerが対象となるデータベースのバックアップを行う。
その後、バックアップされたアーカイブデータは別のクラスターやパブリッククラウドなどに保存されるというのが、例として示されたバックアップを行う際の一連の流れになる。
そしてここからはターミナルを使ってKubernetesのPodやカスタムリソース、ネームスペースなどを確認しながら、ElasticsearchにJSONでデータを保存、それをバックアップしてからデータを削除、その後、バックアップしたアーカイブデータからデータをリストアするというデモを実施した。
ここでは「これはデモだから同じクラスターにバックアップしているけど、実際には別のクラスターやパブリッククラウドにデータを退避して欲しい。そうでなかったらバックアップの意味がないよね?」とコメントし、あくまでも動作を見せるためのデモであることを強調した。この辺りはデータ保護を専門にしているVeeamのエンジニアらしい気の使い方だろうか。
デモでは、すでにDeployされているKubernetesにKanisterをHelmでインストールしたのち、カスタムリソースを作り、Elasticsearchが実行されているPodでデータを追加する。その後バックアップを取り、データを削除してリストアを行い、再度データを確認するという流れだ。Kanisterの基本的な動作を紹介するという目的には最適な内容と言えるだろう。ちなみにストレージはMinioを使っている。
最後にこのカンファレンスのホストであるSODA FoundationのプロジェクトであるKahuについても簡単に触れ、KahuがKubernetes自体のデータ保護を目的としているのに対し、KanisterはKubernetes上で動くステートフルアプリケーションのデータ保護が主眼であるというように棲み分けていることを紹介した。
ここでもVeeamのソリューションであるKastenについては何もふれず、SODAのプロジェクトとの違いを解説したに留まっており、敢えて自社製品の宣伝を排除していることを暗に示した格好となっている。
Kanisterについては以下の公式サイトを参照されたい。
●参考:Kanister公式ページ:https://kanister.io/
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- オープンソースのストレージプロジェクトSODAがコミュニティミーティングを実施。最新のリリースなどを解説
- オープンソースのストレージプロジェクト、SODAが6月14日にテックカンファレンスを開催
- 分散ストレージ管理のOSS、SODAが開催したミニカンファレンスを紹介
- オープンソースのストレージ管理ソフトウェアSODAがオンラインカンファレンスを開催
- Rancherを構成するソフトウェア
- Open Source Forum:Huaweiが開発をリードするSODAに注目
- CSIによるKubernetesのストレージ機能
- SODA Data Vision 2023より、Gitの使い勝手をデータレイクに応用したlakeFSを紹介
- CloudNative Days Fukuoka 2023、クアンドのテックリードによるキーノートセッションを紹介
- CloudNative Days Fukuoka 2023、GoogleによるGKE上のGateway APIの解説セッションを紹介