반응형

백업 자동화 고도화 작업 3탄이다.

 

OCP 3scale 백업 자동화 고도화하기 - 2편(dockerfile, 쉘스크립트)

아래 1편에서 고도화할 작업을 정리해두었다. OCP 3scale 백업 자동화 고도화하기 - 1편(도입부) 저번에 아래 포스팅을 통해 ARO 플랫폼에서 3scale을 cronjob을 통해 백업했었다. - dockerhub에 base image를

flowlog.tistory.com

지난 편에서 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 바인딩을 하면 끝난다. 

 

 

OCP 3scale 백업 자동화 고도화하기 - 4편(마지막)

지난 3편에 이어 다음!! OCP 3scale 백업 자동화 고도화하기 - 3편(이미지생성, 권한부여) 백업 자동화 고도화 작업 3탄이다. OCP 3scale 백업 자동화 고도화하기 - 2편(dockerfile, 쉘스크립트) 아래 1편에서

flowlog.tistory.com

 

반응형
복사했습니다!