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
0
370
取っていてよかった 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
Ruby製社内ツールのGo移行
bgpat
2
350
導入から5年が経って見えた Datadog APM 運用の課題
bgpat
2
630
Terraform と Kubernetes の共存による IaC の実践
bgpat
0
1.2k
Kubernetes Cluster Migration
bgpat
4
4.3k
k8sとNginxでオートスケール / Autoscaling with k8s and Nginx
bgpat
2
1.2k
GCPのgemにコントリビュートした話
bgpat
0
660
at_exit
bgpat
0
700
OpenCensus with Datadog APM
bgpat
0
1.9k
Distributed Tracing for Microservices
bgpat
5
3.2k
Other Decks in Technology
See All in Technology
DMM.com アルファ室採用案内資料
hsugita
1
170
地理空間データ可視化・解析・活用ソリューション Pacific Spatial Solutions (PSS)
pacificspatialsolutions
0
300
生産性向上チームの紹介
cybozuinsideout
PRO
1
880
エンジニア候補者向け資料2024.04.24.pdf
macloud
0
3.3k
One engineer company with Ruby on Rails
rstankov
2
280
非同期推論システムによるコスト削減と信頼性向上
koki_nishihara
0
280
エンジニアのキャリアをちょっと楽しくする3本の軸/Three Pillars to Make an Engineer's Career More Enjoyable
kwappa
0
2.8k
自己改善からチームを動かす! 「セルフエンジニアリングマネージャー」のすゝめ
shoota
6
870
Azureの基本的な権限管理の勉強会
yhana
0
1k
プロトタイピングによる不確実性の低減 / Reducing Uncertainty through Prototyping
ohbarye
5
390
Postman v10リリース後を振り返る / Looking back at Postman v10 after release
yokawasa
1
160
複雑な構成要素を持つUIとの向き合い方 〜新・支出グラフでの実例〜 / B43 TECH TALK
nakamuuu
0
140
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
116
18k
Bash Introduction
62gerente
604
210k
Design by the Numbers
sachag
274
18k
Testing 201, or: Great Expectations
jmmastey
28
6.4k
Rebuilding a faster, lazier Slack
samanthasiow
73
8.2k
Designing for Performance
lara
601
67k
Raft: Consensus for Rubyists
vanstee
132
6.3k
Atom: Resistance is Futile
akmur
259
25k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
241
1.2M
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
Embracing the Ebb and Flow
colly
80
4.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
121
39k
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