手順を実施する環境によって手順が異なります。本製品のバージョンがV1.2.0かつ修正パッチF1013-2021-001が未適用の条件に該当する環境の場合は、後述のV1.2.0(修正パッチF1013-2021-001未適用)のバックアップ手順を参照してください。
GitLabの公式ドキュメントを参考にして、バックアップしてください。
バックアップしたデータは、以下のコマンドで取り出すことができます。
$ GITLAB_BACKUP_FILENAME=<GITLAB_BACKUP_FILENAME> $ kubectl -n fj-esdp-system exec \ `kubectl -n fj-esdp-system get pods| grep fj-gitlab-task-runner | awk -F ' ' '{print $1}'` \ -it s3cmd get s3://gitlab-backups/${GITLAB_BACKUP_FILENAME} /srv/gitlab/tmp/backup_tars/${GITLAB_BACKUP_FILENAME}
注意
公式ドキュメントのRELEASE_NAMEには"fj-gitlab"を指定してください。
kubectlコマンド実行時には"-n fj-esdp-system"でnamespaceを指定してください。
本手順はすべて、Kubernetes masterサーバーで実施します。
以下のコマンドを実行して、0が出力される場合は、事前準備を実行する必要はありません。
$ kubectl -n fj-esdp-system exec -it $(kubectl get pods -n fj-esdp-system |grep fj-gitlab-task-runner | cut -d ' ' -f 1) -- grep use_https /home/git/.s3cfg; echo $?
0が出力されない場合は、以下の手順を実行後、バックアップ・リストアを実行してください。
$ kubectl -n fj-esdp-system cp $(kubectl get pods -n fj-esdp-system |grep fj-gitlab-postgresql | cut -d ' ' -f 1):/opt/bitnami/postgresql/bin/ /tmp/pg_bin
$ kubectl -n fj-esdp-system cp /tmp/pg_bin $(kubectl get pods -n fj-esdp-system |grep fj-gitlab-task-runner | cut -d ' ' -f 1):/home/git/bin
$ kubectl -n fj-esdp-system exec -it $(kubectl get pods -n fj-esdp-system |grep fj-gitlab-task-runner | cut -d ' ' -f 1) -- bash
$ chmod +x -R /home/git/bin
$ echo "use_https = False" >> /home/git/.s3cfg
$ exit
$ kubectl -n fj-esdp-system exec -i $(kubectl get pods -n fj-esdp-system |grep fj-gitlab-task-runner | cut -d ' ' -f 1) -- bash << 'EOS' PATH=/home/git/bin:$PATH backup-utility EOS
$ kubectl -n fj-esdp-system exec -it $(kubectl get pods -n fj-esdp-system |grep fj-gitlab-task-runner | cut -d ' ' -f 1) -- s3cmd get s3://gitlab-backups/<バックアップ名> /srv/gitlab/tmp/backup_tars/
注意
kubectlコマンド実行時には"-n fj-esdp-system"でnamespaceを指定してください。