본문 바로가기

분류 전체보기114

[Spring-boot] OpenJDK 64-Bit Server VM warning Spring boot에서 JDK를 17 버전으로 이용하면서 Gradle 빌드할 때, 아래와 같은 경고 문구가 발생했다. OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended   원인은 클래스 로딩 시 Class Data Sharing(CDS) 기능을 사용하면 발생하는 것으로 자료를 많이 볼 수 있었고, build.gradle에 간단한 옵션을 추가하여 해결할 수 있었다.  Troubleshoot 아래 사진과 같이 tasks.named('test) 내  옵션 한 줄을 추가해 주면 해결된다.   tasks.named('test') {.. 2024. 8. 22.
[Linux] 메모리 Buffer/Cache 비우기 이전 글에서는 컴퓨터 자원과 그 사용량을 확인할 수 있는 명령어를 알아보았다.  [Linux/Ubuntu] 메모리 / 디스크 / 디렉토리 용량 확인많은 사람들이 AWS에서 Ubuntu를 기반으로 EC2 인스턴스를 많이 생성해서 운용하는 것으로 알고 있는데, 운용함에 있어 알아두면 좋은 명령어들이다. 1. 메모리 확인 # 기본 명령어 $ free # 가독성을ssnotebook.tistory.com  서버에 Database나 Kafka와 같은 메시지 브로커를 올려서 IO가 많이 발생하게 된다면, 아래 사진과 같이 Buff/Cache가 많이 쌓이게 된다.   필요에 따라 쌓인 캐시를 비워줄 수 있지만, 캐시를 바로 비우면 데이터 손실이 일어날 수 있기에 아래 명령어를 통하여 캐시를 스토리지와 동기화를 시켜준다.. 2024. 8. 13.
[Kong] Kubernetes 환경 내 Prometheus의 Metric 수집 및 확인 쿠버네티스 클러스터에서 Ingress Controller로 Nginx나 Kong이 많이 이용된다.  여기서 Ingress(Gateway)를 통하여, 클러스터에 들어오는 트래픽과 Latency는 UX 개선에 참고할 수 있는 중요한 Metric이다.  해당 글을 통하여, Helm 차트로 설치한 Kong Proxy(Gateway)의 메트릭을 Prometheus를 이용하여 수집하고 Grafana 대시보드를 이용하여 확인하는 과정을 알아볼 것이다.  1. Helm values.yaml 수정 admin 활성화 메트릭을 수집하기 위하여 kong admin을 활성화시켜 주고 http 이용을 위하여 활성화한다. [Default에서 수정한 옵션] admin.enabled : false  ->  true admin.type.. 2024. 8. 2.
[Network] AS(Autonomous System) AS(autonomous system)  / 자율 시스템 :   단일 관리 엔티티(네트워크 관리자)에 의해 독립적으로 운영되는 라우터의 집단을 의미한다.예시로 SKT나 KT와 같은 ISP에서 제공하는 네트워크나, 기업 내부에서 구축하여 사용하는 내부 네트워크를 들 수 있다.  AS의 특징 :AS는 중복되지 않는 고유한 번호(ASN)를 가진다.각 AS는 자체 라우팅 규칙이 존재하며, 이를 기반으로 네트워크를 관리한다. AS는 내부와 외부를 구분하여, AS 내부 라우팅 정보 전달을 위해 사용하는 프로토콜을 IRP(Interior Router Protocol), AS의 외부의 다른 AS와 라우팅 정보 전달을 위해 사용하는 프로토콜을 ERP(Exterior Router Protocol)라고 한다.     AS의.. 2024. 7. 31.
[Kubernetes] Pgadmin4 Ingress 적용 데이터베이스에 접속하여 관리를 할 수 있는 툴이 여러 가지 있는데, 사람들이 가장 많이 사용하는 툴로 Dbeaver가 있고, PostgreSQL 같은 경우 Pgadmin4라는 전용 툴도 따로 존재한다. (다른 예 : MySQL의 Workbench) 여기서 Pgadmin4 같은 경우, 웹으로 접속하여 설치형 애플리케이션과 동일하게 이용할 수 있는 컨테이너 이미지가 존재하고, 이를 쿠버네티스 Ingress를 적용하여 접속하는 방법을 알아볼 것이다.  문제점 Kubernetes에서 Ingress로 클러스터 내부의 서비스를 이용할 때, 일반적으로 애플리케이션 API는 Prefix에 오는 Path를 제거해 주는 방식으로 많이 이용하는데, 이는 구현된 API의 로직에 따라 에러가 발생할 수 있다. Prefix를 제.. 2024. 7. 7.
[Jenkins] Build Number 초기화 Jenkins를 이용하면서 Job을 실행시키면, 각 수행마다, Build Number가 순차적으로 올라간다. 이 Build Number는 Job 내부에서 환경변수로 이용을 할 수 있고, 이는 여러 가지 변수(컨테이너 이미지 태그 등)로 사용할 때가 많았다. 하지만 어느 순간 초기화(다시 1로)가 필요해질 때가 발생하여, 기록차 남기게 되었다.    1. Jenkins 관리로 이동     2. Script Console로 이동     3. Script 기입 및 실행  아래는 특정 Job에 대하여 과거에 저장되었던 Build 내용을 삭제하고, Build Number를 초기화하는 스크립트다. // 특정 Job의 Build 내역을 삭제하고 Number를 초기화하는 Scriptitem = Jenkins.insta.. 2024. 7. 2.