시작하기 전에

이 글은 Apps 101 과정의 다섯 번째 글입니다.  Apps101을 잘 따라오고 계시지요?

이번 글에서는 Tomcat을 워크로드를 생성하고 Nginx 서버 배포하기에서 생성한 Nginx와 Tomcat 연동 해보겠습니다.

Tomcat 워크로드 생성

Nginx 서버 배포하기와 동일한 서비스 맵에서 워크로드 생성을 합니다.

STEP 1. 워크로드 유형과 식별 정보 설정

워크로드 유형은 Multi Instance로 생성을 합니다.

워크로드의 기본 정보를 입력 합니다.

  •  이름 : tomcat-workload
  •  설명 : tomcat workload
워크로드 기본 정보

[그림. 워크로드 기본 정보]

STEP 2. 사용할 컨테이너 이미지 지정

컨테이너를 추가하여 기본 정보를 입력 합니다.

  • 컨테이너명 : tomcat
  • 이미지 : tomcat:latest
컨테이너 등록 팝업 화면

[그림. 컨테이너 등록 팝업 화면]

STEP 3. Tomcat의 서비스 포트 지정

서비스 포트 편집 버튼을 클릭 하여 포트 추가를 합니다.

  • 이름 : tomcat
  • 프로토콜 : TCP
  • 타겟포트 : 8080
  • 서비스 포트 : 8080

서비스 포트 추가 팝업 화면

[그림. 서비스 포트 추가 팝업 화면]

워크로드 생성 화면

[그림. 워크로드 생성 화면]

STEP 4. Tomcat의 기동 확인

생성 버튼을 클릭 하고 워크로드가 정상 Running 상태를 확인 합니다.

tomcat-workload 워크로드 상태 화면

[그림. tomcat-workload 워크로드 상태 화면]

Nginx와 연동 하기

이제 앞서의 글에서 생성된 nginx-workload의 Node Port로 접속 하면 tomcat-workload으로 포트 포워딩하도록 nginx의 default.conf파일을 변경 하도록 하겠습니다. 참고로 tomcat-workload의 서비스 포트(8080)는 워크로드 이름으로 Cluster IP 타입으로 생성이 되어있어 nginx-workload에서 http://tomcat-workload:8080로 포트 포워딩 하면 됩니다.

nginx의 설정을 변경 하기 위한 작업 순서는 다음과 같습니다.

  1. 컨피그 맵을 생성
  2. nginx의 봄륨에 컨피그 맵 추가
  3. 생성한 볼륨을 볼륨 마운트에 추가

STEP 1. 컨피그 맵 생성

서비스 화면은 우측 상단에 ‘설정 정보’메뉴를 클릭하여 컨피그 맵 화면으로 이동합니다.

서비스 메뉴

[그림. 서비스 메뉴]

우측 ‘컨피그 맵 생성‘  버튼을 클릭 하여 nginx 설정에 필요한 내용을 입력 합니다.

설정 정보 컨피그 맵 목록

[그림. 설정 정보 컨피그 맵 목록]

다음 내용일 입력 하여 설정 내용을 입력 하겠습니다.

  • 이름 : nginx-configmap
  • 설명 : nginx 설정 컨피그 맵
  • KEY : default.conf
  • VALUE :
  • Copy to Clipboard

STEP 2. nginx의 볼륨에 컨피그 맵 추가

서비스 워크로드 화면에서 nginx-workload 워크로드를 클릭 하여 수정 화면으로 이동 합니다.

화면 하단의 볼륨 패널 우측에 ‘추가‘버튼을 클릭 하여 볼륨 추가 팝업을 뛰웁니다.

워크로드 볼륨 패널 박스

[그림. 워크로드 볼륨 패널 박스]

볼륨 유형을 Config Map을 선택하고 볼륨 이름을 입력 하고 생성 한 ‘nginx-configmap’ 컨피그 맵을 선택 합니다.

  • 볼륨 이름 : nginx-configmap-volume
  • 컨피그 맵 선택 : nginx-configmap
볼륨 팝업 화면

[그림. 볼륨 팝업 화면]

STEP 3. 생성한 볼륨을 볼륨 마운트에 추가

생성된 ‘nginx-configmap-volume’ 볼륨을 볼륨 마운트에 추가 해줍니다.

볼륨 마운트 패널 박스

[그림. 볼륨 마운트 패널 박스]

볼륨 마운트의 ‘추가‘ 버튼을 클릭 하여 볼륨 마운트 팝업에 정보를 입력 합니다.

  • 컨테이너 : nginx
  • 볼륨 선택 : nginx-configmap-volume
  • 컨테이너 경로 : /etc/nginx/conf.d/default.conf
  • 서브 경로 : default.conf

볼륨 마운트 팝업 화면

[그림. 볼륨 마운트 팝업 화면]

볼륨, 볼륨 마운트 패널 박스

[그림. 볼륨, 볼륨 마운트 패널 박스]

등록 한 볼륨, 볼륨 마운트 정보를 확인 하고 ‘업데이트‘ 버튼을 클릭 합니다.

nginx-workload가 정상적으로 기동 되는지 확인 합니다.

nginx-workload 워크로드 상태

[그림. nginx-workload 워크로드 상태]

STEP 4. 확인

마지 막으로 nginx-workload의 Node Port로 접속 하여 Tomcat 화면이 나오면 nginx-workload에서 tomcat-workload로 포트 포워딩 되었습니다.

tomcat 접속 화면

[그림. tomcat 접속 화면]

마치며 …

웹 서비스의 3개 요소 중 Nginx와 Tomcat을 배포하였습니다. 지금까지 어렵지 않게 잘 따라오고 계시리라 믿습니다. 다음 글에서는 본 예제의 마지막 요소인 MySQL을 배포하는 과정을 설명하겠습니다.