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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Atsushi Tanaka
October 12, 2023
Technology
1
920
取っていてよかった 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
OpenCensusと歩んだ7年間
bgpat
0
540
SREだけど社内営業組織の業務改善をしてみた
bgpat
0
620
ウォンテッドリーにおける Platform Engineering
bgpat
0
610
Wantedly での Datadog 活用事例
bgpat
2
6k
KubernetesでDatadogを飼うならオートディスカバリーを使わないと損
bgpat
2
1k
マイクロサービス基盤にフルマネージドサービスではなくKubernetesを選択する理由
bgpat
12
4.2k
400万ユーザーに価値を届けるエンジニアを を支えるインフラ基盤
bgpat
3
500
Ruby製社内ツールのGo移行
bgpat
2
810
導入から5年が経って見えた Datadog APM 運用の課題
bgpat
4
1.4k
Other Decks in Technology
See All in Technology
Getting started with Google Antigravity
meteatamel
1
390
ソフトウェアアーキテクトのための意思決定術: Create Decision Readiness—The Real Skill Behind Architectural Decision
snoozer05
PRO
25
6.9k
primeNumber DATA MANAGEMENT CAMP #2:
masatoshi0205
1
610
AI活用を"目的"にしたら、データの本質が見えてきた - Snowflake Intelligence実験記 / chasing-ai-finding-data
pei0804
0
770
AWS Bedrock Guardrails / 機密情報の入力・出力をブロックする — Blocking Sensitive Information Input/Output
kazuhitonakayama
2
180
Devinを導入したら予想外の人たちに好評だった
tomuro
0
330
Databricks (と気合い)で頑張るAI Agent 運用
kameitomohiro
0
310
NW構成図の自動描画は何が難しいのか?/netdevnight3
corestate55
2
490
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
4
22k
男(監査)はつらいよ - Policy as CodeからAIエージェントへ
ken5scal
3
550
Introduction to Bill One Development Engineer
sansan33
PRO
0
370
【2026年版】生成AIによる情報システムへのインパクト
taka_aki
0
190
Featured
See All Featured
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
450
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.1k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
140
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
88
Side Projects
sachag
455
43k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
A designer walks into a library…
pauljervisheath
210
24k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
130
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
130
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.4k
So, you think you're a good person
axbom
PRO
2
1.9k
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