반응형

분류 전체보기 86

ARC on Karpenter, EKS에서 GitHub Actions runner 굴리는 법

GitHub-hosted runner 비용이 슬슬 부담스러워서 self-hosted로 갈아탈 때, 요즘은 거의 ARC(Actions Runner Controller) + Karpenter 조합이 정석처럼 굳어가는 분위기다. 우리 팀도 작년 말부터 이 구성으로 전환했고, 그 과정에서 정리해둔 내용을 가이드로 풀어본다.작년 6월에 ARC 0.12가 나오면서 ephemeral runner 설치가 큐잉되고 실패 시 5번까지 재시도하는 식으로 바뀌었다. 노드 스케일 다운 도중에 러너 파드가 휘말려 죽는 케이스에서 체감이 꽤 좋아졌다. 이 글은 0.12 이상 기준이다.왜 Karpenter랑 묶나처음엔 Cluster Autoscaler로도 충분하지 않을까 했었다. 결론부터 말하면, CI 워크로드 특성상 Karpent..

IT/CI CD 2026.05.06

환절기 옷장 정리, 30분이면 끝나는 5단계 실전 루틴

5월에 접어들면 옷장 안이 가장 어수선해지는 시기입니다. 두꺼운 니트, 봄 자켓, 반팔 티셔츠가 한 칸에 뒤섞여 있다 보니, 막상 입으려고 보면 원하는 옷이 어디 있는지 찾기 어렵죠. 큰맘 먹고 옷장 정리를 시작했다가 한나절을 다 써버리고 결국 포기한 경험, 한 번쯤 있으실 겁니다.오늘은 30분 안에 끝낼 수 있는, 그리고 다음 환절기에도 다시 활용할 수 있는 옷장 정리 5단계 루틴을 정리했습니다.Photo by Ars M on Unsplash1단계. "다 꺼내기"로 시작하기 (5분)정리의 첫 단계는 눈으로 보지 말고, 일단 다 꺼내는 것입니다. 옷장 안만 들여다보면서 정리하면 "이건 둘까, 말까"를 반복하다 시간이 끝나버립니다. 침대나 거실 바닥에 모두 꺼내 놓으면 내가 가진 옷의 양이 한눈에 보이고,..

정보/일상 2026.05.06

5월 봄철 알레르기 비염, 슬기롭게 관리하는 7가지 실전 팁

Photo by Maria Hossmar on Unsplash5월에 접어들면 따뜻한 햇살은 반갑지만, 콧물·재채기·눈 가려움으로 하루를 시작하는 분들께는 한숨이 먼저 나오는 계절이기도 합니다. 봄철 알레르기 비염은 단순한 감기와 달리 꽃가루·황사·미세먼지 같은 환경 요인이 결합해 증상이 길어지기 쉽습니다. 오늘은 일상에서 바로 실천할 수 있는 봄철 알레르기 비염 관리법을 정리해 드립니다.1. 꽃가루 농도가 높은 시간을 피하세요기상청과 질병관리청에 따르면 꽃가루 농도는 보통 오전 5시~10시 사이에 가장 높아집니다. 외출이 가능하다면 오후 시간대로 옮기고, 특히 비가 온 직후 1~2시간은 공기 중 꽃가루가 씻겨 내려간 시점이라 비교적 활동하기 좋습니다.2. 외출 후엔 '현관 1분 루틴'을 만드세요집에 들어..

정보/건강 2026.05.06

이제 Terraform state에 password 안 넣어도 된다

지난주에 사내 보안팀에서 state 파일 감사를 돌렸다. 결과 보고서를 받아보니 우리 팀 모듈 몇 개에 RDS master password가 평문으로 박혀 있었다. random_password로 만들어서 aws_db_instance.password에 넘긴 건데, 그 흐름을 타는 모든 값이 state에 그대로 적힌다. KMS로 백엔드 암호화는 해뒀어도, 누가 terraform show만 치면 그냥 보이는 거라 좀 찜찜했다.이거 사실 1.11부터 들어온 write-only argument로 우회할 수 있다. 1.10에서 ephemeral resource가 먼저 들어왔고, 1.11에서 write-only가 따라 들어온 건데, 모르고 계신 분이 의외로 많길래 짧게 정리해본다.동작 방식1.10의 ephemeral..

IT/IaC 2026.05.06

Istio Ambient vs Cilium Service Mesh, 우리는 뭘 쓰고 있나

요즘 사내에서 sidecar 없는 서비스 메시 이야기가 자주 나온다. 우리 팀도 작년 4분기에 Istio sidecar 모드를 운영하다가 메모리 footprint와 업그레이드 부담에 지쳐서 sidecarless 옵션을 진지하게 검토하기 시작했다. 후보는 두 개로 좁혀졌다. Istio Ambient Mode와 Cilium Service Mesh.둘 다 sidecar를 없앤다는 큰 그림은 같은데 접근 방식이 꽤 다르다. 어느 쪽이 우리 팀에 맞는지 판단하기까지 두 달 정도 PoC를 돌렸고, 그 과정에서 알게 된 것들을 정리한다. 결론부터 말하면 우리는 아직 한쪽을 완전히 못 정했다. 그래서 이 글은 깔끔한 권고문이 아니다.데이터 플레인이 어디서 도는가가장 큰 차이는 트래픽이 처리되는 위치다.Istio Amb..

IT/기타 2026.05.06

2026년 5월 6일 (수요일) 12간지 오늘의 운세

Photo on Pexels오월의 봄빛이 한껏 무르익는 수요일이에요. 살랑이는 바람과 따스한 햇살이 어우러져 마음이 한결 가벼워지는 하루랍니다. 띠별로 오늘 어떤 흐름이 흐르는지 가볍게 살펴볼까요?🐀 쥐띠 (1972, 1984, 1996, 2008, 2020)오늘은 새로운 인연이나 정보가 다가올 수 있는 날이에요. 평소 관심 있던 분야의 소식이 귀에 들어오면 적극적으로 메모해두세요. 금전운은 무난한 편이지만, 충동적인 소비는 살짝 자제하는 게 좋아요. 가까운 사람과의 대화에서 따뜻한 위로를 얻을 수 있어요.🐂 소띠 (1973, 1985, 1997, 2009, 2021)꾸준함이 빛을 발하는 하루예요. 그동안 묵묵히 해오던 일에서 작지만 의미 있는 성과가 보일 수 있어요. 애정운은 안정적이며, 오랜 친구..

CoreDNS autopath + NodeLocal DNSCache, 같이 써야 진짜 빨라진다

쿠버네티스 클러스터가 어느 정도 커지면 DNS가 가장 먼저 비명을 지른다. 우리 팀도 노드 80대 규모 EKS에서 CoreDNS QPS가 2만을 넘기면서 P99 레이턴시가 200ms 가까이 튀는 걸 보고 나서야 손을 댔다. NodeLocal DNSCache는 들어봤는데, autopath는 의외로 안 쓰는 팀이 많더라. 이 둘을 같이 써야 진짜 효과가 난다.이 글은 두 컴포넌트를 같이 도입하는 가이드다. 각각의 역할, 설정 순서, 그리고 같이 쓸 때 주의할 점까지 정리했다.ndots:5가 만드는 N+1 쿼리 문제쿠버네티스 파드에 들어가서 cat /etc/resolv.conf를 찍어보면 이런 게 나온다.search default.svc.cluster.local svc.cluster.local cluster...

IT/Kubernets 2026.05.05

SLO multi-window burn rate, 우리 팀이 세 번 갈아엎은 이야기

SLO 알림 한 번 손봤다가 두 달을 끌었다. 이게 뭐 그리 복잡하다고. 처음엔 그렇게 생각했다.우리 팀은 작년 가을부터 핵심 API 다섯 개에 대해 SLO 기반 알림을 운영하고 있다. 가용성 99.9%, 레이턴시 P99 300ms 이하. 알림은 Prometheus + Alertmanager 조합. Google SRE Workbook에 나온 multi-window multi-burn-rate(MWMBR)를 그대로 베껴 쓰고 있었다. 처음엔 만족스러웠다. 그런데 올해 초부터 슬슬 문제가 보이기 시작했다.1차 시도: Workbook 그대로 베끼기처음 셋업할 때는 SRE Workbook 표를 그대로 옮겼다. 4개 티어, 각 티어마다 short/long 두 윈도우.- alert: HighErrorBudgetBu..

IT/SRE 2026.05.05

ArgoCD ApplicationSet PR Generator로 PR별 preview 환경 만들기

PR 올라올 때마다 리뷰어한테 "로컬에서 띄워서 봐줘"라고 말하는 게 한두 번이지, 매번 그러기 좀 그렇다. 우리 팀은 PR 하나당 stage 환경에 임시로 배포해서 QA가 직접 클릭해보고 댓글 다는 흐름을 원했는데, 그래서 결국 ArgoCD ApplicationSet의 Pull Request generator를 붙였다.처음엔 "그냥 GitHub Actions로 helm install 돌리면 되는 거 아냐?"라고 생각했는데, 막상 정리되고 나니 GitOps의 일관성이라는 게 꽤 크게 다가왔다. PR 닫으면 알아서 지워주고, 상태도 ArgoCD UI에 그대로 보이고. 이번 글에서는 셋업 과정과 실제로 굴려보면서 부딪힌 몇 가지를 정리한다.PR Generator가 하는 일ApplicationSet은 한 번에..

IT/CI CD 2026.05.05

PDB 하나 때문에 노드 드레인이 4시간 멈췄던 이야기

지난주 화요일 새벽이었다. EKS 클러스터 1.32 → 1.33 업그레이드를 돌리는 중이었는데, 노드 드레인이 4시간째 안 끝나고 있다는 슬랙 알림을 받았다. 새벽 3시였고, 솔직히 처음엔 드레인이 원래 좀 오래 걸리니까 그러려니 했다. 4시간이라는 숫자를 본 순간 멘탈이 한 번 흔들렸다.평소 같으면 워커 노드 한 대 드레인하는 데 길어야 10분 정도였다. 그런데 이번엔 한 노드에 박혀서 안 빠지는 파드가 있었고, 그 파드 하나가 전체 업그레이드 파이프라인을 막고 있었다. 결국 원인은 PDB(PodDisruptionBudget) 하나였다. 짧게 말하면 그렇고, 길게 말하면 우리 팀의 PDB 관리 방식 전체가 문제였다.처음 발견한 증상노드를 cordon하고 drain을 돌렸는데 이런 메시지가 계속 떴다.e..

IT/Kubernets 2026.05.05
반응형