Upgrade to Pro — share decks privately, control downloads, hide ads and more …

取っていてよかった Kubernetes のバックアップ

取っていてよかった Kubernetes のバックアップ

3-shake SRE Tech Talk #7 https://3-shake.connpass.com/event/293432/ で発表した LT の資料です

Atsushi Tanaka

October 12, 2023
Tweet

More Decks by Atsushi Tanaka

Other Decks in Technology

Transcript

  1. © 2023 Wantedly, Inc. 前提となる構成 • Argo CD で k8s

    manifest を Apply • Secret は直接手動で設定 • Velero で30分毎にリソースのバックアップを取得 ◦ 取得したバックアップは Amazon S3 にアップロード
  2. © 2023 Wantedly, Inc. エラーの考察 「Secret に入れていたはずの環境変数がない」というエラー • Pod の

    env に secretRef は設定されている? → ある • Secret は存在する? → ある • Secret の data は存在する? → ない
  3. © 2023 Wantedly, Inc. リストア時に困ったこと/気をつけること • 既存のリソースがリストアできない ◦ デフォルト設定では既存リソースがあるとスキップする ◦

    --existing-resource-policy update をつければ上書きできる • リストアしても Argo CD に戻されてしまう ◦ Argo CD の管理対象リソースは source の状態に戻そうとする ◦ リストアする前に syncPolicy を消しておく • リストアコマンドが思い出せない ◦ 普段使わないコマンドは忘れがち
  4. © 2023 Wantedly, Inc. (参考) Velero のインストール方法 • 公式が公開している Helm

    Chart を使う ◦ https://vmware-tanzu.github.io/helm-charts/ ◦ configuration.backupStorageLocation と schedules を指定するだけで 自動バックアップも簡単に設定できる • 別途 provider のための設定が必要 ◦ AWS の場合は S3 Bucket の作成とアクセスするための IAM 設定が必要
  5. © 2023 Wantedly, Inc. (参考) Velero のバックアップ容量 Wantedly のバックアップ総量は1TBに満たない •

    2019年から30分毎に取る運用 • 今のクラスタの状態 ◦ 500 Namespaces ◦ 8,000 Pods • PersistentVolume のバックアップは含んでいない • 全てフルバックアップで取得