전체 글(124)
-
k8s 무중단 배포 완성하기 1편: PreStop Hook과 TerminationGracePeriodSeconds 실전 설정
Rolling Update 중 실행시간이 긴 API(배치 등)가 중간에 끊기는 문제를, PreStop Hook과 TerminationGracePeriodSeconds로 해결했다. 핵심은 TerminationGracePeriodSeconds > PreStop Hook 대기시간을 반드시 지켜야 한다는 것, 그리고 그 차이만큼이 애플리케이션 자체의 graceful shutdown을 위한 시간이라는 것이다.문제 상황개발자로부터 이런 요청을 받았다."배포하는 동안 기존 Pod의 API 통신이 끊겨요. 안 끊기게 해주세요."특히 배치처럼 실행 시간이 긴 API는 이 이슈가 치명적이었다. 원인은 단순했다.Rolling Update로 기존 Pod가 종료되는데, 30초 안에 강제로 다 꺼짐반면 일부 API는 60초 이상..
2026.08.09 -
밑천 드러난 6년차, 모르는 이슈 앞에서 쓰는 '변수 격리' 생존법
"정보의 양을 늘리면 풀리지 않는 이슈는 없다"6년차 DevOps의 실전 문제 해결기 #1: 변수 격리 기법"내가 가진 정보보다 문제의 난이도가 높다면, 정보의 양을 늘리면 해결할 수 있다."어려운 이슈를 만날 때마다 마음에 새기는 문장이다. 내가 문제를 해결할 만큼 충분한 단서를 쥐고 있다면 결국 답을 찾을 수 있다는 희망을 주기 때문이다.그런 의미에서 오늘은 현업에서 정보의 양을 늘리기 위해 내가 자주 쓰는 첫 번째 실전 전략, ‘변수 격리(Variable Isolation)’ 기법을 기록해 본다.🧐 들어가며: "범인은 너밖에 없어"DevOps 엔지니어로 일하다 보면 소스코드 내부 로직, DB, 복잡한 네트워크처럼 내가 잘 모르는 영역의 이슈가 넘어올 때가 많다. 특히 애플리케이션 개발자가 *"요리..
2026.08.08 -
공통 라이브러리 CI/CD 개선 건
개선 계기 : 사내 시스템들을 MSA 구조로 변경하면서 여러 API에서 공통적으로 쓰는 라이브러리를 공통라이브러리로 Repository화 하고, Artifact(jar) 형태로 사내 Nexus Repository 에 배포하여 사용하고 있다.여기서 2가지 이슈가 있었다. 라이브러리 개발자의 개인 PC 에서 Nexus 로 직접 배포가 가능한 구조이다보니, 인적실수로 인해 의도하지 않은 소스 배포가 가능한 구조라이브러리 사용자가 버전 업그레이드 요청을 받았을때 변경 사항 확인이 어려움. 해결 방법과정은 크게 3단계로 나뉜다.1. gradle publish 로 Artifact 를 Nexus에 배포 2. 아래 version.py 실행하여 Nexus 에 배포된 Artifact 버전 명을 가져옴(데이터 전처리를 ..
2025.12.14 -
SRE 발표 및 사례 (구글 / 당근마켓)
1. 구글 클라우드(SRE 로 더 신뢰할 수있는 시스템 구축하기): https://www.youtube.com/watch?v=lxRx_UdTXbU&t=99s 주요 5가지 분야개발자와 운영자간 silo(사일로) 타파 ( 개발자는 새 기능 배포 / 운영자는 안정성 추구 둘간의 의사소통을 촉진하여 사일로 타파)오류를 일상으로 받아들임 : Error Budget 으로 관리 점진적 변화 구현 도구와 자동화 활용모든 것을 측정 : 신뢰성 측정 (SLA) 오류에 대한 대비책을 항상 가지고 있어야 한다.가용성 = 정상 시간 / 총 시간 : 서비스가 작동되고 사용가능한 시간의 비율을 SRE 에선 더 정교한 지표로 아래 방식으로 지표화한다.가용성 = 정상 상호작용(200 OK) / 총 상호작용 : 서비스가 작동되고, ..
2025.11.10 -
자신있게 결정하라
미래를 예측하는데 힘을 쓰지 말라. 우칭 전략 소소한 실험을 통해 내가 세운 가정이 맞는지 검증해본다. ex) 데모버전 만들어보기 , 3개만 판매해보기 -> 우칭을 실행한다는건 이렇게 묻는 것과 같다. 시험 해볼수있는데 왜 예측하지? 알 수있는데 왜 짐작하는거지?A: 충분한 심리적 거리를 확보했는가?1) 101010 기법 10분 후 10개월뒤 10년뒤 지금 선택에 대해 어떤 감정을 느낄지 생각해보라. 2) 만일 나와 가장 가까운 친구가 같은 상황에 처했다면 나는 뭐라고 조언할까?
2025.08.28 -
IAM
IAM 이란? - Identity Access Management: AWS 의 각 서비스에 접근가능한 계정 권한관리해주는 서비스 - 글로벌 서비스다. (리전별에 제한되지 X)- 정책은 JSON 으로 쓰인다. IAM 의 구성 결제 정보 보는법AdminFullAccess 권한을 가진 사용자도 Root 계정이 아니면 Billing 기능에 접근이 불가하다. 가능하게 하려면 아래 "IAM 액세스 활성화"를 해야한다. IAM 자격 증명 보고서 - 계정의 모든 사용자와 암호,엑세스 키, MFA 장치등의 증명상태를 나열하는 보고서를 생성하고 다운로드 가능 - AWS 콘솔, CLI ,API 에서 생성요청및 다운로드 가능 IAM 모범 사용 사례- 루트 사용자는 사용하지 않기: 관리용으로만 쓰고 작업은 IAM U..
2025.04.21