이 프로젝트는 k8s로 배포합니다.
프로젝트를 다운받으세요.
https://github.com/yopy0817/k8s-quiz-demo
application-production-microservice.properties
파일의 데이터베이스 주소를 pod와 연결될 수 있도록 채워 넣으세요../gradlew build
Dockerfile
FROM adoptopenjdk/openjdk11
LABEL creator=coding404
ARG jarfile=build/libs/k8s-quiz-demo-0.0.1-SNAPSHOT.jar
COPY ${jarfile} /app.jar
CMD ["java", "-jar", "/app.jar"]
docker build -t k8s-demo-quiz:v1 .
docker login
docker tag k8s-demo-quiz:v1 <본인도커계정명>/k8s-quiz-demo:v1
docker push <본인도커계정명>/k8s-quiz-demo:v1
<>
채워넣으세요.quiz.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: quiz-app # 객체의 "이름"입니다 (Service와 무관)
spec:
selector:
matchLabels:
app: quiz-app # 아래에 있는 template.labels.app과 연결되서 파드 관리
replicas: 1
template: # 복제할 포드를 템플릿으로 정의함
metadata:
labels:
app: quiz-app # service와 연결됨~~
spec:
containers:
- name: quiz-app
image: <본인 이미지>
env:
- name: SPRING_PROFILES_ACTIVE
value: production-microservice
quiz-service.yaml
apiVersion: v1
kind: Service
metadata:
name: quiz-app # 프로젝트명칭 이름
spec:
selector:
app: <여기들어가야할 값은?> # quiz-app 라벨의 어플리케이션을 찾습니다.
ports:
- name: http
port: <여기들어가야할 값은?>
nodePort: 30090 # 브라우저가 Node로 접근이 가능하게 하기 위해 사용하는 포트 (도커와 반대)
type:
<여기들어가야할 값은?>