Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
取っていてよかった Kubernetes のバックアップ
Search
Atsushi Tanaka
October 12, 2023
Technology
1
610
取っていてよかった Kubernetes のバックアップ
3-shake SRE Tech Talk #7
https://3-shake.connpass.com/event/293432/
で発表した LT の資料です
Atsushi Tanaka
October 12, 2023
Tweet
Share
More Decks by Atsushi Tanaka
See All by Atsushi Tanaka
Wantedly での Datadog 活用事例
bgpat
2
2.3k
KubernetesでDatadogを飼うならオートディスカバリーを使わないと損
bgpat
2
540
マイクロサービス基盤にフルマネージドサービスではなくKubernetesを選択する理由
bgpat
12
2.9k
400万ユーザーに価値を届けるエンジニアを を支えるインフラ基盤
bgpat
3
370
Ruby製社内ツールのGo移行
bgpat
2
580
導入から5年が経って見えた Datadog APM 運用の課題
bgpat
3
1.2k
Terraform と Kubernetes の共存による IaC の実践
bgpat
0
1.8k
Kubernetes Cluster Migration
bgpat
4
4.6k
k8sとNginxでオートスケール / Autoscaling with k8s and Nginx
bgpat
2
1.3k
Other Decks in Technology
See All in Technology
プロダクトエンジニア構想を立ち上げ、プロダクト志向な組織への成長を続けている話 / grow into a product-oriented organization
hiro_torii
1
170
バックエンドエンジニアのためのフロントエンド入門 #devsumiC
panda_program
18
7.5k
AndroidXR 開発ツールごとの できることできないこと
donabe3
0
130
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
16
4.6k
【Developers Summit 2025】プロダクトエンジニアから学ぶ、 ユーザーにより高い価値を届ける技術
niwatakeru
2
1.4k
モノレポ開発のエラー、誰が見る?Datadog で実現する適切なトリアージとエスカレーション
biwashi
6
810
飲食店予約台帳を支えるインタラクティブ UI 設計と実装
siropaca
7
1.8k
Oracle Cloud Infrastructure:2025年2月度サービス・アップデート
oracle4engineer
PRO
1
210
利用終了したドメイン名の最強終活〜観測環境を育てて、分析・供養している件〜 / The Ultimate End-of-Life Preparation for Discontinued Domain Names
nttcom
2
190
Larkご案内資料
customercloud
PRO
0
650
(機械学習システムでも) SLO から始める信頼性構築 - ゆる SRE#9 2025/02/21
daigo0927
0
100
Amazon S3 Tablesと外部分析基盤連携について / Amazon S3 Tables and External Data Analytics Platform
nttcom
0
130
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
We Have a Design System, Now What?
morganepeng
51
7.4k
Optimizing for Happiness
mojombo
376
70k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Making Projects Easy
brettharned
116
6k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Building an army of robots
kneath
303
45k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Facilitating Awesome Meetings
lara
52
6.2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
330
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Transcript
© 2023 Wantedly, Inc. 取っていてよかった Kubernetes のバックアップ 3-shake SRE Tech
Talk #7 LT Oct. 12 2023 - Atsushi Tanaka @bgpat
© 2023 Wantedly, Inc. 自己紹介 https://www.wantedly.com/id/bgpat
© 2023 Wantedly, Inc. Kubernetes の バックアップは取っていますか?
© 2023 Wantedly, Inc. Kubernetes Resource の バックアップは取っていますか?
© 2023 Wantedly, Inc. バックアップがあって 助かった話をします
© 2023 Wantedly, Inc. トラブルシューティングの実例
© 2023 Wantedly, Inc. 問題発生 Cluster Addon のアップグレードをしたら Pod が起動しなくなった
© 2023 Wantedly, Inc. 前提となる構成 • Argo CD で k8s
manifest を Apply • Secret は直接手動で設定 • Velero で30分毎にリソースのバックアップを取得 ◦ 取得したバックアップは Amazon S3 にアップロード
© 2023 Wantedly, Inc. 問題発生 Cluster Addon のアップグレードをしたら Pod が起動しなくなった
© 2023 Wantedly, Inc. とりあえず変更を元に戻す アップデートが原因なら戻せば直るはず 結果は revert してもエラーのまま
© 2023 Wantedly, Inc. 状況確認 Pod のエラーメッセージ 「Secret に入っている環境変数がないよ」 アップデート内容に
Secret を消す変更はない Pod に Secret の Delete 権限はない
© 2023 Wantedly, Inc. エラーの考察 「Secret に入れていたはずの環境変数がない」というエラー • Pod の
env に secretRef は設定されている? → ある • Secret は存在する? → ある • Secret の data は存在する? → ない
© 2023 Wantedly, Inc. バックアップからリストアする バックアップを取っていたことを思い出す リストアを実行して Secret が戻ったことを確認 Pod
を rollout restart して復旧
© 2023 Wantedly, Inc. まとめ
© 2023 Wantedly, Inc. まとめ • バックアップを取っておくと安心 • Argo CD
を利用しても壊れることはある
© 2023 Wantedly, Inc. リストア時に困ったこと/気をつけること • 既存のリソースがリストアできない ◦ デフォルト設定では既存リソースがあるとスキップする ◦
--existing-resource-policy update をつければ上書きできる • リストアしても Argo CD に戻されてしまう ◦ Argo CD の管理対象リソースは source の状態に戻そうとする ◦ リストアする前に syncPolicy を消しておく • リストアコマンドが思い出せない ◦ 普段使わないコマンドは忘れがち
© 2023 Wantedly, Inc. (参考) Velero のインストール方法 • 公式が公開している Helm
Chart を使う ◦ https://vmware-tanzu.github.io/helm-charts/ ◦ configuration.backupStorageLocation と schedules を指定するだけで 自動バックアップも簡単に設定できる • 別途 provider のための設定が必要 ◦ AWS の場合は S3 Bucket の作成とアクセスするための IAM 設定が必要
© 2023 Wantedly, Inc. (参考) Velero のバックアップ容量 Wantedly のバックアップ総量は1TBに満たない •
2019年から30分毎に取る運用 • 今のクラスタの状態 ◦ 500 Namespaces ◦ 8,000 Pods • PersistentVolume のバックアップは含んでいない • 全てフルバックアップで取得
© 2023 Wantedly, Inc. https://www.wantedly.com/projects/522096