예제 애플리케이션 배포
위에 예제 파일에는 서비스(service)와 app이 어떻게 배포되는지가 기술되어 있습니다. 이 내용을 kubectl을 이용하여 쿠버네티스 API에 쓰면, 쿠버네티스는 응용 프로그램이 배포될 때에 우리의 설정에 충족시킬 것입니다.
컨테이너는 3000번 포트로 수신 대기하고, 네이티브 서비스 디스커버리는 운영중인 컨테이너를 찾고 해당 컨테이너와 통신하는데 사용합니다.
1. NODEJS 백엔드 API 배포하기
NodeJS 백엔드 API를 올려 봅시다!
다음의 명령어를 귀하의 클라우드9 워크스페이스에 복사/붙여넣기 합니다.
디폴로이먼트 상황을 확인하여 배포 진행 과정을 지켜 볼 수 있습니다.
2. 크리스탈 백엔드 API 배포하기
크리스탈 백엔드 API를 올려 봅시다!
다음의 명령어를 귀하의 클라우드9 워크스페이스에 복사/붙여넣기 합니다.
디폴로이먼트 상황을 확인하여 배포 진행 과정을 지켜 볼 수 있습니다.
3. 서비스(Service) 종류 확인
프론트엔드 서비스를 올리기 전에 우리가 사용할 서비스(service) 종류를 살펴봅니다. kubernetes/service.yaml
은 프론트엔드 서비스를 위한 설정입니다.
type: LoadBalancer
을 주목하십시오. 이는 ELB를 설정하여 서비스로 들어오는 트래픽을 처리하게 합니다.
백엔드 서비스를 위한 kubernetes/service.yaml
과 비교합니다.
4. ELB 서비스 롤(Role) 확인
이전에 로드 밸런서를 생성하지 않은 AWS 계정인 경우, ELB의 서비스(service) 롤(role)이 아직 존재하지 않을 수 있습니다.
롤을 확인하고 누락된 경우에는 만듭니다.
다음의 명령어를 Cloud9 워크스페이스에 복사/붙여넣기 합니다.
Role이 생성된 것을 확인합니다.
5. 프론트엔드 서비스 배포하기
루비 프론트엔드를 올려 봅시다!
다음의 명령어를 귀하의 Cloud9 워크스페이스에 복사/붙여넣기 합니다.
디폴로이먼트 상황을 확인하여 배포 진행 과정을 지켜 볼 수 있습니다.
6. 서비스(Service) 주소 찾기
이제type : LoadBalancer
로 실행중인 서비스(service)가 있으니, ELB의 주소를 확인해야 합니다. 이를 위해 kubectl로 get services
하면 됩니다.
위 명령어 출력 ELB의 FQDN을 보여줄 만큼 필드가 길지 않은 경우, 아래 명령으로 출력 형식을 조정할 수 있습니다.
이 데이터를 프로그램적으로 사용하기 원한다면, json 형식으로 출력할 수 있습니다. 다음은 json 출력을 사용하는 예제 입니다.
loadBalancer 호스트네임을 웹 브라우저에 카피/붙여넣기해서 애플리케이션이 실행중인지 확인합니다. 다음 페이지에서 서비스를 스케일 업할 때까지 이 탭을 그대로 열어둡니다.
Last updated
Was this helpful?