Kubernetes 스토리지 이해하기 (2): PV/PVC 실전 활용과 관리

들어가며 이전 글에서는 Kubernetes 볼륨의 개념과 PV, PVC, StorageClass, CSI 드라이버의 동작 원리를 살펴봤습니다. 이번 글에서는 실전 활용과 운영에 초점을 맞춥니다: AccessModes: 누가 어떻게 접근할 수 있나? “다른 Pod에서도 이 볼륨을 쓸 수 있나요?”라는 질문의 답은 AccessMode에 달려 있습니다. 세 가지 AccessMode AccessMode 약어 의미 ReadWriteOnce RWO 단일 노드에서 읽기/쓰기 ReadOnlyMany ROX 여러 노드에서 읽기 … 더 읽기

Kubernetes 스토리지 이해하기 (1): Pod는 데이터를 어떻게 저장하고 유지하는가

들어가며 이전 글에서는 Kubernetes에서 Pod가 어떻게 생성되고 실행되는지 살펴봤습니다. Scheduler가 노드를 선택하고, kubelet이 컨테이너를 실행하는 과정을 알게 됐죠. 그런데 한 가지 문제가 있습니다. Pod가 죽으면 그 안의 데이터도 함께 사라집니다. 데이터베이스를 Pod로 운영한다고 생각해보세요. Pod가 재시작될 때마다 데이터가 날아간다면 서비스가 될 수 없겠죠. 그래서 Kubernetes는 Pod의 라이프사이클과 독립적인 영구 저장소(Persistent Storage)를 제공합니다. 이 글에서는 다음 … 더 읽기

Kubernetes 컴퓨팅 이해하기 (1): Pod는 어떻게 배치되고 실행되는가

들어가며 이전 글에서는 Kubernetes 클러스터 내부에서 Pod끼리 어떻게 통신하는지 살펴봤습니다. CNI 플러그인이 네트워크를 구성하고, CoreDNS가 서비스 디스커버리를 담당한다는 것을 알게 됐죠. 그런데 그 Pod는 애초에 어떻게 생성되고 실행되는 걸까요? kubectl apply -f deployment.yaml을 실행하면 마법처럼 Pod가 생성됩니다. 하지만 그 사이에는 여러 구성요소가 협력하는 복잡한 과정이 있습니다. 이 글에서는 다음 질문들에 답합니다: 전체 그림: 컨트롤 플레인과 … 더 읽기

Kubernetes 네트워크 이해하기 (2): Pod 간 통신과 서비스 디스커버리

들어가며 이전 글에서는 외부 사용자의 요청이 어떻게 Kubernetes 클러스터 내부의 Pod까지 도달하는지 살펴봤습니다. 외부 LB → NodePort → Ingress Controller → Service → Pod 으로 이어지는 흐름이었죠. 그런데 한 가지 의문이 남습니다. 클러스터 내부에서 Pod끼리는 어떻게 통신할까요? 예를 들어, 주문 서비스 Pod이 사용자 서비스 Pod의 API를 호출할 때 실제로 어떤 일이 벌어질까요? 이 글에서는 다음 … 더 읽기

Kubernetes 네트워크 이해하기 (1): 외부 요청이 Pod에 도달하기까지

서론 Kubernetes를 사용하다 보면 “내 요청이 정확히 어떤 경로로 Pod까지 도달하는 걸까?”라는 의문이 생깁니다. kubectl apply로 Ingress와 Service를 배포하면 마법처럼 트래픽이 흘러가지만, 문제가 생겼을 때 어디를 봐야 할지 막막해지는 경험을 해보셨을 겁니다. 이 글에서는 외부 사용자의 HTTP 요청이 Kubernetes 클러스터 내부의 Pod까지 도달하는 전체 과정을 단계별로 분석합니다. 각 구간에서 어떤 컴포넌트가 어떤 역할을 하는지, 그리고 … 더 읽기

2026년 연말정산(2025년 귀속) 핵심 총정리: 변경사항부터 놓치기 쉬운 서류까지

같은 연봉인데 왜 누구는 환급받고, 누구는 토해낼까? 매년 1~2월이 되면 직장인들 사이에서 빠지지 않는 대화 주제가 있습니다. “나 이번에 50만원 돌려받았어.” “난 오히려 20만원 더 내야 해…” 비슷한 연봉을 받는데 왜 이런 차이가 생길까요? 답은 연말정산을 얼마나 잘 챙겼느냐에 있습니다. 특히 2025년 귀속 연말정산(2026년 초 진행)은 결혼 세액공제 신설, 헬스장·수영장 소득공제 확대 등 변경사항이 많습니다. … 더 읽기

AWS EC2 모니터링 가이드 (3) – CloudWatch 대시보드와 로그 수집으로 완성하기

흩어진 메트릭을 한 화면에 Part 1에서 기본 모니터링과 CPU 알람을, Part 2에서 CloudWatch Agent로 메모리/디스크 모니터링을 설정했습니다. 이제 CPU, 메모리, 디스크, 네트워크 메트릭을 수집하고 있지만 확인하려면 여기저기 클릭해야 합니다. 이번 글에서는 CloudWatch 대시보드로 모든 메트릭을 한 화면에 정리하고, CloudWatch Logs로 서버 로그까지 수집해서 EC2 모니터링 시스템을 완성합니다. CloudWatch 대시보드 만들기 대시보드는 여러 메트릭을 위젯 형태로 … 더 읽기

AWS EC2 모니터링 가이드 (2) – CloudWatch Agent로 메모리/디스크 모니터링하기

메모리 사용률은 어디서 볼 수 있을까? 모니터링 가이드 Part 1에서 EC2 기본 모니터링과 CloudWatch 알람을 설정했습니다. 그런데 막상 서버를 운영하다 보면 가장 궁금한 건 따로 있습니다. “메모리가 얼마나 남았지? 디스크가 꽉 차면 어떡하지?” t3.micro처럼 메모리가 1GB뿐인 인스턴스에서 WordPress와 MySQL을 Docker로 돌리고 있다면, 메모리 부족은 현실적인 걱정입니다. 하지만 EC2 기본 모니터링에서는 메모리 사용률과 디스크 용량을 제공하지 … 더 읽기

AWS EC2 모니터링 가이드 (1) – CloudWatch로 서버 상태 확인하기

EC2를 띄웠는데, 서버가 죽으면 어떻게 알지? 이전 글에서 t3.micro에 Ubuntu를 올리고 Docker Compose로 WordPress와 MySQL을 띄웠습니다. 블로그가 잘 돌아가고 있는 것 같긴 한데, 문득 이런 생각이 듭니다. “CPU가 100%를 찍으면? 디스크가 꽉 차면? 내가 모르는 사이에 서버가 멈춰버리면?” 온프레미스 서버라면 모니터링 도구를 직접 설치해야 하지만, AWS는 다릅니다. EC2를 생성하는 순간부터 기본적인 모니터링이 자동으로 시작됩니다. 이 … 더 읽기

Apple Silicon Mac에서 Netty DNS 해석 실패 해결하기(feat. Gradle 의존성 Configuration 이해하기)

서론 Apple silicon을 사용하는 Mac에서, 사내 VPN과 Spring Cloud Gateway 앱을 실행했을 때 Netty DNS 관련 오류를 겪었던 내용입니다. 더 나아가서 Spring WebFlux를 사용할 때 Netty가 시스템 DNS를 무시하는 이유와 해결법을 알아봅니다. VPN은 연결됐는데, Spring Cloud Gateway 앱에서만 DNS 오류가 난다? 사내 VPN에 연결한 상태에서 터미널로 ping이나 traceroute를 실행하면 시스템 DNS를 사용하여 내부 도메인이 잘 … 더 읽기