반응형

2026/04 37

KEDA SQS scaler 도입했다가 thrashing에 한참 데인 이야기

지난달에 SQS 기반 워커 파드를 KEDA로 옮겼다. HPA의 CPU 메트릭만으로는 큐가 쌓일 때 늦게 반응하는 게 계속 거슬려서, 큐 길이로 직접 스케일하는 게 자연스러워 보였다. KEDA는 2.19가 최근에 떨어졌고(2026-02), SQS scaler에 scaleOnDelayed 같은 옵션도 정리돼 있어서 큰 고민 없이 시작했는데, 정작 일주일 동안 새벽에 두 번 호출되고 나서야 정신을 차렸다. 그 과정 정리.시작은 정상이었다워크로드는 단순하다. 외부 이벤트 → SQS → 워커 파드(Go 단일 바이너리)가 메시지 하나씩 받아 처리. 평소엔 큐가 비어 있고, 1시간 단위로 큐가 수만 건씩 쌓이는 burst 패턴이다. 한 메시지 처리에 평균 2초, P99 8초.처음 달았던 ScaledObject는 거의..

IT/Kubernets 2026.04.29

환절기 면역력 떨어졌을 때, 일상에서 챙겨야 할 5가지

봄에서 여름으로 넘어가는 환절기, 일교차가 10도 이상 벌어지는 날이 반복되면 어김없이 컨디션이 무너지죠. 콧물이 나거나 목이 칼칼하고, 충분히 잔 것 같은데도 피곤함이 가시지 않는다면 면역 균형이 흔들리고 있다는 신호일 수 있습니다. 오늘은 큰 비용이나 결심 없이도 일상에서 바로 적용할 수 있는 면역 관리 습관 5가지를 정리해 봤습니다.Photo by Anna Pelzer on Unsplash1. 컬러풀한 채소를 한 끼에 3색 이상 챙기기면역세포가 정상적으로 기능하려면 비타민 A·C·E, 아연, 셀레늄 같은 미세영양소가 필요합니다. 영양제로 한 번에 채우려 하기보다, 녹색(브로콜리·시금치) + 주황색(당근·파프리카) + 붉은색(토마토·딸기) 식의 색깔 조합으로 채소·과일을 챙기면 자연스럽게 다양한 항산..

정보/건강 2026.04.29

봄맞이 대청소, 이 순서대로만 하면 끝나는 7단계 체크리스트

겨우내 닫혀 있던 창문을 활짝 열고 싶어지는 4월 말, 봄맞이 대청소를 미루고만 있는 분들이 많습니다. 막상 시작하려고 보면 어디서부터 손을 대야 할지 막막해 한 시간만 청소하고 지쳐버리는 경우가 흔합니다. 순서가 정해져 있으면 절반은 끝난 것이라는 말처럼, 오늘은 한정된 주말 시간을 가장 효율적으로 쓸 수 있는 7단계 체크리스트를 정리해 봤습니다.1단계. 비우기부터 — 청소가 아니라 '분류'가 먼저청소를 시작하기 전 한 시간은 물건을 분류하는 시간으로 씁니다. 옷장·신발장·서랍을 열어 1년 이상 사용하지 않은 물건을 종이백 세 개에 나눠 담습니다. '버릴 것', '기부할 것', '보관할 것' 세 가지면 충분합니다. 막상 손에 쥐어보지 않으면 결정이 느려지므로 '서랍 한 칸씩' 단위로 끊어서 진행하는 것..

정보/일상 2026.04.29

PgBouncer transaction 모드에서 prepared statement 제대로 쓰는 법

왜 굳이 켜야 하나PgBouncer 1.21에서 transaction pooling 모드에서도 prepared statement를 쓸 수 있게 된 게 벌써 2년 가까이 됐다. 우리 팀도 작년 가을에 1.22로 올리고 max_prepared_statements를 켰는데, 그동안 마주친 함정 몇 개가 있어서 정리해둔다. 비슷한 마이그레이션을 앞두고 있는 분들에게 도움이 됐으면 한다.이 글은 "PgBouncer는 뭔가요"부터 시작하지 않는다. 이미 transaction 모드로 PgBouncer를 운영 중이고, 애플리케이션이 prepared statement를 쓰고 있거나 쓰고 싶은 상황을 가정한다.JDBC, asyncpg, pgx, psycopg3 같은 모던 드라이버는 기본적으로 Parse/Bind/Execu..

IT/DB 운영 2026.04.29

2026년 4월 29일 (수) 12간지 오늘의 운세

Photo on Pexels따뜻한 봄빛이 깊어지는 4월의 마지막 수요일입니다. 오늘 하루, 12간지별로 어떤 기운이 함께할지 가볍게 살펴보세요. 큰 결정 앞에서 잠시 숨을 고르고, 작고 좋은 신호들을 알아차리는 하루가 되길 바랍니다.🐭 쥐띠 (1972 · 1984 · 1996 · 2008 · 2020)오늘은 작은 아이디어가 의외의 인정을 받기 좋은 날입니다. 회의나 대화 중에 떠오른 한마디를 메모해 두면 며칠 안에 써먹을 일이 생깁니다. 금전운은 무난하니 큰 지출보다는 카드 명세서 점검 같은 정리에 집중해 보세요. 건강은 어깨와 목이 뻐근할 수 있으니 한 시간에 한 번은 일어나 가볍게 풀어 주세요.🐮 소띠 (1973 · 1985 · 1997 · 2009 · 2021)차분히 쌓아 온 노력이 작은 결실로..

환절기 면역력 관리, 일상에서 챙기는 작은 습관 5가지

Photo by Ella Olsson on Pexels봄과 여름이 교차하는 환절기에는 일교차가 커지면서 면역 균형이 흔들리기 쉽습니다. 갑자기 목이 칼칼해지거나, 평소보다 쉽게 피곤해지는 경험을 해 본 적이 있다면, 일상 습관을 점검해 볼 좋은 시기입니다. 거창한 영양제보다 매일 반복하는 작은 루틴이 면역에 더 큰 영향을 미친다는 것이 여러 공중보건 가이드라인의 공통된 권고입니다.1. 수면의 양보다 '일정함'을 우선하기미국 질병통제예방센터(CDC)는 성인의 적정 수면을 7시간 이상으로 권고합니다. 하지만 시간만큼 중요한 것은 잠드는 시각의 일관성입니다. 주중과 주말의 수면 시각 차이를 1시간 이내로 유지하면 생체리듬이 안정되고, 회복 호르몬 분비도 원활해집니다.2. 매 끼 '색깔 있는 채소' 한 종류 더..

정보/건강 2026.04.29

Trivy로 CVE 1,400개 알림 폭탄 맞은 후, 우리 팀이 한 일

지난주 화요일 아침, 팀 슬랙의 #security-alert 채널을 열었더니 빨간 메시지가 화면을 가득 채우고 있었다. 멘탈이 잠깐 나갔다. CI 파이프라인에 Trivy 스캔을 새로 붙인 첫날이었고, 우리가 운영하는 서비스 47개 중 31개가 한 번에 fail 처리됐다. 보고된 CVE만 1,400개가 넘었다.당연히 본부장이 디엠을 보냈다. "이거 다 수정해야 하나요?"솔직히 말하면 그 순간엔 답을 못 했다. 이 글은 그 1,400개의 알림 폭탄을 정리하면서 우리 팀이 어떻게 신호와 소음을 분리했는지에 대한 회고다. 결론부터 말하면, 진짜로 손대야 했던 건 23개였다.처음에 뭐가 잘못됐나일단 우리가 한 게 뭐였냐면, trivy image 기본 옵션으로 모든 이미지를 스캔하고 결과를 그대로 슬랙에 던진 거였..

IT/DevSecOps 2026.04.29

External Secrets Operator vs Vault Agent Injector, 우리 팀은 결국 둘 다 쓰기로 했다

쿠버네티스에서 시크릿을 어떻게 가져올 것이냐. 이 질문은 보통 회사가 어느 정도 커지고 클러스터가 두세 개 늘어나는 시점에 한 번 크게 부딪힌다. 우리 팀도 그랬다. 작년 초까지는 그냥 kubectl create secret으로 박아 넣고 헬름 차트에 손으로 옮기는 식이었는데, 클러스터가 4개로 늘고 환경별로 시크릿 동기화 누락이 두 번쯤 사고로 이어지면서 더는 못 미루겠다는 결론이 났다.후보는 사실상 두 개였다. External Secrets Operator(이하 ESO)와 HashiCorp의 Vault Agent Injector. 둘 다 충분히 성숙했고 사례도 많다. 그런데 막상 비교하기 시작하면 "어느 게 더 좋은가" 자체가 잘못된 질문이라는 게 금방 드러난다. 결국 우리 팀이 어떤 시크릿을 다루고..

IT/DevSecOps 2026.04.28

Karpenter consolidationPolicy, 이거 한 번은 짚고 가자

오늘 알게 된 건 아니고, 최근에 팀원이 Karpenter 설정 PR을 올렸길래 리뷰하다가 "어 이게 v1.0부터 바뀌었는데 모르는 분들 꽤 많겠네" 싶어서 짧게 정리해둔다.WhenUnderutilized 라는 이름은 이제 없다Karpenter 1.0 GA 이후로 WhenUnderutilized는 WhenEmptyOrUnderutilized로 이름이 바뀌었다. 옛날 블로그 글이나 사내 위키 보고 그대로 복붙하면 NodePool apply가 깨진다. 지난주에 1.12.0이 나왔는데도 검색하면 아직 옛날 이름이 상위에 뜨더라.그리고 더 중요한 변화 — 1.0부터는 consolidateAfter를 WhenEmptyOrUnderutilized에서도 쓸 수 있다. 이전에는 WhenEmpty에서만 동작해서, "노드..

IT/Kubernets 2026.04.28

OpenTelemetry Collector tail sampling, 사실 내부에선 이렇게 돌아간다

지난 분기에 우리 팀은 트레이싱 백엔드를 Tempo로 옮기면서 OpenTelemetry Collector 게이트웨이 레이어를 다시 설계했다. 처음엔 head sampling으로 1%만 떼서 보내고 있었는데, 막상 장애가 터지면 정작 보고 싶은 에러 트레이스가 빠져 있는 일이 잦았다. 그래서 tail sampling으로 바꿨다. 그런데 도입한 지 며칠 지나니 collector 파드가 OOMKilled 당하면서 자꾸 죽는다. memory_limiter는 켜져 있었고, num_traces도 늘렸다 줄였다 하면서 한 주를 보냈다.문제는 tail sampling processor의 동작 원리를 정확하게 모르고 노브만 돌리고 있었다는 점이다. 사실 내부적으로는 어떻게 돌아가는지를 한 번 정리하지 않으면, 메모리 튜..

IT/모니터링 2026.04.28
반응형