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
800
取っていてよかった 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
ウォンテッドリーにおける Platform Engineering
bgpat
0
410
Wantedly での Datadog 活用事例
bgpat
2
5.2k
KubernetesでDatadogを飼うならオートディスカバリーを使わないと損
bgpat
2
830
マイクロサービス基盤にフルマネージドサービスではなくKubernetesを選択する理由
bgpat
12
3.5k
400万ユーザーに価値を届けるエンジニアを を支えるインフラ基盤
bgpat
3
460
Ruby製社内ツールのGo移行
bgpat
2
690
導入から5年が経って見えた Datadog APM 運用の課題
bgpat
4
1.3k
Terraform と Kubernetes の共存による IaC の実践
bgpat
0
2.1k
Kubernetes Cluster Migration
bgpat
4
4.8k
Other Decks in Technology
See All in Technology
定期的な価値提供だけじゃない、スクラムが導くチームの共創化 / 20251004 Naoki Takahashi
shift_evolve
PRO
3
290
Windows で省エネ
murachiakira
0
160
Geospatialの世界最前線を探る [2025年版]
dayjournal
3
480
多野優介
tanoyusuke
1
300
AI時代だからこそ考える、僕らが本当につくりたいスクラムチーム / A Scrum Team we really want to create in this AI era
takaking22
6
3.1k
How to achieve interoperable digital identity across Asian countries
fujie
0
110
実装で解き明かす並行処理の歴史
zozotech
PRO
1
310
Access-what? why and how, A11Y for All - Nordic.js 2025
gdomiciano
1
100
LLMアプリケーション開発におけるセキュリティリスクと対策 / LLM Application Security
flatt_security
7
1.8k
Function calling機能をPLaMo2に実装するには / PFN LLMセミナー
pfn
PRO
0
880
それでも私はContextに値を詰めたい | Go Conference 2025 / go conference 2025 fill context
budougumi0617
4
1.2k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
11
77k
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
890
What's in a price? How to price your products and services
michaelherold
246
12k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Site-Speed That Sticks
csswizardry
11
880
We Have a Design System, Now What?
morganepeng
53
7.8k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
20k
Being A Developer After 40
akosma
91
590k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
The World Runs on Bad Software
bkeepers
PRO
71
11k
Facilitating Awesome Meetings
lara
56
6.6k
It's Worth the Effort
3n
187
28k
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