-
[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..
-
[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..
-
[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..
-
AWS ECS Health-Check 증상 지속적인 HTTP 503 Service Unavailable 에러 발생. 규칙적인 발생이 아닌 불규칙 적인 발생. 별다른 Request가 없어도 주기적으로 503 발생. 로컬에서 작업 당시 전혀 문제없음. 시스템 아키텍처 삽질 과정 서버 코드 점검 먼저 Validation을 실패한 부분이 없는지 여러 가지 Test Input을 입력했다. 그럼에도 Local에서 지속적으로 작동이 잘 되는 것을 확인하였다. 같은 오류가 반복되자 Exception filters까지 사용하여 서버가 갑자기 중단되는 상황을 최소한으로 줄였다. 그럼에도 불구하고 지속적인 503 에러코드가 발생하였고, 끝없는 삽질 끝에 AWS를 확인하기 시작했다. AWS 점검 ECS 클러스터에서 Task의 상태를 확인했다. 상태는 ACTIVE..
-
[한이음 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..
-
[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..