아코디언에서 ELK 구축하기
아코디언을 통해 손쉽게 ELK(Elasticsearch + Logstash + Kibana)를 구성하는 방법에 대해 알아보겠습니다. ELK구성도 ELK 를 구성하기 위해서는 4가지 서비스가 필요합니다. - Beats : 데이터를 수집하는 역할을 합니다. - Logstash : beats 에서 수집한 데이터를 합치는 역할을 합니다. - Elasticsearch…
아코디언을 통해 손쉽게 ELK(Elasticsearch + Logstash + Kibana)를 구성하는 방법에 대해 알아보겠습니다. ELK구성도 ELK 를 구성하기 위해서는 4가지 서비스가 필요합니다. - Beats : 데이터를 수집하는 역할을 합니다. - Logstash : beats 에서 수집한 데이터를 합치는 역할을 합니다. - Elasticsearch…
Helm은 Kubernetes 애플리캐이션을 관리하기 위한 도구입니다. Helm chart를 통해 복잡한 Kubernetes 애플리케이션들을 쉽게 배포/관리 할 수 있습니다. (참고사이트) - Helm 상세 소개 : https://helm.sh/ - Helm 의 설치 및 기본 설정 방법 : https://docs.helm.sh/using_helm/#quickstart-guide 이번 소개할 내용은 아코디언에서 사용자별로 Helm을…
앞선 포스팅들에서는 아코디언을 이용해 ① gitlab을 운영 ② eclipse를 이용해 gitlab과 연동 ③아코디언을 이용해 컨테이너 기반의 서비스 제공 을 해보았습니다. 이제는 이렇게 만들어진 인프라를 이용해 CI/CD를 수행해보도록 하겠습니다. 이번에 진행할 시나리오는 eclipse에서 소스를 수정하고 git과 연동하여 수정된 소스를 아코디언에서 운영중인…
이전 포스트 (아코디언으로 CI/CD 구축하기 #2 – git과 eclipse로 spring boot 개발 시작) 만든 git을 이용해 아코디언과 연동해보도록하겠습니다. spring boot 프로젝트를 container로 서비스하기 위해서는 2가지 (서비스가 되는 jar 파일의 정의, 도커 이미지를 만들기 위한 Dockerfile)가 필요합니다. 1. 서비스가 되는 jar…
이번 포스트에서는 이전 포스트 (아코디언으로 CI/CD 구축하기 #1 – gitlab 설치 )에서 만든 gitlab을 이용해서 프로젝트를 생성하고 ide와 연동해보도록 하겠습니다. 아코디언을 통해 웹 서비스를 제공하려고 하는데요, 간단하게 Spring boot로 샘플 프로젝트를 만들어 보도록 하겠습니다. Spring boot는 설정이 복잡한 Spring을 좀 더 쉽게 사용할 수 있도록 기본적인 설정을 추가하고…
개발주기가 빨라지면서 많은 회사들이 CI/CD를 도입하고 있습니다.CI/CD란 Continuous Integration / Continuous Delivery(Deploy)의 약자로 지속적인 통합과 배포를 의미하고 있습니다. 즉 빌드와 테스트, 배포를 자동화 함으로써 Human Error를 줄이고 개발에서 배포까지의 시간을 단축시킬 수 있습니다. CI/CD 환경을 구축하면 많은 장점이 있지만 기존의 개발환경에서 CI/CD를 구축하다보면 생각보다 많은 문제가 발생할 수 있습니다.소스를 관리하기 위해서 svn이나 git과 같은 형상관리 툴을 도입해야하고 빌드 및 테스트를 자동화 하기 위해서는 jenkins, travis-ci와 같은 툴이 필요합니다. 또한 운영서버로 배포하기 위해서 ansible과 같은 도구가 필수적입니다. 이렇듯 여러 툴들이 함께 유기적으로 조합되어야 하기에 CI/CD 도입에 어려움이 있을 수 있지만 아코디언을 이용하면 보다 간단하게 CI/CD 환경을 구축하고 손쉽게 운영할 수 있습니다.이번 포스트에서는 아코디언을 이용해서 CI/CD 환경을 구축하고 간단한 샘플 프로젝트를 배포하는 과정에 대해서 알아보도록 하겠습니다. 우선, 구축할 CI/CD 환경은 다음과 같습니다.1) 형상관리 – git(gitlab)2) 빌드 및 테스트 – jenkins (아코디언에 내장)3) 배포 – kubernetes (아코디언에 내장) CI/CD 환경구축을 위한 첫번째 단계로 형상관리 툴인 gitlab을 설치해보도록 하겠습니다. gitlab은 웹으로 관리 할 수있어 편하다는 큰 장점이 있지만, 다른 git 서버들보다 설치하기가 복잡한 편입니다. 하지만, 아코디언을 이용한다면 매우 손쉽게 설치할 수 있습니다. 그럼 이제부터 아코디언으로 gitlab을 설치해보도록 하겠습니다. (1) 어플리케이션 템플릿 작성gitlab이라는 웹앱을 만들기 위해 템플릿을 작성합니다. 아코디언의 “설정 > 템플릿” 메뉴에 가면 템플릿을 생성할 수 있습니다. “템플릿 생성”을 클릭하고 다음과 같이 내용을 입력하고 저장합니다. 1.템플릿 이름과 아이콘으로 이용할 이미지를…
이번 포스트에서는 가장 보편화된 구조인 WAS/DB를 아코디언을 통해 구성해보도록 하겠습니다. WAS는 JBoss EAP의 커뮤니티 버전인 Wildfly를 배포하고 DB는 MySQL을 사용하여 자바 애플리케이션을 배포하는 방법에 대해 알아보겠습니다. Wildfly란? 와일드 플라이(WildFly, 이전 이름: JBoss)는 자바 기반 오픈 소스 미들웨어입니다. Java EE 스펙을 지원하고 현재 40개 이상의 다양한 프로젝트가 있으며, 커뮤니티에 의해 개발 운영되고 있습니다. 2006년부터는 Redhat에서 인수하여 프로젝트를 운영하고 있으며 Redhat에서는 각종 컴포넌트 보증 및 통합 품질 테스트를 완료되면 JBoss Enterprise로 제공하고 있습니다. 2014년 11월 20일부터는 커뮤니티 JBoss 이름을 와일드 플라이(WildFly)로 변경하여서 사용하고 있습니다. MySQL 란? MySQL은 가장 많이 쓰이는 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다. 다중 스레드, 다중 사용자를 지원하며, 구조 질의어 형식의 데이터베이스 관리 시스템입니다. MySQL 배포하기 먼저 [앱 메뉴]에서 mysql을 선택합니다. mysql은 기본 제공하고 있지 않으나 [설정 – 템플릿] 기능을 통해 원하는 Docker 이미지를 등록할 수 있습니다. 이름을 입력하고 [추가 옵션]을 체크하여 MySQL에 필요한 환경 변수를 추가합니다. MySQL의 패스워드와 데이터베이스 이름을 입력합니다. MySQL을 설정하기 위한 환경 변수 이름은 이미 MySQL docker libary (https://hub.docker.com/_/mysql)에 지정되어있습니다. MYSQL_ROOT_PASSWORD와 MYSQL_DATABASE를 입력합니다. 모든 정보 값을 입력하고 [생성] 버튼을 클릭하면 [앱] 화면에 MySQL이 배포된 것을 볼 수 있습니다. Wildfly 배포하기 다음은 Wildfly를 배포해보겠습니다. 아코디언에서는 Tomcat과 Wildfly를 기본으로 제공하며 기술 지원하고 있습니다. 아코디언에서 제공하는 Wildfly를 선택하고 [다음] 버튼을 클릭합니다. 먼저 [이름]을 입력하고 애플리케이션은 Java Spring Framework – petclinic(https://github.com/mantech-accordion/spring-framework-petclinic) 을 배포해보도록 하겠습니다. [소스 타입]은 Git으로 선택하고 [Repository URL]을 입력합니다. [Git Reference]를 입력하지 않으면 기본값 master입니다. [라우터 설정]을 체크하고 [Host name]을 입력합니다.여기서 주의해야…
4차 산업혁명 시대를 맞이하며 클라우드가 재조명 받고있습니다.IaaS, PaaS, SaaS가 계속 언급되고 있고 Google의 Kubernetes 가장 화두에 오르고 있습니다.Kubernetes는 어플리케이션 컨테이너의 배포, Auto Scale, Docker 컨테이너 오케스트레이션 자동화 오픈소스입니다. 아코디언은 PaaS 플랫폼으로 CI/CD 자동화 및 APM 기능을 제공하고 있습니다. 또한, Kubernetes를 사용하여…