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
1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
取っていてよかった Kubernetes のバックアップ
3-shake SRE Tech Talk #7
https://3-shake.connpass.com/event/293432/
で発表した LT の資料です
Atsushi Tanaka
October 12, 2023
More Decks by Atsushi Tanaka
See All by Atsushi Tanaka
プロダクト専任SREを置かずに 信頼性を追求する
bgpat
1
100
OpenCensusと歩んだ7年間
bgpat
0
730
SREだけど社内営業組織の業務改善をしてみた
bgpat
0
920
ウォンテッドリーにおける Platform Engineering
bgpat
0
840
Wantedly での Datadog 活用事例
bgpat
2
6.4k
KubernetesでDatadogを飼うならオートディスカバリーを使わないと損
bgpat
2
1.1k
マイクロサービス基盤にフルマネージドサービスではなくKubernetesを選択する理由
bgpat
12
4.6k
400万ユーザーに価値を届けるエンジニアを を支えるインフラ基盤
bgpat
3
560
Ruby製社内ツールのGo移行
bgpat
2
880
Other Decks in Technology
See All in Technology
Master Dataグループ紹介資料
sansan33
PRO
1
4.8k
巨大気象データと戦う ― サロゲートモデル学習を高速化する圧縮技術
gpuunite_official
0
260
コーチングの奥義 何もしないテクニック
jinwatanabe
0
160
:syncing_time:
sksat
2
700
会社紹介資料 / Sansan Company Profile
sansan33
PRO
24
430k
Kiro Crew入門 - 常駐エージェントの仕組みと使いどころ / Intro to Kiro Crew
k_adachi_01
1
900
tamachi.go 誕生の裏側
rymiyamoto
1
200
35分でわかるEffective Platform Engineering
nwiizo
5
630
現場回帰したデータエンジニアが考える AI 時代のキャリア開発 / Career Development in the Age of AI Perspectives from a Hands-on Data Engineer
medley
0
320
小粒でもパワフルなJS Runtime Antjsについて
comamoca
0
120
AI時代のデータ基盤を考える問い
pacocat
0
570
ソフトウェアサプライチェーンの構造的リスクとコンテナ環境の保護
kyohmizu
5
910
Featured
See All Featured
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
740
Marketing to machines
jonoalderson
1
5.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
250
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Leo the Paperboy
mayatellez
8
2.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
220
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