-
[Microk8s] 쿠버네티스 기본 실습
쿠버네티스란? Kubernetes 클러스터는 안정적이고 확장 가능한 방식으로 컨테이너화된 애플리케이션을 호스팅합니다. DevOps를 염두에 두고 Kubernetes는 업그레이드와 같은 유지 관리 작업을 매우 간단하게 만듭니다. MicroK8s란? MicroK8s 는 워크스테이션이나 개인 장치에서 실행하기 위한 용도로 사용되며 K8s의 경량화 버전이라고 보면 쉽습니다. MicroK8s는 실제 쿠버네티스처럼 타 컴퓨터와도 연결이 가능하며 K8s에서 사용하는 대부분의 기능을 지원합니다. Linux Ubuntu는 MicroK8s와 호환성이 가장 좋은 OS이며 설치 또한 어렵지 않습니다. 테스트 환경 Welcome to Ubuntu 20.04.5 LTS (GNU/Linux 5.15.0-1025-gcp x86_64..
2022.12.07
-
[GCP] Cloud Run과 Cloud Build를 사용하여 Spring Boot 배포하기
시스템 아키텍처 Local 설정 Spring Boot의 application-prod.yml 설정 Github에 DB 정보를 올릴 수 없고, 없으면 서비스를 실행할 수 없기에 보안 문제가 발생하지 않고 DB정보를 컨테이너에 담을 수 있을지 고민했다. 결과적으로 환경변수를 사용하기로 했다. 위와 같이 설정하면 application-prod.yml에 시스템 환경변수 값을 불러올 수 있다. Dockerfile 설정 Cloud Run의 경우 컨테이너 기반으로 서비스를 실행하기 때문에 도커를 활용하여 빌드하였다. FROM adoptopenjdk/openjdk11 COPY gradlew . COPY gradle gradle COPY build.gradle . COPY settings.gradle . COPY src..
2022.12.05
-
[Grafana] Legend의 Display Name
환경 Grafana v9.4.3 문제 상황 Grafana 에서 Legend가 정상적으로 표시되지 않을 때가 있다. 이 때 오른쪽 설정(grafana v9.4.3)의 Standard options > Display Name을 변경하면 값이 바뀐다. 다만, 원하는 Display name을 고정으로 작성하면 모든 Legend가 전체적으로 변경된다. 이를 방지하기 위해선 아래와 같이 작성해야한다. ${__series.name} ${__field.labels} ${__field.labels.__values} Display Name에 위와 같이 작성하면 유기적으로 변경할 수 있다. 관련내용을 Grafana Docs에서도 확인할 수 있다. 레퍼런스 https://grafana.com/docs/grafana/lates..
2023.03.14
-
[Grafana] Unit, Decimals ( 단위, 소수점 )
환경 Grafana v9.4.3 문제상황 데이터의 단위를 명확하게 정의하면 해당 단위에 맞게 표기형식을 변경해준다. 예를들어 데이터의 기본 단위가 bytes로 이뤄져 있다면 오른쪽 설정 중 Standard options의 Unit을 변경하면 된다. 예를들어 파일 용량을 담은 데이터가 있고 값의 기본 단위가 bytes면 Unit을 bytes로 변경해보자. 숫자 형식에 따라 Byte, KB, MB, GB 와 같이 형식에 맞게 값을 변경해준다. 더불어 단위가 변경되면서 소수점 자리가 생기게 되는데 아무것도 설정하지 않으면 정수의 형태로 출력된다. 이럴때는 Decimals를 사용하여 소숫점을 통해 더 자세하게 표현하거나 생략할 수 있다.
2023.03.14
-
[Continuous Deploy] Github actions .env 파일 관리하기 with Github private repository
목적 Continuous Deploy 과정에서 Dotenv 파일을 꽤 번거로운(?) 녀석이다. 보안상 Github repository에 push하긴 찝찝하다. 그래서 이 파일을 Continuous Deploy 과정에서 리눅스의 Echo & Cat 과 Github Actions Secret Key를 사용해서 만들어줬는데, 가독성과 관리면에서 "이게 맞나?" 싶다. 이를 해결하기 위한 첫번째 방법을 찾아서 기록해본다. 사용 된 아키텍처 Github Public & Private Repository는 빌드될 파일이 있는 레포지토리를 뜻하며 Github Private Repository는 .env 파일이 따로 보관되어 있는 Repository를 뜻한다. 위 두가지를 한개의 계정으로 진행할 수 있지만 본 글에서는..
2022.10.14
-
[ 졸업프로젝트 캡스톤 디자인 ] Seear
본 게시글은 졸업프로젝트 캡스톤 디자인에서 dt1917의 백엔드 팀원으로 참여하여 Seear 서비스를 개발한 과정과 소개를 담고 있습니다. Introduce 본 서비스는 배리어프리를 바탕으로한 사회공헌 서비스입니다. 대상은 시각장애를 갖고 있는 사람이며 시각적으로 처리하기 어려운 부분을 AI를 통해 청각적 요소로 변환하여 서비스를 제공하는 것이 핵심 목적입니다. 예를들어 HTML에서 제공하는 ALT속성은 사진을 설명하는 용도로 제공되고 있으나 사진의 세부 내용이 적혀있는 기사는 한정적입니다. 본 서비스는 이미지 자체를 직접 캡셔닝하여 읽어주며 어떠한 이미지라도 쉽게 접근할 수 있도록 합니다. 최종 목표은 시각적으로 얻을 수 있는 정보에 취약한 시각 또는 인지 장애인이 음성을 통해 비장애인과 동일한 수준의..
2023.06.04
-
[Docker swarm] 활용해보기 with AWS
시작하며 AWS Instance information type: t2.micro size: 3 node ( master, worker1, worker2 ) os: ubuntu 20.04 AWS Instance Network information master instance public ip: 13.209.5.232 private ip: 172.31.32.34 worker1 instance public ip: 15.165.159.52 private ip: 172.31.36.212 worker2 instance public ip:13.209.67.244 private ip: 172.31.47.47 AWS security group 기본적으로 보안 설정에 맞게 세팅해야하지만 테스트를 위해 모든 보안포트를 오픈..
2022.11.24
-
[한이음 2022] MSA기반 인사 관리 시스템 Popool
본 게시글은 2022년 한이음 ICT멘토링 공모전의에 참여하여 Popool 서비스를 개발한 과정과 소개를 담고 있습니다. Introduce 대규모 트래픽에 유동적으로 대응 가능한 Micro Service Architecture 를 이해하고 설계하며 Netflix의 Eureka와 AWS Elastic Banstalk 서비스를 활용하여 클라우드 네이티브한 형태의 아키텍처를 구현 Role Devops Engineer & Backend Engineer Spring Cloud Eureka와 Spring Config Server 그리고 Github Actions를 활용한 MSA 멀티모듈 배포에 집중 Architecture AWS Service Amazon Elastic Beanstalk Amazon Simple S..
2023.06.04
-
[Dynamic Designer Developer DDD] 오모지
본 게시글은 Dynamic Designer Developer DDD 8기 아몬드 초코볼 팀이 오모지 서비스를 개발한 과정과 소개를 담고 있습니다. 더불어 본 서비스는 현재 개발 단계에 있습니다. Introduce 내일 결혼식가는데 이렇게 입고가면 어떨까? 다음주에 소개팅가는데 이 패션을 이상한가? 각종 이벤트마다 입어야할 옷이 고민일 때 상담할 수 있는 2030 타겟의 일상 패션 공유 앱 Role Devops Engineer & Backend Engineer Architecture Google Cloud Platform Google Cloud Run Google Cloud Build Google Cloud SQL Google Secret Manager Web Framework Spring Boot Sp..
2023.06.04
-
[Prography] 영양제 알림 서비스 PILIT
본 게시글은 Prography 7기 6팀 백엔드 팀원으로 참여하여 Pilit 서비스를 개발한 과정과 소개를 담고 있습니다. Introduce Pilit은 바쁜 현대 사회를 살고있는 사람들을 위해 영양제 조합을 추천하고, 영양제를 놓이지 않고 먹을 수 있도록 돕는 서비스 입니다. Role Backend Engineer & Devops Engineer Architecture AWS Service Amazon Elastic Container Service ( Fargate ) Amazon Elastic Container Registry Amazon Elastic Load Balancer Amazon ElastiCache ( Redis ) Amazon Relational Database Service ( Mys..
2023.06.02