과제 설명

강의 “따라하며 배우는 도커와 CI환경”에서 우리는 실행 가능한 웹 서버 도커 이미지를 얻었습니다. 또한, 로컬 환경에서 도커 실행 명령어를 통해 컨테이너를 띄우고 웹 서버에 접근해보았습니다. 본 과제에서는 쿠버네티스 클러스터에 웹 서버를 띄우고, 외부에서 웹 서버에 접근할 수 있도록 ingress를 생성해야 합니다.

수행 기간 : 3일 난이도 : 상

구현한 웹서버를 본 환경에 배포하기 위해 일부 수정이 필요할 수 있음 강의 이외로 추가적인 조사가 조금 필요함

결과물 : 제출해야 하는 결과물은 아래와 같습니다. 아래 (그림 1)의 리소스 형상(manifest)이 올라간 결과물 레포 주소 (URL 제출)

Untitled

하위과제 DB 띄우기

웹 서버와 연결할 mysql DB를 클러스터 상에 띄웁니다. (힌트) “섹션 17. 쿠버네티스 실전 애플리케이션 개발”을 참고하여 mysql DB를 클러스터에 띄웁니다.

DB url을 환경변수로 주입하여 웹 서버 띄우기 웹 서버 이미지를 사용하여 Deployment 형상을 작성합니다. 위에서 띄운 DB에 접근할 수 있도록 Deployment의 환경 변수로 DB url을 주입합니다. (힌트) 같은 클러스터에 존재하는 Service 리소스는 간단한 DNS 규칙으로 접근할 수 있습니다. https://kubernetes.io/ko/docs/concepts/services-networking/service/#dns

외부에서 접근할 수 있도록 Service와 Ingress를 생성합니다. (힌트) kubectl port-forward 명령문을 통해 ingress를 사용하지 않더라도 Deployment가 정상적으로 실행되었음을 확인해볼 수 있습니다. https://kubernetes.io/ko/docs/tasks/access-application-cluster/port-forward-access-application-cluster


과제 수행

프로젝트 Docker hub에 업로드