반응형
위 글에 이어 3scale 백업가이드를 작성하려한다.
백업은 로컬에 파일을 압축 보관하는 방식이다.
oc login 으로 클러스터에 접근한 뒤 작업을 시작한다.
백업 순서
1. system-mysql
2. system-storage
3. backend-redis
4. system-redis
5.zync-database
6.secret, configmap
system-mysql
oc rsh 을 통해 터미널에 명령어를 보낸다.
export MYSQL_PWD 환경변수를 지정하여 mysql에 접근 시 패스워드입력을 대체하고,
mysqldump 를 통해 db를 백업한 뒤 gzip으로 압축시킨다.
$ oc rsh $(oc get pods -l 'deploymentConfig=system-mysql' -o json | jq -r '.items[0].metadata.name') bash -c 'export MYSQL_PWD=${MYSQL_ROOT_PASSWORD}; mysqldump --single-transaction -hsystem-mysql -uroot system' | gzip > system-mysql-backup.gz
system-storage
oc rsync 으로 파일을 원격지에서 내려받는다.
./dir 로 받기 때문에 폴더가 필요하다. 없다면 $ mkdir dir
$ oc rsync $(oc get pods -l 'deploymentConfig=system-app' -o json | jq '.items[0].metadata.name' -r):/opt/system/public/system ./dir
backend-redis
redis 에서 dump.rdb 에 데이터를 저장하고 있는데, 이 파일을 카피해온다.
$ oc cp $(oc get pods -l 'deploymentConfig=backend-redis' -o json | jq '.items[0].metadata.name' -r):/var/lib/redis/data/dump.rdb ./backend-redis-dump.rdb
system-redis
3과 같이 redis 덤프파일을 내려받는다.
$ oc cp $(oc get pods -l 'deploymentConfig=system-redis' -o json | jq '.items[0].metadata.name' -r):/var/lib/redis/data/dump.rdb ./system-redis-dump.rdb
zync-database
1과 같이 db dump 를 압축하여 가져온다.
$ oc rsh $(oc get pods -l 'deploymentConfig=zync-database' -o json | jq -r '.items[0].metadata.name') bash -c 'pg_dump zync_production' | gzip > zync-database-backup.gz
secret, configmap
시크릿, 컨피그맵을 백업한다.
$ oc get secrets system-smtp -o json > system-smtp.json
$ oc get secrets system-seed -o json > system-seed.json
$ oc get secrets system-database -o json > system-database.json
$ oc get secrets backend-internal-api -o json > backend-internal-api.json
$ oc get secrets system-events-hook -o json > system-events-hook.json
$ oc get secrets system-app -o json > system-app.json
$ oc get secrets system-recaptcha -o json > system-recaptcha.json
$ oc get secrets system-redis -o json > system-redis.json
$ oc get secrets zync -o json > zync.json
$ oc get secrets system-master-apicast -o json > system-master-apicast.json
$ oc get configmaps system-environment -o json > system-environment.json
$ oc get configmaps apicast-environment -o json > apicast-environment.json
다음 포스팅은 복구 방법에 대한 내용을 쓰겠다.
끝.
반응형
'엔지니어링 > 3scale' 카테고리의 다른 글
[OCP] 3scale 백업 자동화 고도화하기 - 1편(도입부) (0) | 2022.08.31 |
---|---|
[OCP] 3scale Operator 리소스 조정(관리) (0) | 2022.08.24 |
[OCP] 3scale 백업 자동화 크론잡 (0) | 2022.08.24 |
[OCP] 3scale Operator 복원(복구)하기 (0) | 2022.08.19 |
[OCP] 3scale Operator 설치 (0) | 2022.08.09 |