2025/03/21 18

📌 [DaemonSet 심화편 #6] DaemonSet 롤아웃 관리 및 Canary 배포 전략 구성

1️⃣ 개요 DaemonSet은 클러스터 전 노드에 Pod를 배포하는 구조이기 때문에, 전체 노드에 대한 변경을 한 번에 적용할 경우, 서비스 안정성에 영향을 줄 수 있습니다.이럴 때 유용한 방법이 일부 노드에서 먼저 변경 사항을 배포하여 확인한 뒤 전체 적용을 진행하는 Canary(카나리) 배포 전략입니다. 이번 글에서는 DaemonSet에 대한 롤아웃 상태를 관리하고, Canary 방식으로 단계적으로 배포하는 방법을 정리합니다. 2️⃣ DaemonSet 롤아웃 상태 확인 방법kubectl rollout status daemonset  예:kubectl rollout status daemonset node-exporter 📌 설명 • 현재 롤링 업데이트가 어느 노드까지 완료되었는지 실시간으로 확인할 ..

📌 [DaemonSet 심화편 #5] DaemonSet과 Host 네트워크 및 호스트 경로 마운트 구성

1️⃣ 개요 DaemonSet은 노드마다 하나씩 실행되는 특성 덕분에 호스트 환경과 직접 상호작용하는 서비스 배포에 매우 적합합니다.이런 경우 HostNetwork를 통해 노드의 네트워크를 직접 사용하거나, HostPath를 통해 노드의 파일 시스템에 접근해야 할 수 있습니다. 이번 글에서는 DaemonSet에서 HostNetwork와 HostPath를 설정하고 안전하게 운영하는 방법을 설명합니다. 2️⃣ HostNetwork와 HostPath란?항목설명대표 활용 사례HostNetworkPod가 노드의 IP 주소와 네트워크 스택을 직접 사용Node Exporter, Log ForwarderHostPathPod가 노드의 파일 경로를 직접 마운트하여 접근로그 수집, 시스템 정보 접근✅ 이 기능들은 노드 수준..

📌 [DaemonSet 심화편 #4] DaemonSet Pod 재시작 전략과 장애 복구 패턴

1️⃣ 개요 DaemonSet은 클러스터의 모든 노드에 에이전트 또는 특정 서비스를 자동으로 배포할 수 있는 구조입니다.하지만 DaemonSet으로 배포된 Pod가 장애로 인해 CrashLoopBackOff 상태에 빠지거나 응답하지 않을 경우, 적절한 재시작 전략이 설정되어 있지 않으면 복구가 지연될 수 있습니다. 이번 글에서는 DaemonSet Pod의 상태를 감지하고 자동 복구할 수 있도록 Liveness Probe 및 재시작 전략을 설정하는 방법을 정리합니다. 2️⃣ DaemonSet Pod의 장애 유형과 대응 전략장애 유형설명대응 방법CrashLoopBackOff애플리케이션이 시작되자마자 종료되거나 실패함재시작 정책 + Liveness Probe장기 무응답 상태서비스는 살아있지만 응답이 없는 경우..

📌 [DaemonSet 심화편 #3] 특정 노드에서만 DaemonSet 실행하는 방법

1️⃣ 개요 DaemonSet은 기본적으로 클러스터의 모든 노드에서 Pod를 실행하지만, 상황에 따라 특정 노드에만 DaemonSet을 제한적으로 배포해야 할 때가 있습니다. 예를 들어, 모니터링 전용 노드나 GPU 노드, 특정 지역(zone)에 속한 노드에만 에이전트를 설치하고 싶은 경우입니다.이번 글에서는 DaemonSet을 특정 노드에만 실행하도록 제어하는 방법을 정리합니다. 2️⃣ 활용 가능한 주요 설정 방식 요약방법주요 설정 키특징Node SelectornodeSelector단순 라벨 기반 매칭 (정확한 라벨 필요)Node Affinityaffinity.nodeAffinity라벨 기반 조건식 작성 가능 (복잡한 조건 설정 가능)Taints & Tolerationstaints + toleratio..

📌 [DaemonSet 심화편 #2] DaemonSet 업데이트 전략과 무중단 롤링 배포 적용

1️⃣ 개요 DaemonSet은 클러스터의 모든 노드에 Pod를 배포하는 강력한 도구이지만, 업데이트 전략을 적절히 구성하지 않으면애플리케이션이 일시적으로 중단되거나 비효율적으로 배포될 수 있습니다. 이번 글에서는 DaemonSet의 업데이트 전략의 개념을 이해하고, 무중단 롤링 배포(Rolling Update)를 적용하는 방법을 소개합니다.  2️⃣ DaemonSet 업데이트 전략이 필요한 이유상황문제점업데이트 전략 필요성이미지 버전 변경기존 Pod가 중단되고 새로 생성됨순차적 롤링 배포 필요환경 변수 변경모든 노드에서 한 번에 재시작트래픽 손실 가능설정 누락 시업데이트 적용되지 않음전략 명시 필요✅ 업데이트 전략을 명확히 설정하지 않으면 수동 업데이트를 반복해야 하며, 장애나 서비스 중단 가능성이 커..

📌 [DaemonSet 심화편 #1] DaemonSet의 개념과 일반적인 활용 사례

1️⃣ 개요 Kubernetes에서 DaemonSet은 클러스터의 모든 노드에서 특정 Pod를 실행하는 데 사용되는 컨트롤러입니다.일반적으로 모니터링, 로그 수집, 네트워크 관리와 같은 노드 기반 서비스를 배포할 때 활용됩니다. 이번 글에서는 DaemonSet의 기본 개념과 일반적인 활용 사례를 정리하겠습니다. 🚀 2️⃣ DaemonSet이란? 📌 DaemonSet의 주요 특징특징설명모든 노드에서 실행클러스터 내 모든 노드에서 동일한 Pod가 실행됨노드 추가 시 자동 배포새로운 노드가 추가되면 자동으로 해당 Pod가 실행됨노드별 단일 Pod 유지각 노드에서 하나의 DaemonSet Pod만 실행됨수동 삭제 없이 유지DaemonSet을 삭제할 때까지 Pod가 유지됨✅ DaemonSet을 활용하면 노드별..

EP02. eBPF란 무엇인가? | Cilium의 핵심 엔진 이해하기

이 글에서는 Cilium의 핵심 기술인 eBPF(extended Berkeley Packet Filter)에 대해 알아보겠습니다. eBPF가 무엇인지, 기존 네트워킹 방식과 어떤 차이가 있는지, 그리고 이 기술이 네트워크, 보안, 모니터링 영역에 어떤 혁신을 가져왔는지 살펴보겠습니다. 기술적인 내용을 쉽게 이해할 수 있도록 실제 사례와 비유를 통해 설명하겠습니다.📌 eBPF의 정의와 역사eBPF는 리눅스 커널 내에서 샌드박스 환경으로 실행되는 프로그램을 작성할 수 있게 해주는 기술입니다. 커널을 수정하지 않고도 커널의 동작을 확장하고 프로그래밍할 수 있게 해주는 혁신적인 기술입니다.✅ eBPF의 시작과 발전eBPF는 원래 네트워크 패킷 필터링을 위해 만들어진 BPF(Berkeley Packet Filt..

EP01. CNI란 무엇인가? | 쿠버네티스 네트워크의 시작

이 글에서는 쿠버네티스 네트워킹의 핵심 개념인 CNI(Container Network Interface)에 대해 알아보고, 다양한 CNI 플러그인들의 특징과 차이점, 그리고, 최근 주목받고 있는 eBPF 기반 CNI인 Cilium의 장점에 대해 살펴보겠습니다. 쿠버네티스를 처음 접하는 분들도 이해할 수 있도록 기본 개념부터 차근차근 설명하겠습니다.📌 CNI(Container Network Interface)란?CNI는 쿠버네티스와 같은 컨테이너 오케스트레이션 시스템에서 네트워크 리소스를 설정하고 관리하기 위한 표준 인터페이스입니다. 컨테이너 간 통신, 외부와의 통신 등 컨테이너 네트워킹의 모든 측면을 처리합니다. ✅ CNI의 기본 정의 CNI는 Linux 컨테이너를 위한 네트워킹 표준으로, Cloud ..

[KubeVirt Ep. 10] kubevirt 운영 고려사항 | 리소스, 모니터링, 보안

이 글에서는 KubeVirt를 실제 프로덕션 환경에서 운영할 때 고려해야 할 다양한 측면들을 살펴보겠습니다. VM의 리소스 할당 최적화부터 모니터링, 보안에서 발생할 수 있는 문제점과 해결 방법까지 상세히 설명합니다. Docker Desktop 환경에서의 실습과 함께 실제 멀티노드 클러스터에서 적용할 수 있는 모범 사례도 함께 알아봅니다. 📌 VM 리소스 할당 및 최적화KubeVirt VM은 Kubernetes 클러스터의 리소스를 소비합니다. 최적의 성능과 효율성을 위해 리소스 할당을 신중하게 계획해야 합니다.✅ CPU 및 메모리 할당 이해하기VM의 CPU 및 메모리 할당은 VM 성능에 직접적인 영향을 미칩니다.apiVersion: kubevirt.io/v1kind: VirtualMachinemetad..

[KubeVirt Ep. 9] kubevirt에서 VM 관리하기 | 라이프사이클, 마이그레이션, HA

이 글에서는 KubeVirt 환경에서 가상 머신의 라이프사이클 관리, 라이브 마이그레이션, 고가용성(HA) 설정 등 운영 관리 측면에 초점을 맞춰 알아보겠습니다. Docker Desktop 환경에서의 VM 라이프사이클 관리부터 실제 프로덕션 환경에서 활용할 수 있는 스케줄링 및 로깅 기법까지 살펴봅니다.📌 VM 라이프사이클 관리KubeVirt는 기본적으로 VM의 전체 생명주기를 관리하는 기능을 제공합니다. 이는 VM의 생성부터 시작, 일시 중지, 중지, 재시작 및 삭제까지 포함합니다.   ✅ VM 상태(State) 이해하기KubeVirt VM은 다음과 같은 주요 상태를 가질 수 있습니다:Running: VM이 실행 중인 상태Stopped: VM이 중지된 상태Paused: VM이 일시 중지된 상태Migr..

728x90