반응형

전체 글 385

ingress-nginx → nginx-gateway-fabric 마이그레이션 실전 기록 (온프레미스 K8s, 11개 인스턴스)

Overviewingress-nginx가 유지보수 모드로 전환되고 Kubernetes Gateway API가 v1.2로 GA되면서, 운영 중인 온프레미스 클러스터의 ingress-nginx 11개 인스턴스를 nginx-gateway-fabric(NGF) 2.0으로 이관했다. 전환 대상과 규모는 다음과 같다.항목 내용대상 클러스터 온프레미스 Kubespray (K8s v1.34)기존 Ingress 컨트롤러 ingress-nginx 11개 인스턴스 (기본 nginx 1개 + nginx-public-a~j 10개)LoadBalancer MetalLB L2 (내부 IP 14개 고정 할당)마이그레이션 대상 앱 infra 직배포 11개 + ArgoCD ApplicationSet 9개 + 별도 레포 2개전환 후 ..

Claude Code 멀티 에이전트 (Sub-agents) 사용법

OverviewClaude Code의 멀티 에이전트는 정확히는 Sub-agents (서브에이전트) 기능이다. 서브에이전트는 자체 시스템 프롬프트, 자체 컨텍스트 윈도우, 자체 도구 접근 권한, 자체 권한 모드를 가진 격리된 Claude 인스턴스로, 메인 대화 컨텍스트를 깨끗하게 유지하면서 특정 작업을 위임할 수 있다. DevOps 작업 (Terraform, Kubernetes, ArgoCD 등)에 바로 활용 가능한 구조다. 1. 핵심 개념서브에이전트의 가장 큰 가치는 컨텍스트 보존이다. 테스트 실행, 문서 조회, 로그 파일 처리는 상당한 컨텍스트를 소비하는데, 이를 서브에이전트에 위임하면 verbose한 출력은 서브에이전트 컨텍스트에 머물고 관련 요약만 메인 대화로 돌아온다. 또한 여러 서브에이..

IT Tool 2026.05.13

EKS 프로덕션 배포 가이드: 502 에러 제로 달성기

Overview AWS Load Balancer Controller의 ReadinessGate 기능으로 EKS 배포 시 발생하는 모든 502 에러를 제거했다. 단 한 줄의 label 설정으로 가능하다. 온프렘 환경에서의 대안도 함께 다룬다. 문제 인식: 지표와 현실의 괴리 프로덕션 환경에서 다음과 같은 상황을 경험해본 적 있으신가요?# ArgoCD Dashboard✅ Sync Status: Healthy✅ Health Status: Healthy✅ All Pods: Running (3/3)# 동시에 Grafana Alert🚨 HTTP 502 Spike: 708 errors in 70 seconds🚨 User Impact: ~2,000 affected requests모든 자동화 도구는 성공을 ..

tcpdump로 네트워크 문제 진단하기: SSH 연결 지연 해결 실전 가이드

Overview최근 GitHub SSH 연결이 비정상적으로 느린 문제를 겪었다. git pull을 실행하면 30초 이상 기다려야 하는 상황이었죠. "네트워크가 느린가?" 하고 넘어갈 수도 있었지만, tcpdump를 사용해 정확한 원인을 찾아냈다.이 글에서는 tcpdump의 기본 사용법부터 실전 문제 해결 사례까지 다룬다. tcpdump란? tcpdump는 네트워크 인터페이스를 통과하는 패킷을 실시간으로 캡처하고 분석하는 커맨드라인 도구이다. 네트워크 문제 진단, 보안 분석, 성능 최적화의 필수 도구이다. 왜 tcpdump를 사용해야 할까?정확한 진단: 추측이 아닌 실제 패킷 데이터로 문제 파악실시간 모니터링: 문제 발생 시점의 트래픽 즉시 확인가벼움: GUI 없이 서버에서도 사용 가능표..

Network 2026.05.05

Kubernetes 스토리지 타입 완벽 가이드: iSCSI, NFS...

OverviewKubernetes에서 퍼시스턴트 스토리지(Persistent Storage)를 구성할 때 가장 먼저 마주하는 질문은 "어떤 스토리지 타입을 선택해야 할까?" 이다. NFS는 간단하지만 성능이 걱정되고, iSCSI는 빠르다지만 설정이 복잡해 보인다. 클라우드 환경이라면 또 다른 선택지들이 있다. 이 글에서는 Kubernetes 환경에서 사용되는 주요 스토리지 타입들의 특징과 장단점을 비교하고, 상황에 맞는 최적의 선택을 할 수 있도록 가이드를 제공한다. 실무 경험을 바탕으로 각 스토리지 타입이 어떤 워크로드에 적합한지 구체적인 사례와 함께 살펴보겠다. 1. 스토리지 타입의 기본 개념 블록 스토리지 (Block Storage) vs 파일 스토리지 (File Storage)스토리지를..

Public Helm Chart Repository 구축하기 — 로컬 차트에서 ArtifactHub까지

Overview사내에서 관리하던 Helm 차트를 여러 클러스터에서 공유하다 보면 결국 한계에 부딪힌다. 한 클러스터용으로 작성한 차트가 다른 클러스터에서도 유용한데, 복사해서 쓰다 보면 버전이 어긋나고 CI가 깨지고, 팀 밖으로는 공유할 방법이 없다. 이번 포스팅에서는 사내 차트 하나를 공개된 Dual Distribution Helm Chart Repository로 추출하는 전체 과정을 정리한다. GitHub Pages(커스텀 서브도메인) 기반의 전통적인 Helm Repo와 OCI Registry(GHCR)에 동시에 배포하고, ArtifactHub에 등록해 카탈로그에서 검색 가능하게 만들며, CI/CD와 거버넌스 체계까지 갖추는 방법이다. 예시로 사용한 차트는 nginx-gateway-cr이다. NGIN..

AWS 모니터링 스택 완전 분석 - CloudWatch vs X-Ray vs 3rd Party 솔루션

Overview현대 클라우드 네이티브 애플리케이션에서 포괄적인 모니터링과 가시성 전략은 시스템 성능, 사용자 경험, 운영 상태에 대한 실시간 인사이트를 제공하는 필수 요소이다. AWS는 강력한 네이티브 모니터링 도구들의 생태계를 제공하는 동시에, 서드파티 솔루션들은 특화된 기능과 멀티클라우드 호환성을 제공한다. 모니터링 환경은 단순한 메트릭 수집을 넘어 분산 추적, 애플리케이션 성능 모니터링(APM), 지능형 알림 시스템을 포괄하는 방향으로 발전했다. 조직들은 CloudWatch와 X-Ray 같은 AWS 네이티브 솔루션과 Datadog, New Relic, Prometheus 기반 스택 같은 서드파티 플랫폼 간의 선택에서 복잡성을 탐색해야 한다. 이 포괄적인 분석에서는 다양한 모니터링 접근법의 기술적..

AWS 2026.04.21

Kubernetes 1.34.x gRPC etcd Warning 버그 상세 분석

OverviewKubernetes v1.34로 업그레이드한 후, kube-apiserver 로그에 아래와 같은 Warning이 30초마다 반복적으로 출력되는 현상이 보고되고 있다.W0407 09:18:02.032615 grpc: addrConn.createTransport failed to connect to {Addr: "10.10.10.17:2379"} Err: connection error: desc = "transport: Error while dialing: dial tcp 10.10.10.17:2379: operation was canceled"이 로그만 보면 etcd 연결이 끊긴 것처럼 보이지만, 실제로는 클러스터 동작에 전혀 영향이 없는 무해한 Warning이다.이번 포스팅에서는 이 Wa..

AWS Lambda vs ECS vs EKS 컨테이너 전략

Overview클라우드 네이티브 애플리케이션 개발에서 컨테이너 전략 선택은 시스템의 성능, 확장성, 비용 효율성을 결정하는 핵심 요소이다. AWS에서는 서버리스 Lambda부터 완전 관리형 Kubernetes인 EKS까지 다양한 컨테이너 실행 옵션을 제공하고 있다. 이 글에서는 AWS Lambda, ECS(Elastic Container Service), EKS(Elastic Kubernetes Service)의 특징과 각각의 스위트 스팟을 분석하고, 실무진에서 고려해야 할 마이그레이션 전략에 대해 살펴보겠다. AWS Lambda vs ECS vs EKS 컨테이너 전략 AWS 컨테이너 서비스 비교 서비스 특성 개요 핵심 특징 비교표항목AWS LambdaAmazon ECSAmazon E..

AWS 2026.04.14

Kubernetes 클러스터 업그레이드하기 (kubespray 2026v.)

OverviewKubernetes 클러스터를 운영하다 보면 보안 패치, 새로운 기능, 인증서 갱신 등의 이유로 주기적인 업그레이드가 필요하다. Kubespray는 upgrade-cluster.yml 플레이북을 통해 etcd → Control Plane → Worker 순서로 자동 업그레이드를 지원하며, 수동으로 각 노드에 접속하여 kubeadm upgrade를 실행할 필요 없이 Ansible 한 줄로 전체 클러스터를 업그레이드할 수 있다. 이번 포스팅에서는 다음의 내용을 중심으로 정리하였다.Kubespray ↔ Kubernetes 버전 매핑 이해etcd 백업 및 복구Kubespray 버전 전환 (v2.28.0 → v2.30.0)upgrade-cluster.yml을 이용한 Kubernetes 업그레이드 (..

반응형