본문 바로가기
반응형

분류 전체보기903

Azure AKS 요금제와 운영 선택지 정리 AKS는 “요금제 + 운영 방식 + 네트워크”를 함께 선택하는 서비스단순히 “관리형 Kubernetes”를 선택하는 서비스가 아니다.실제로 AKS를 구성할 때는 항상 다음 세 가지를 동시에 결정하게 된다.운영 모델 (기존 AKS vs Automatic)컨트롤 플레인 요금제(SKU)네트워크 방식이 글은 그중에서도 기존 AKS(Basic / Default)를 기준으로요금제와 네트워크, 그리고 운영환경에서의 현실적인 선택 흐름을 정리한다.1. AKS의 큰 구조부터 정리AKS는 먼저 운영 모델로 나뉜다.기존 AKS (Basic / Default)AKS Automatic이 글의 범위는 기존 AKS다.기존 AKS의 핵심 개념은 명확하다.Azure는 Kubernetes 컨트롤 플레인만 관리하고, 노드와 운영 판단은 .. 2026. 2. 5.
왜 여러 회사에서 AKS는 불안정하고 EKS는 안정적으로 느껴졌을까 “왜 AKS는 자잘한 오류가 많고, EKS는 더 안정적으로 느껴질까?”쿠버네티스를 여러 회사에서 운영해 본 엔지니어들 사이에서 자주 나오는 말이 있다.“이상하게 AKS는 자잘한 문제가 많고,EKS는 그냥 조용히 잘 돌아간다.” 1. 반복된 실무 체감: “우연이 아니라 패턴”개인적으로 여러 회사를 거치며 공통적으로 느낀 점은 명확했다.AKS:작은 오류가 잦음“완전히 죽진 않았는데 뭔가 이상한 상태”가 자주 발생운영자가 계속 개입해야 함EKS:평소에는 매우 조용함장애가 아예 없다는 건 아니지만 빈도가 낮음문제가 생기면 비교적 명확한 원인이 드러남이 체감이 여러 조직에서 반복되었다면,이는 개인의 운이나 환경 문제가 아니라 플랫폼 구조의 차이로 보는 게 합리적이다.2. SLA 수준에서 이미 시작되는 차이기본.. 2026. 2. 5.
서버 실행 모델(spring,nodejs) 멀티스레딩 Node.js · 멀티스레딩 · 멀티프로세싱 · Java SpringNode.js의 이벤트 루프를 이해하고 나면자연스럽게 이런 질문이 이어진다.멀티스레드는 정확히 뭐가 다른가?멀티프로세스는 왜 안전한가?Node.js 워커 스레드는 어디에 속하는가?자바 스프링은 왜 구조가 완전히 다른가?이 글은 **“요청을 어떻게 처리하고, CPU와 메모리를 어떻게 쓰는가”**라는단 하나의 기준으로 이 모든 모델을 정리한다.1. 실행 모델을 나누는 핵심 기준모든 서버 모델은 결국 이 두 질문으로 나뉜다.요청을 처리하는 실행 단위는 무엇인가?스레드?이벤트 루프?메모리는 어떻게 공유하는가?공유?격리?이 두 축으로 보면 구조가 명확해진다.2. 멀티스레딩(Multi-threading)정의하나의 프로세스 안에서 여러 스레드가 메모.. 2026. 2. 2.
Node.js 이벤트 루프 정리(콜 스택 · 백그라운드 · 태스크 큐 · Promise · 엔진과 런타임) Node.js를 공부하다 보면 반드시 헷갈리는 개념이 있다.바로 이벤트 루프(Event Loop), 콜 스택(Call Stack), 태스크 큐(Task Queue), 그리고 백그라운드다.책에서는 종종 “동작”부터 설명하고,독자는 “구조를 모르는데 이게 왜 이렇게 되지?”라는 의문을 갖게 된다.이 글에서는 다음 질문에 답한다.이벤트 루프는 정확히 뭘 하는가?콜 스택과 태스크 큐의 역할은 무엇인가?백그라운드는 어디에 속하는가?setTimeout(fn, 0)은 왜 항상 나중에 실행되는가?Promise / async·await 는 왜 더 먼저 실행되는가?엔진과 런타임은 무엇이 다른가?1. 자바스크립트는 어디에서 실행되는가결론부터 말하면, 자바스크립트 코드는 오직 콜 스택에서만 실행된다.JS 코드 실행 장소 = .. 2026. 2. 2.
Kubernetes AWS ALB/NLB 구성 yaml 1. AWS ALB Ingress 구성1.1 아키텍처 개요 특징✅ hostNetwork 불필요✅ externalTrafficPolicy 무관 (Service 안 거침)✅ Source IP: X-Forwarded-For 헤더로 전달1.2 Target Type 비교IP Mode (기본/권장)alb.ingress.kubernetes.io/target-type: ipALB → Pod IP 직접 (Service 거치지 않음) 항목 설명트래픽 경로ALB → Pod IP 직접Service 타입ClusterIP로 충분hostNetwork불필요externalTrafficPolicy무관요구사항AWS VPC CNI (Pod가 VPC IP 사용)Instance Modealb.ingress.kubernetes.io.. 2026. 1. 26.
Kubernetes hostNetwork & externalTrafficPolicy - AWS ALB, NLB 에서 사용하는가? 1. hostNetwork1.1 개요hostNetwork: true는 Pod가 호스트(노드)의 네트워크 네임스페이스를 직접 사용하도록 하는 설정. 1.2 동작 비교hostNetwork: false (기본값) hostNetwork: true 1.3 설정 예시apiVersion: v1kind: Podmetadata: name: hostnetwork-podspec: hostNetwork: true dnsPolicy: ClusterFirstWithHostNet # hostNetwork 사용 시 필수 containers: - name: app image: nginx ports: - containerPort: 80 # 노드의 80 포트에 직접 바인딩1.4 특징 비교 항목 hostNe.. 2026. 1. 26.
Kubernetes Windows 지원: 기능 비교와 스케줄링 방식 정리 이 글은 Kubernetes 공식 문서인windows/introwindows/user-guide를 기준으로 Windows 지원을 기능 단위로 비교하고,Windows 파드가 실제로 어떻게 스케줄링되는지를 기술적으로 정리한다.1. Kubernetes Windows 지원 기능 비교클러스터 구성 요소 구성 요소LinuxWindowsControl Plane✅ 지원❌ 미지원Worker Node✅ 지원✅ 지원혼합 클러스터–✅ 가능Windows는 Worker Node 전용Control Plane 컴포넌트(kube-apiserver, etcd 등)는 Linux 필수컨테이너 런타임항목LinuxWindowscontainerd✅✅Docker❌ (deprecated)❌격리 방식cgroups + namespacesProcess .. 2026. 1. 23.
쿠버네티스 캐스케이딩 삭제(Cascading Deletion) 쿠버네티스에서 리소스를 삭제할 때,“부모 리소스를 지우면 자식 리소스는 어떻게 될까?”이 동작을 결정하는 메커니즘이 바로 **캐스케이딩 삭제(Cascading Deletion)**다.운영 중 Deployment, Job, ReplicaSet을 삭제하다 보면Pod가 함께 사라지거나, 남아 있거나, 삭제가 멈춰 있는 상황을 자주 마주하게 된다.이 글에서는 그 이유를 구조적으로 정리한다.1. 캐스케이딩 삭제란?캐스케이딩 삭제는부모 리소스를 삭제할 때, 그에 의해 관리되는 하위 리소스를 함께 삭제할지 여부를 결정하는 방식이다.쿠버네티스는 리소스 간 관계를 OwnerReference로 관리한다.예시 구조:Deployment └─ ReplicaSet └─ PodDeployment를 삭제하면:ReplicaSe.. 2026. 1. 22.
Kubernetes는 가상화 도구인가? 결론부터 말하자면 아니다. 쿠버네티스를 공부하다 보면 자연스럽게 이런 질문에 도달한다.containerd는 쿠버네티스의 커널인가?containerd는 가상화 OS인가?커널을 가상화하는 도구라고 볼 수 있나?그렇다면 Kubernetes 자체는 가상화인가?이 글은 위 질문들을 하나의 사고 흐름으로 정리해,개념을 명확히 분리하는 것을 목표로 한다.1. 리소스를 실제로 제어하는 주체는 누구인가쿠버네티스에서 파드에 CPU·메모리 제한을 설정하면,이를 직접 집행하는 주체는 kubelet이 아니다.실제 집행자: 리눅스 커널집행 기술: cgroup정책 전달자: kubeletkubelet은 파드 스펙을 해석해“이 컨테이너는 CPU 500m, 메모리 1Gi”라는 정책을 커널에 전달할 뿐이다.즉, 리소스 제어의 본질은 언제.. 2026. 1. 22.
Kubernetes에서 Stateful 앱에 Blue-Green 배포를 적용할 수 있을까? 들어가며Kubernetes를 운영하다 보면 이런 고민을 하게 됩니다."우리 앱은 데이터를 로컬에 저장해야 하는데, Blue-Green 배포도 하고 싶어요"결론부터 말하면, PVC 고정 + HPA + Blue-Green을 동시에 만족하는 깔끔한 방법은 없습니다. 하지만 이 문제를 해결하는 과정에서 Kubernetes 배포 전략의 본질을 이해할 수 있었습니다.Kubernetes 워크로드 리소스 복습먼저 기본기를 짚고 가겠습니다.네 가지 주요 워크로드리소스핵심 목적스케줄링ReplicaSetPod 복제본 수 유지임의 노드DeploymentReplicaSet + 롤링 업데이트/롤백임의 노드StatefulSet상태 유지 (고유 ID, PVC)순차적DaemonSet모든 노드에 1개씩노드당 1개 핵심은 Deployme.. 2026. 1. 19.
Kubernetes Pod 부팅 스파이크, 어떻게 해결할까? 이전에 부팅스파이크 조절이 어려웠는데 kubernetes 1.35v 가 나오면서 새 기능인 In-Place Resize 으로 조절이 가능해졌습니다! 그에 대한 글 작성 시작!~ 합니다! 들어가며Kubernetes에서 Pod을 운영하다 보면 한 가지 골치 아픈 문제를 만나게 됩니다. 바로 부팅 스파이크(Boot Spike) 입니다.Pod이 시작될 때 CPU 사용량이 급격히 치솟았다가 안정화되는 현상인데요, 특히 JVM 기반 애플리케이션(Spring Boot, Java)에서 자주 발생합니다. 📊 CPU 사용량 변화300m100m50m⚡ 스파이크 ▲ 시작 ▲ Ready → 정상 운영 이 글에서는 부팅 스파이크가 왜 문제가 되는지, 그리고 어떻게 해결할 수 있는지 정리해보겠습니다.부팅 스파이크가 .. 2026. 1. 15.
Kubernetes v1.35 변화 정리 December 17, 2025 에 kubernetes v1.35 이 출시 되었습니다. 개인적으로 기대했던 In-Place Pod Resize 이 GA로 되어서이전에 pod 실행, 재실행시 부팅 스파이크로 인한 request 조절을 못했는데 할수있게 되었습니다! 이에 대한 자세한내용은 https://rainbound.tistory.com/1357 에서 확인하세요! 이 버전은 “무엇을 더 제공할 것인가”보다 “무엇을 끝내고, 어떤 방향으로 정렬할 것인가” 입니다.핵심 키워드는 다음 네 가지다.재시작 없는 리소스 변경런타임 구조 정리리소스 제어의 예측 가능성리눅스 네이티브 네트워크 스택으로의 수렴1. v1.35에서 새로 추가·안정화된 기능1️⃣ In-Place Pod Resize (GA)기능 요약실행 중인.. 2026. 1. 15.
반응형