OpenShift Git Secrets 생성 (1) > OpenShift 자료실

본문 바로가기
사이트 내 전체검색

OpenShift 자료실

OpenShift Git Secrets 생성 (1)

페이지 정보

profile_image
작성자 PaaSM
댓글 0건 조회 6,190회 작성일 21-02-26 23:12

본문

운영환경에서 OpenShift 애플리케이션 빌드 시 개인용 Git인 GitLab, Gogs 를 사용합니다.
Git의 Public Repository를 사용하면 인증 정보 없이 애플리케이션이 빌드가 되지만, Private Repository 및 SSH를 이용하여 빌드 시에는 인증 정보를 요구하게 되는데
인증 정보를 비밀(Secrets) 값으로 생성해 빌드 구성에 추가하게 되면 별도의 인증 없이 애플리케이션 빌드를 할 수 있습니다.

Secret을 생성해 애플리케이션을 빌드하는 방법에 대해 공유 하려고 합니다.

OpenShift Version : 3~4 (방법 동일)

* Secrets 없이 프라이빗 저장소로 애플리케이션 배포 시

1. 템플릿을 이용해 애플리케이션을 빌드합니다.
$ oc new-app openshift/httpd~http://gogs-gogs.apps.okd46.lds.co.kr/jmlee/qwer.git

2. 애플리케이션이 정상적으로 배포가 되었는지 확인합니다.
$ oc get pods
NAME                    READY  STATUS      RESTARTS  AGE
qwer-1-build            0/1      Init:Error      0              28m

3. build의 로그를 확인합니다.
$ oc logs build/qwer-1-build
Cloning "http://gogs-gogs.apps.okd46.lds.co.kr/jmlee/qwer.git" ...
error: failed to fetch requested repository "http://gogs-gogs.apps.okd46.lds.co.kr/jmlee/qwer.git" with provided credentials

파드가 정상적으로 빌드가 되지 않는걸 볼 수 있는데, 빌드 로그를 확인해보면 Git에 Repository에 대한 인증이 되지 않아,
Source를 갖고오지 못해서 발생한 에러를 확인할 수 있습니다.

Git에 대한 인증을 포함한 Secret을 생성하게 되면 정상적으로 애플리케이션이 빌드가 되는지 확인해보겠습니다.

1. Git ID/PW에 대한 Secret 생성
$ oc create secret generic <SECRET_NAME> --from-file=/root/.gitconfig --from-literal=username=<GIT_USER_ID> --from-literal=password=<GIT_PASSWORD>

Git의 로그인 아이디 및 패스워드를 넣어 Secret을 생성합니다.

2. Secret에 'build.openshift.io/source-secret-match-uri-1' 주석(annotation)을 생성합니다.
oc annotate secrets <SECRET_NAME> 'build.openshift.io/source-secret-match-uri-1=<GIT_URL>/*'

시크릿에 주석을 달게 되면 애플리케이션 빌드 시 Git URI와 일치하게 되면 BuildConfig에 Secret 값이 정의가 됩니다.

3. 기존에 생성한 애플리케이션에 수동으로 Secret 값 추가
$ oc edit buildconfig <BUILDCONFIG_NAME>
...
    git:
      uri: http://gogs-gogs.apps.okd46.lds.co.kr/jmlee/qwer.git
    sourceSecret:
      name: <SECRET_NAME>
...

빌드 컨피그에 sourceSecret 필드를 추가 후 생성한 Secret을 빌드 구성에 추가합니다.

4. 애플리케이션 재빌드
$ oc start-build <BUILDCONFIG_NAME>

5. 애플리케이션 빌드 확인 및 파드 상태 체크
$ oc get pods
NAME                    READY  STATUS      RESTARTS  AGE
qwer-2-build            0/1    Completed    0          28m
qwer-5fbcfddfd8-swdnn    1/1    Running      0          27m

BuildConfig에 Secret을 추가한 후 애플리케이션 정상적으로 빌드가 완료되며 파드가 배포된걸 확인할 수 있습니다.

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

회사명 : (주)리눅스데이타시스템 / 대표 : 정정모
서울본사 : 서울특별시 강남구 봉은사로 114길 40 홍선빌딩 2층 / tel : 02-6207-1160
대전지사 : 대전광역시 유성구 노은로174 도원프라자 5층 / tel : 042-331-1161

접속자집계

오늘
343
어제
1,612
최대
3,935
전체
794,814
Copyright © www.linuxdata.org All rights reserved.