본문 바로가기

분류 전체보기

(105)
Linkerd Tutorial 따라해보기 쿠버네티스 클러스터에 linkerd를 설치하고 샘플 애플리케이션을 배포하여 linkerd를 사용해 보려고 한다. k8s 클러스터는 minikube를 사용하여 진행했고, https://linkerd.io/2.16/getting-started/ 에 나온 내용을 기반으로 공부한 내용을 추가하여 포스팅을 작성한다.1. linkerd 설치local machine에 linkerd를 설치하기 위해 아래 커맨드를 입력한다.$ curl --proto '=https' --tlsv1.2 -sSfL https://run.linkerd.io/install-edge | sh$ export PATH=$HOME/.linkerd2/bin:$PATH그 이후에 정상적으로 설치되어 있는지 확인하기 위해 아래 커맨드를 입력한다. 만약 아래처..
S3 Batch Operations 사용 시에 주의할 점 S3는 Batch Operations이라는 기능을 제공해 준다. 이 기능을 사용하면 특정 Bucket에 있는 Object들을 쉽게 다른 Account 또는 현재 Account의 다른 Bucket에 옮길 수 있다. 비록 쓰면서 아쉬운 점들이 있었지만 많은 양의 Object를 손쉽게 옮길 수 있다는 점은 정말 큰 장점이라고 생각한다. (쓸 때마다 DataSycn와 기능이 합쳐졌으면 좋겠다 싶은 생각도 들었다) 다만 쓰면서 몇 가지 뼈아픈 실수를 하고 난 뒤에는 Batch Operations에 대한 PTSD가 생겼지만 (…) 그래도 여전히 대량의 Object를 옮길 때 매우 좋은 서비스이기도 하고, 실수를 반복하지 않기 위해 & 같은 피해자가 발생하지 않았으면 하는 마음에 포스팅을 작성해 본다. 1. S3 R..
S3 Virtual hosting of buckets에서 bucket, key 정보 추출하기 Public한 Object인 경우, S3에서 제공해 준 링크로 접근할 수 있다. 이 링크들은 아래 구성의 주소 같이 생겼다. 이것을 Virtual hosting of buckets라고 한다. https://s3.us-west-2.amazonaws.com/jbarr-public/puppy.jpg 그런데 만약 Virtual hosting of buckets에서 bucket명과 key값을 추출할 수 있는 메서드가 필요할 때에는 어떻게 해야 할까? 여기에서 bucket과 key는 각각 이렇게 매핑되어야 한다. bucket: jbarr-public key: puppy.jpg Java AWS SDK에서 bucket과 key 값을 추출할 수 있는 유틸리티성 메서드를 지원해준다. 그런데 내가 찾지 못한 건지 Ruby에..
2023.log 벌써 올해의 마지막 날이 되었다. 2023년을 시작한 게 엊그제 같다… 고 말하려고 했는데 사실 이번 연도는 이런저런 일들이 있어서 나름 알차고 길게 보낸 것 같다. 2023년은 개인적으로도 많은 도전을 했고, 좋든 나쁘든 어떤 식으로든 결과를 만들어냈다. 이런 것들이 모두 자양분이 되어 2022년에 비해 더 나은 내가 된 것 같다는 느낌도 많이 받은 해다. 사실 회고를 쓴게 너무 오래되어서 어떻게 쓰는 건지도 다 까먹었지만 ㅋㅋ… 2022년에 회고를 안 쓴걸 조금 많이 후회했었기 때문에 다시 후회하지 않기 위해 열심히 써봐야겠다. 회고글을 쓰면서 2021년 회고글도 같이 읽어보고 있는데 2021년에는 첫 타이틀이 블로그였다. 그만큼 블로그를 정말 열심히, 그리고 꾸준히 운영했었는데 충격적 이게도 202..
마지막 강의 요약 당신의 어릴 적 꿈을 진짜로 이루기 무중력 상태를 향하여 상대방에게 득이 될 만한 것을 제시하라, 그래야 환영받는다. 조그만 기회라도 포착할 수 있다면, 그 기회를 발판 삼아 바로 떠오를 수 있다. NFL 풋볼 선수가 되지는 못했다 반드시 기초부터 제대로 익혀야 한다. 그렇지 않으면 그 어떤 화려한 것이라도 해낼 수 없다. 당신을 비판하는 사람들이야말로 대부분 당신을 진정 사랑하고 아끼는 사람들이며 당신을 발전시키고 싶은 마음을 가진다. 헤드 페이크 전문가가 되려면 숨겨진 목표가 드러나지 않게 주의해야 한다. 대박을 터트려라 끈기는 미덕이다. 그러나 당신이 얼마나 노력하는지 모든 이들이 언제나 지켜보고 있어야 할 이유는 없다. 세상에서 제일 행복한 곳 장벽이 거기 서 있는 것은 가로막기 위해서가 아니며,..
도커라이징 작업을 하며 겪은 트러블 슈팅 1) Nginx 사용 시 컨테이너 종료 문제 상황 Dockerfile에는 맨 아래에서 CMD로 passenger와 nginx가 뜨게 구성했는데, 도커 컨테이너가 실행하자마자 중지되는 현상이 발생했다. CMD bundle exec passenger start -a localhost -p 10000 ~~(생략)~ --nginx-bin /opt/nginx/sbin/nginx && \ nginx 로그를 봤을 때에는 실행하다 문제가 발생한 것은 아닌 것 같은데 직접 컨테이너로 들어가 docker ps 명령어로 컨테이너 상태를 확인하면 실행하는 컨테이너 목록에서 보이지 않는다. 문제 원인 Nginx의 작동 방식과 연관이 있다. 초기 프로세스가 마스터 Nginx 프로세스와 일부 워커 프로세스만 생성한 다음에 중지하는..
스프링의 콘셉트(IoC, DI, AOP, PSA) 쉽게 이해하기 ❕ 들어가며 이번 글에서는 스프링의 중요한 콘셉트인 IoC(제어의 역전), DI(의존성 주입), AOP(관점 지향 프로그래밍), PSA(이식 가능한 서비스 추상화)에 대해 알아보겠습니다. 💡 이 글을 읽게 됨으로써 얻을 수 있는 지식은 아래와 같습니다. - IoC(제어의 역전)이 무엇인지 - DI(의존성 주입)이 무엇인지 - 스프링 컨테이너와 빈이 무엇인지 - AOP(관점 지향 프로그래밍)이 무엇인지 - PSA(이식 가능한 서비스 추상화)이 무엇인지 위 네 개념을 쉽게 이해하고 싶어하시는 분들에게 도움이 되고자 스프링 부트 3 백엔드 개발자 되기 - 자바 편의 일부 내용을 공개하기로 했습니다. 이 내용은 책의 2.2장을 거의 그대로 옮겨온 내용으로, 많은 도움이 되었으면 좋겠습니다. 🙏 🔍 IoC와 DI..
뉴렐릭 배포 마커 적용 방법 (w. Track Changes) ❕ 들어가며 제가 다니고 있는 회사에서는 로깅 시스템, APM 시스템으로 NewRelic을 사용하고 있습니다. 이번 글에서는 NewRelic을 조금 더 잘 활용하기 위한 기능인 배포 마커 (Deployment Marker)에 대해 소개합니다. 💡 이 글을 읽게 됨으로써 얻을 수 있는 지식은 아래와 같습니다. - 배포 마커 (Deployment Marker)가 무엇인지 - 변경 사항 추적 (Change Tracking)이 무엇인지 - 배포 마커나 변경 사항 추적을 사용하면 무엇이 좋은지 - 변경 사항 추적을 사용한 배포 마커 적용 사례 ✒️ 배포 마커(Deployment Marker) 배포 마커는 배포 시점에 APM 차트와 대시보드에 마커를 추가해 주는 기능으로, 에러가 나는 경우에 배포의 영향은 아닐지 ..