SW/마이크로서비스

OpenShift를 활용한 Quarkus/Camel 마이크로서비스 배포 가이드

얇은생각 2024. 4. 30. 07:30
반응형

이번 글에서는 Quarkus Apache Camel을 활용한 마이크로서비스를 OpenShift 환경에서 효과적으로 배포하는 방법을 소개해 드리고자 합니다. 이전에 Minikube에서 배포하는 방법을 살펴보셨다면, 이번에는 OpenShift라는 엔터프라이즈 급 플랫폼에서 어떻게 마이크로서비스를 운영할 수 있는지 알아볼 텐데요. 이 글을 통해 OpenShift의 특징과 함께, 이를 활용한 배포 과정을 단계별로 안내해 드리겠습니다.

OpenShift Kubernetes 기반의 애플리케이션 개발, 배포, 관리 플랫폼으로, 레드햇에서 제공하는 강력한 솔루션입니다. 이 글에서는 무료로 제공되는 OpenShift Developer's Sandbox를 활용해 Quarkus/Camel 마이크로서비스를 배포하고 관리하는 방법을 자세히 다루어 보겠습니다. 이를 통해 실제 업무에서 활용할 수 있는 배포 및 관리 노하우를 익힐 수 있을 것으로 기대합니다.

그럼 본론에서 OpenShift를 활용한 구체적인 배포 절차와 주의사항에 대해 살펴보도록 하겠습니다.

 

 

OpenShift를 활용한 Quarkus/Camel 마이크로서비스 배포 가이드

 

 

본론:

OpenShift Kubernetes 기반의 강력한 플랫폼으로, 마이크로서비스의 배포와 관리를 한층 더 효율적으로 만들어줍니다. 이번 글에서는 Quarkus/Camel 마이크로서비스를 OpenShift를 통해 배포하는 과정을 단계별로 살펴보겠습니다.

 

OpenShift Developer's Sandbox 가입 및 로그인:

먼저, OpenShift Developer's Sandbox에 가입해야 합니다. 이는 무료로 제공되며, 개발자가 직접 OpenShift 환경에서 다양한 실험과 학습을 할 수 있게 해줍니다. 로그인 후, 개인적인 OpenShift 클러스터에 접속할 수 있습니다.

 

GitHub 프로젝트 클론:

우리의 마이크로서비스 프로젝트를 GitHub에서 클론하여 작업 디렉토리에 위치시킵니다. 이 예시에서는 다음과 같이 클론할 수 있습니다:

$ git clone https://github.com/nicolasduminil/aws-camelk.git
$ cd aws-camelk
$ git checkout openshift

 

elk $ git checkout openshift

AWS 자격 증명 설정:

S3 버킷 및 SQS 큐와 같은 AWS 리소스에 접근하기 위해서는 AWS 자격 증명이 필요합니다. 이를 위해, 아래의 명령어로 자격 증명을 Base64로 인코딩합니다:

$ echo -n <AWS Access Key ID> | base64
$ echo -n <AWS Secret Access Key> | base64

 

 

인코딩된 값들을 aws-secret.yaml 파일에 추가한 후, 아래의 명령어로 OpenShift에 적용합니다:

$ kubectl apply -f aws-secret.yaml

 

 

마이크로서비스 시작:

프로젝트 디렉토리에 있는 start-ms.sh 스크립트를 실행하여 마이크로서비스를 배포합니다:

$ ./start-ms.sh

 

이 스크립트는 Quarkus 프로젝트의 clean install 작업을 실행하며, 결과물로 생성된 Kubernetes 매니페스트를 OpenShift에 적용합니다.

 

서비스 및 라우트 확인:

모든 마이크로서비스가 정상적으로 작동하는지 확인하기 위해 OpenShift의 서비스와 라우트를 점검합니다:

$ oc get svc
$ oc get routes

 

et routes

이 정보로 각 서비스의 클러스터 IP 및 외부 경로를 확인할 수 있습니다.

 

 

코드 수정 및 재배포:

필요한 경우, 마이크로서비스 코드를 수정하고 다시 배포할 수 있습니다. kill-ms.sh 스크립트로 기존 서비스를 종료하고, start-ms.sh로 재배포합니다:

$ ./kill-ms.sh
$ ./start-ms.sh

 

 

로그 모니터링:

배포된 마이크로서비스의 상태를 모니터링하기 위해 각 Pod의 로그를 확인할 수 있습니다:

$ oc logs <pod-name>

 

 

이렇게 해서 OpenShift 환경에서의 마이크로서비스 배포 및 관리 방법을 간단히 살펴보았습니다. 계속해서 개선할 점이 있다면, 로그 분석 및 OpenShift CLI 활용을 통해 유연하게 관리해 나가시기 바랍니다.

마지막으로, 이러한 단계들을 따라하며 실전에서 어떻게 활용할지 결론을 맺겠습니다.

 

  

결론:

이번 글에서는 Quarkus/Camel 마이크로서비스를 OpenShift 환경에서 배포하고 관리하는 방법을 상세히 알아보았습니다. OpenShift의 강력한 Kubernetes 기반 플랫폼과 Developer's Sandbox를 활용하면 마이크로서비스의 개발 및 배포를 원활하게 진행할 수 있다는 점을 확인했습니다.

OpenShift는 다양한 기업의 실무 환경에서 활용 가능한 솔루션을 제공하며, 이러한 배포 과정을 자동화하고 관리하는 데 많은 도움을 줍니다. 특히, OpenShift Developer's Sandbox는 개발자들에게 무료로 제공되어, OpenShift의 특징과 작동 방식을 쉽게 익힐 수 있는 좋은 기회가 됩니다.

마지막으로, OpenShift를 통해 실제 마이크로서비스를 배포하고 관리하면서 발생할 수 있는 문제들을 유연하게 해결하고, 꾸준한 실험과 개선을 통해 더 나은 운영 환경을 만들어 나가시기 바랍니다.

반응형