반응형
 

OCP 3scale Operator 설치

ocp 오퍼레이터를 이용하면 rehat 에서 제공하는 솔루션을 손쉽게 올릴 수 있다. 프로젝트에서 3scale 이관을 맡았었는데 설치방법과 백업&리스토어를 기록해두려한다. 1. Operator 설치 ocp 콘솔 > Operat

flowlog.tistory.com

위 글에 이어 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

 

다음 포스팅은 복구 방법에 대한 내용을 쓰겠다.

 

끝.

반응형
복사했습니다!