전체 글
1,964개의 글
다중 클러스터 환경에서 context를 통한 접근 구성 방법
다중 클러스터 접근 구성 - Kubernetes kubectl context 쿠버네티스 클러스터를 관리하는 kubectl은 환경을 변경하며 클러스터를 관리할 수 있는 context 기능을 제공한다.…
Kubernetes의 Docker Runtime 지원 중단
이 글은 아래 링크(Kubernetes Blog)의 내용을 번역한 내용으로 이루어져 있습니다. https://kubernetes.io/blog/2020/12/02/dont-panic-kubernet…
Feign Client
1. 소개 Netflix에서 만든 것으로 웹 서비스 클라이언트를 보다 쉽게 개발할 수 있도록 도와주는 도구이다. 2. 사용법 의존성 추가 (spring-cloud-starter-feign) @Ena…
Try-Confirm/Cancel
TCC(Try-Confirm/Cancel)는 분산된 REST 시스템들 간의 트랜잭션을 HTTP와 REST 원칙으로 접근하여 해결하는 방법이다. 미국으로 여행을 가게 되었고 비행기와 숙박 업체에 예약…
alpine 기반 도커 컨테이너 에서 curl/telnet 사용하기
alpine이미지를 사용할 때, 컨테이너 내부에서 curl이나 telnet등 기본적인 리눅스 명령을 사용할 수 없거나, 컨테이너에 직접 접속해도 설치가 불가능한 경우가 있다. 이러한 경우 이미지를 …
CQRS (Command and Query Responsibility Segregation)
1. 개요 CQRS에 대해 알아본다. 2. CQRS (Command and Query Responsibility Segregation) 논리 이벤트 버스를 통한 애플리케이션 수준 통합 이벤트를 사용…
HttpUrlConnection을 이용하여 REST API 호출하고 JSON 받기
1. 코드 import org.json.JSONException; import org.json.JSONObject; import java.io.*; import java.net.HttpURLConn…
k8s container 내부 Heapdump 생성 방법
운영 비용, Autoscaling, Auto Healing 등의 k8s가 갖는 장점으로 인해 점차 기존의 인프라 시스템에서 쿠버네티스 환경으로 옮겨가고 있는 추세이다. 이에 따라 기존의 미들웨어 영…
EC2 AWS SSM 연동불가 해결방안
1. 개요 OS 내에서 SSM Agent 서비스가 정상이나 AWS Console SSM Instances Nodes Managed Instance 에 등록이 안될 때 2. 원인 및 해결방안 2.1.…
helm rollback을 이용한 kubernetes 원복 방안
kubernetes 배포시 주로 helm을 이용하여 배포한다. helm 은 리눅스의 apt 툴이나, node.js의 npm과 같은 Kubernetes 용 패키지 매니지먼트 툴로, Kubernetes…
Terraform CLI 커맨드(fmt, console) 소개
1. 개요 Terraform으로 인프라 관리를 할 때 유용하게 사용할 수 있는 CLI 커맨드 fmt, console에 대해 소개한다. 2. terraform fmt IaC로 인프라를 관리할 때 큰 …
Amazon Web ServicesWAF vs Firewall
https://cybersecuritykings.com/2020/04/12/10-differences-between-waf-and-firewall/ WAF : 웹 사이트 및 API와 같은 웹 애플리…
django swagger 사용하기
개요 장고에서 Swagger를 사용하여 API Doc을 사용하는 방법을 알아본다. 필요 모듈 djangorestframework와 django-rest-swagger 설치가 필요하다. #requir…
Saga Pattern (사가 패턴)
1. 개요 Saga Pattern에 대해 알아보는 시간이다. 2. Saga Pattern이란? Saga Pattern 2PC를 사용할 수 없는 분산 환경에서 데이터 일관성을 위한 방안이다. 예전에 …
terraform lock 해결방안
발생 원인 Terraform에서는 여러 사용자가 동시에 인프라를 수정하는 것을 방지하기 위해 lock을 걸 수 있다. terraform을 수행하다가 사용자 혹은 특정 이유로 lock이 걸린 상태에서…
[AWS] IoT Log V2 설정 방법.CLI로만 가능.
AWS IoT 에서 아래와 같이 Detail 한 CloudWatch Log를 보려면, CLI로 Log v2를 적용해야 합니다. 관련링크: https://docs.aws.amazon.com/iot/l…
Spring Boot application.properties @Value
1. 개요 application.properties에 값을 정의하고 코드 내에서 사용하는 방법 2. 설정 startup.complete.code=20 3. 코드 @Value("${startup.co…
Jaeger 설치 및 연동
1. 설치 https://www.jaegertracing.io/download/ 에서 다운로드 받는다. 테스트 환경은 맥이어서 macOS용 tar.gz 파일을 받았다. jaeger-1.20.0-da…
Swagger2 3.0.0 /swagger-ui.html 404 에러
1. 개요 Swagger2 및 UI 버전을 3.0.0으로 잡았을 때 /swagger-ui.html가 열리지 않는 현상 2. 해결 잘 모르겠으나 2.9.2로 되돌리고 나서는 잘 된다. !-- http…
ELK와 EFK 비교 (ELK vs EFK)
1. 개요 본 문서에서는 ELK와 EFK에 대해 간략히 설명하고 차이점을 알아본다. 2. ELK란? ELK에 대해서는 삵에 Amazon Elasticsearch Service - ELK 를 알아보자…
Container Resource Management (컨테이너 리소스 관리)
1. 개요 각 파드에 컨테이너 실행에 필요한 리소스(CPU, 메모리 등) 량을 지정할 수 있다. 따라서 파드에 컨테이너에 대한 리소스 request를 지정하면, 스케쥴러는 이 정보를 기반으로 파드를…
MongoDB macOS Install (몽고DB 맥 설치)
1. 개요 맥에 MongoDB를 설치하는 시나리오이다. 2. brew 설치 시도 (실패) $ brew install mongodb Updating Homebrew... == Searching for…
Microservice의 Application 구성, 복잡성 관리 (Config)
1. 개요 애플리케이션은 설정이 필요하다. DB 접속 정보, 연계되는 다른 서버의 정보 등등.. 과거에는 이러한 정보가 소스 코드 내에 하드코딩되어 있는 경우가 많았다. 하지만 이제는.. 특히 마이…
Prometheus를 통한 GKE 모니터링
1. 개요 Kubernetes와 Prometheus는 매우 밀접한 관계이다. Kubernetes의 전신은 Borg라고 할 수 있는데, Borgmon이 Prometheus에 큰 영향을 주었기 때문이다…