백업 자동화 고도화 작업 3탄이다.
지난 편에서 gitlab project, dockerfile, 쉘스크립트를 생성하였다.
이번엔 아래 3가지의 내용에 대해 포스팅하겠다.
- gitlab 접근 Secret 생성
- BuildConfig
- ImageStream
gitlab secret 생성
private gitlab에 접근하기 위해서는 정보가 필요하다.
일반적으로 사용하는 username/password 방식과 token 방식/인증서방식 등이 있는데
이번엔 username/password 방식으로 하겠다.
git-user 라는 gitlab 유저를 생성하고,
2편에서 생성한 3scale-backup 프로젝트에 Maintainer 권한을 주었다.
그리고 아래 명령어로 ocp 에 시크릿을 생성하자.
$ oc create secret generic git-user \
--from-literal=username=git-user \
--from-literal=password=1234qwer \
--type=kubernetes.io/basic-auth
BuildConfig
apiVersion: build.openshift.io/v1
kind: BuildConfig
metadata:
name: backup-job
namespace: 3scale
spec:
successfulBuildsHistoryLimit: 5
failedBuildsHistoryLimit: 5
source:
git:
ref: master
uri: "https://git.apps.x6m10kjj.australiaeast.aroapp.io/ocp/backup/3scale-backup.git"
type: Git
sourceSecret:
name: git-user
strategy:
type: Docker
dockerStrategy:
dockerfilePath: Dockerfile
triggers:
- type: ConfigChange
output:
to:
kind: "ImageStreamTag"
name: "backupjob:latest"
1번에서 생성한 secret 정보는 buildConfig 의
spec>source>sourceSecret>name 에서 사용하게 된다.
이렇게 ocp에서 private git 에 접근할 수 있다.
output 에 imageStreamTag를 정의하여 ocp image registry에 이미지를 저장한다.
ImageStream
kind: ImageStream
apiVersion: image.openshift.io/v1
metadata:
name: backupjob
namespace: 3scale
bc에서 수행한 뒤 is 에 저장하기 위한 부분이다.
is 를 등록해주지 않으면 bc에서 New(모래시계) 상태에서 멈춰있다.
이미지빌드
이제 base 이미지를 만들 작업이 끝났으니, 빌드해보자.
빌드가 쭉~ 진행되고
ocp imageStream에 추가되었다.
이제 다음 포스팅에서
해당 이미지로 job을 생성하고, 스토리지붙이고, 서비스어카운트 권한 및 role 바인딩을 하면 끝난다.
'엔지니어링 > 3scale' 카테고리의 다른 글
[3scale] 복원 중 rake aborted 에러 해결방법 (0) | 2022.09.01 |
---|---|
[OCP] 3scale 백업 자동화 고도화하기 - 4편(마지막) (0) | 2022.08.31 |
[OCP] 3scale 백업 자동화 고도화하기 - 2편(dockerfile, 쉘스크립트) (0) | 2022.08.31 |
[OCP] 3scale 백업 자동화 고도화하기 - 1편(도입부) (0) | 2022.08.31 |
[OCP] 3scale Operator 리소스 조정(관리) (0) | 2022.08.24 |