우선
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를 선택해주면 된다.
그리고 마지막으로 위쪽에 배포하기가 있는데, 배포하기를 누르면 된다.
'스프링 > 크램폴린' 카테고리의 다른 글
크램폴린 배포하고 생겼던 오류들 정리 (0) | 2024.04.23 |
---|---|
크램폴린 ide 스프링 부트 배포 1장. 도커파일 만들기. (0) | 2024.04.23 |
크램폴린ide 2장, 프로젝트 빌드해보기 (0) | 2024.04.23 |
크램폴린 ide 초기 설정 1장. sourcetree 바꾸기 (0) | 2024.04.23 |