概要
Gitlab helm chart のバックアップはデフォルトだと k8s 上に展開された minio になります オブジェクトストレージを指定することもできるのでその方法を紹介します
環境
- helm v3.5.2
- k8s v1.20.1
- Gitlab 13.12.0
.s3cfg ファイルの作成
作成方法は何でも OK です 一番簡単なのは以下かなと思います
アクセスキーなど必要な情報をインタラクティブに入力することで ~/.s3cfg ファイルができます
- s3cmd --configure
.s3cfg ファイルを secret に登録する
task-runner が .s3cfg を使うので secret に登録します
- kubectl create secret generic gitlab-s3cmd-secret -n gitlab --from-file=config=/root/.s3cfg
values.yaml の設定
バックアップ用のオブジェクトストレージのバケットの指定と task-runner が参照する secret を設定します 必要な箇所だけ紹介しています
gitlab:
task-runner:
backups:
objectStorage:
config:
secret: gitlab-s3cmd-secret
key: config
global:
appConfig:
backups:
bucket: hawk-backups
tmpBucket: hawk-tmp
反映する
helm upgrade なり install をして values.yaml の設定を反映させましょう
- helm upgrade gitlab gitlab/gitlab --namespace gitlab --timeout 600s -f values.yaml
動作確認
実際にバックアップを取得してオブジェクトストレージ側にバックアップファイルが作成されているか確認しましょう
- kubectl get pods -lrelease=gitlab,app=task-runner -n gitlab
NAME READY STATUS RESTARTS AGE
gitlab-task-runner-57467bf498-8cfmf 1/1 Running 0 6m27s
- kubectl exec gitlab-task-runner-57467bf498-8cfmf -n gitlab – backup-utility
[DONE] Backup can be found at s3://hawk-backups/1622077898_2021_05_27_13.12.0-ee_gitlab_backup.tar
最後に
helm chart の場合いくつかの箇所 (registry or backup or uploads etc…)でオブジェクトストレージを使えますがそれぞれでシークレットの書き方が異なるので注意してください
0 件のコメント:
コメントを投稿