우선 

https://github.com/EdenKim-dev/krampoline_step4_v2

 

GitHub - EdenKim-dev/krampoline_step4_v2

Contribute to EdenKim-dev/krampoline_step4_v2 development by creating an account on GitHub.

github.com

이 예제 파일을 나도 사용했기때문에 이 예제 파일 기준으로 설명하려고 한다.

이 예제파일을 Kargo 배포파일 이라고 하겠다.

 

1. 파일 설명

이 예제 파일에서 도커 파일은 단순하게 마리아 db 이미지를 설치하는 도커파일이다

이 리포지토리를 포크한다음에

d2hub에 넣어서 빌드까지 해주자.

 

 

이제부터 조금 어려울 수 있다.

 

2. 예제파일 수정

D2hub에 예제 파일까지 넣고, 프론트엔드 이미지파일, 백엔드 이미지 파일까지 넣었다면

이런 상황일것이다.

이제 여기서 포크 뜬 Kargo 배포파일을 잘 수정해줘야 한다.

 

2-1. 이미지 파일 등록

Kargo 배포파일을 열면 이런 구조로 되어있을것이다.

우선 backend.yaml부터 수정해보자

 

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: backend
spec:
  selector:
    matchLabels:
      app: backend
  template:
    metadata:
      labels:
        app: backend
    spec:
      containers:
        - name: backend
          # 여러분의 backend image 주소를 입력해주세요.
          image: krmp-d2hub-idock.9rum.cc/dev-test/repo_60e6d4daecb5
          env:
            - name: TZ
              value: Asia/Seoul
            - name: DATABASE_URL
              value: jdbc:mariadb://mariadb:3306/krampoline
          resources:
            requests:
              memory: 1Gi
          readinessProbe:
            httpGet:
              path: /api/test
              port: 8080
---
apiVersion: v1
kind: Service
metadata:
  name: backend
spec:
  selector:
    app: backend
  ports:
    - port: 8080
      targetPort: 8080

 

여기서 주석처리 된 부분 아래에

image: krmp-d2hub-idock.9rum.cc/dev-test/repo_60e6d4daecb5 이 부분을 수정해줘야한다.

 

여기서 전체삭제 아래에 휴지통 옆에 복사 버튼이 보일것이다.

저걸 누르면 이미지파일 경로가 복사가 된다.

복사해서 krmp-d2hub-idock.9rum.cc/dev-test/repo_60e6d4daecb5 이부분을 덮어쓰기 해주자

 

그리고 아래에

 

          readinessProbe:
            httpGet:
              path: /api/test 
              port: 8080

 

이 부분을 삭제해주자

 

 

2-2. front.yaml 수정

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: frontend
spec:
  selector:
    matchLabels:
      app: frontend
  template:
    metadata:
      labels:
        app: frontend
    spec:
      containers:
        - name: frontend
          # 여러분의 frontend image 주소를 입력해주세요.
          image: krmp-d2hub-idock.9rum.cc/dev-test/repo_a15a0d7a955a
---
apiVersion: v1
kind: Service
metadata:
  name: frontend
spec:
  selector:
    app: frontend
  ports:
    - port: 3000
      targetPort: 3000

 

이것도 위의 과정과 똑같다.

프론트엔드 이미지파일 복사해서

덮어쓰기 해주면 된다.

 

2-3. mariadb.yaml 수정

---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: mariadb
spec:
  serviceName: mariadb
  selector:
    matchLabels:
      app: mariadb
  template:
    metadata:
      labels:
        app: mariadb
    spec:
      containers:
        - name: mariadb
          # 여러분의 mariadb image 주소를 입력해주세요.
          image: krmp-d2hub-idock.9rum.cc/dev-test/repo_7507979f9c02
          env:
            - name: TZ
              value: Asia/Seoul
            - name: MARIADB_ROOT_PASSWORD
              value: root
            - name: MARIADB_DATABASE
              value: krampoline
            - name: MARIADB_DISABLE_UPGRADE_BACKUP
              value: '1'
          volumeMounts:
            - mountPath: /var/lib/mysql
              name: data
              subPath: mysql
            - mountPath: /docker-entrypoint-initdb.d
              name: init-db
          resources:
            limits:
              memory: 1Gi
          readinessProbe:
            tcpSocket:
              port: 3306
      volumes:
        - name: init-db
          configMap:
            name: init-db
  volumeClaimTemplates:
    - metadata:
        name: data
      spec:
        accessModes:
          - ReadWriteOnce
        resources:
          requests:
            storage: 1Gi
---
apiVersion: v1
kind: Service
metadata:
  name: mariadb
spec:
  type: ClusterIP
  clusterIP: None # Headless
  selector:
    app: mariadb
  ports:
    - port: 3306

 

이 부분은 db의 이미지파일 경로를 복사해서 붙여넣기 해주자.

 

여기까지 다 했으면 깃 커밋하고 푸시해주자

 

3. 카르고 앱 배포

이제 카르고 앱 배포를 하면 되는데,

아시다시피 우리는 마리아db 도커파일이 있는 리포지토리와 Kargo 배포파일은 똑같은 리포지토리이다!

 

그러니 git 선택을 마리아 db를 선택해주면 된다.

 

그리고 마지막으로 위쪽에 배포하기가 있는데, 배포하기를 누르면 된다.

+ Recent posts