Slide 1

Slide 1 text

Kasten K10でBackup/Restore うつぼ@[ 〒]Sirsir (Takuya Utsunomiya) @Rook Meetup #5. #japanrook

Slide 2

Slide 2 text

#japanrook バックアップ/リストア

Slide 3

Slide 3 text

なんだかんだでバックアップは俎上に乗せられる #japanrook ● Immutableインフラでもデータは Immutableてなわけにはいかない ✓ Database、ストレージ ● いろいろなしがらみ ✓ 法令 ✓ 社内のデータ管理ポリシー ✓ 何かと「バックアップは?」ときいてくるおじさん慎重なおかた 3

Slide 4

Slide 4 text

役に立つバックアップをしよう #japanrook ● そのバックアップ、ちょっと考えてみましょう ✓ 何のためにしてますか?どんな場合に使えますか? ✓ 本当にリストアできますか?リストアの練習してますか? ● リストアできないバックアップは無駄であり、ストレージリソースを浪費する害悪です ● 使われないバックアップは無駄でも悪でもありません ✓ とは言え過ぎたるは及ばざるが如しですが 4 なるほど… (それストレージも管理者も死 ぬで) 全LUNを毎晩0時に snapshotして直近30世代を 常に残しておきたい! (ババーン!! ぼく お客様

Slide 5

Slide 5 text

● このあたりでしょうか? Kubernetesのバックアップ/リストアで有名なツール #japanrook 5

Slide 6

Slide 6 text

● KanisterをリードするKasten (昨年Veeamが買収) が提供するデータマネジメントプラットフォーム ● Kubernetesでのバックアップ/リストア、マイグレーションなど ● K10とKanisterは連携できる Kasten K10 #japanrook 6

Slide 7

Slide 7 text

● インストール簡単そう ● いい感じのDashboardあって、 フォントが好みだから なんでK10? #japanrook 7

Slide 8

Slide 8 text

#japanrook Kasten K10

Slide 9

Slide 9 text

利用できる環境 #japanrook 9

Slide 10

Slide 10 text

全体像 #japanrook 10 Object Bucketに Export VolumeSnapshot

Slide 11

Slide 11 text

● Namespace単位で選択する ● Labelで選択する ● バックアップするリソース ✓ Deployment, StatefulSet, Service, Ingress ✓ Config Map, Secret ✓ PVC ✓ Custom Resource ● Cluster-scoped resourceもバックアップできる ✓ ClusterRoles ✓ ClusterRoleBindings ✓ CRD ✓ StorageClass バックアップの対象 #japanrook 11

Slide 12

Slide 12 text

● Ad-hocはNamesapceバックアップ ✓ バックアップするリソースを選択可能 ✓ 必要に応じてユーザーが自分のNamespaceをまるっと取るのに 便利 ● Policy-basedはPolicyを作成して細かく設計が可能 ✓ NamespaceかLabelか選択 ✓ スケジュールとRetentionを指定 ✓ バックアップするリソースを選択可能 ✓ Kanisterとの連携 ✓ Administrativeな定期バックアップなどにも便利 Ad-hoc or Policy-based #japanrook 12

Slide 13

Slide 13 text

● ストレージシステムの Snapshot機能を利 用 ● CSIドライバーと連携して VolumeSnapshotを作成 ● または、次のplatformではCSIとは別に、 ダイレクトにSnapshotできる ✓ Ceph (RBD) ✓ OpenStack Cinder ✓ Portworx ✓ vSphere ✓ CSIに寄せていく模様 PVCのSnapshot #japanrook 13 # kubectl get pvc,volumesnapshot -n 00-rails NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE persistentvolumeclaim/postgresql Bound pvc-bed2fcd4-d933-48d3-b97e-e3d12066046f 5Gi RWO ocs-external-storagecluster-ceph-rbd 26m NAME READYTOUSE SOURCEPVC SOURCESNAPSHOTCONTENT RESTORESIZE SNAPSHOTCLASS SNAPSHOTCONTENT CREATIONTIME AGE volumesnapshot.snapshot.storage.k8s.io/k10-csi-snap-r2jts95cls94z862 true postgresql 5Gi ocs-storagecluster-rbdplugin-snapclass-k10 snapcontent-ef707071-a385-438b-9b0e-2fe6da694ce6 34m 34m

Slide 14

Slide 14 text

● 取得したバックアップデータを外部のオブジェクトストレージサービスに退避 ✓ Namespace全損によるVolumeSnapshot喪失時 ✓ クラスター全損からの復活時 ✓ 別クラスターへのマイグレーション時 に役立つ ● データの転送にはKopiaを利用 ✓ https://kopia.io/ Export #japanrook 14

Slide 15

Slide 15 text

● ローカルにとったバックアップ (Snapshot)からのリスト ア ● 外部のオブジェクトストレージにとったバックアップの Import ● いずれにせよ選択できるオプションは同じ ✓ Data-Only Restore ✓ Transform ✓ リストアするリソース リストア #japanrook 15

Slide 16

Slide 16 text

16 ● バックアップは簡単、誰でもできる ● リストアはちょっと難儀するかも ○ まるっと取ったものをまるっと戻すのはうまくいく場合といかない場合があった ○ 何のリソースを戻すべきか、戻さないべきか ○ 全Namespace/全リソースバックアップしたからといってそのままクラスターバックアップ とするのはちょっと ○ 同じクラスターで別のNamespaceにリストアできるので、リストアの練習はめっちゃしや すい ● バックアップ/リストアはきちんと検証しましょう! やってみての感想

Slide 17

Slide 17 text

17 Thank you