k8s 320

📌 [DaemonSet 심화편 #8] DaemonSet과 PodDisruptionBudget(PDB): 노드 장애 시 서비스 가용성 유지 전략

1️⃣ 개요DaemonSet은 노드마다 하나의 Pod를 실행하는 구조이기 때문에, 노드 재부팅이나 업데이트 등의 이벤트가 발생할 때 전체 서비스의 가용성에 영향을 줄 수 있습니다.이때 **PodDisruptionBudget(PDB)**을 활용하면, 동시에 중단될 수 있는 Pod의 수를 제한하여 가용성을 유지할 수 있습니다.이번 글에서는 DaemonSet과 PDB를 연동하여 안정적인 유지보수 및 노드 관리 전략을 구성하는 방법을 정리합니다.2️⃣ PodDisruptionBudget(PDB)란?  항목 설명 PDB(PodDisruptionBudget)계획된 중단(Drain, Eviction 등) 중에 최소한으로 살아 있어야 하는 Pod 수 또는 비율을 정의하는 리소스대상일반적으로 Deployment, St..

📌 [DaemonSet 심화편 #7] DaemonSet과 Tolerations: Taint가 적용된 노드에 Pod 배포하기

1️⃣ 개요Kubernetes에서는 특정 노드에 Taint(얼룩)를 적용하여 일반적인 Pod가 스케줄되지 않도록 차단할 수 있습니다.DaemonSet은 모든 노드에 배포되는 특성상, Taint가 설정된 노드에도 Pod를 배포해야 할 필요가 있습니다.이 글에서는 Tolerations을 설정하여 DaemonSet이 Taint된 노드에서도 정상적으로 배포되도록 구성하는 방법을 정리합니다.2️⃣ Taint와 Toleration의 관계  항목  설명 Taint노드에 적용되는 제한 규칙. 기본적으로 해당 조건을 허용하지 않은 Pod의 스케줄링을 차단함TolerationTaint를 허용하겠다는 Pod의 설정. Taint 조건과 일치하는 경우 스케줄링 가능 📌 요약하면:Taint: “나는 이 노드에 아무나 못 오게..

📌 [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을 활용하면 노드별..

[Istio 가이드 ep.41] 7부 Istio 최적화 및 실전 운영 전략

🔹 개요이번 글에서는 Istio를 실무에서 안정적으로 운영하기 위한 최적화 전략과 운영 노하우를 살펴보겠습니다.Istio는 강력한 서비스 메시 기능을 제공하지만, 잘못된 설정 및 과도한 리소스 사용으로 인해 운영 비용이 증가할 수 있습니다.이를 방지하려면 Istio의 성능을 최적화하고, 실무 환경에서 안정적인 운영 전략을 수립하는 것이 중요합니다.이 글에서는 Istio 운영 시 고려해야 할 최적화 전략, 성능 튜닝 방법 및 실무 적용 사례를 설명하겠습니다.🔹 1. Istio 운영 최적화의 필요성  문제 유형 설명 과도한 리소스 사용Envoy Proxy가 CPU 및 메모리를 많이 사용하여 운영 비용 증가네트워크 지연(Latency)Sidecar Proxy를 통한 요청 처리로 응답 시간이 증가불필요한 ..

[Istio 가이드 ep.40] 6부 트러블슈팅 #5 | Istio와 Kubernetes 네트워크 정책 충돌 문제 해결

🔹 개요이번 글에서는 Istio와 Kubernetes 네트워크 정책(NetworkPolicy) 간의 충돌 문제를 해결하는 방법을 살펴보겠습니다.Istio는 서비스 메시 레이어에서 트래픽을 제어하지만, Kubernetes 자체 네트워크 정책과 충돌할 경우 예기치 않은 네트워크 차단, 접속 불가, 라우팅 오류 등의 문제가 발생할 수 있습니다.이 글에서는 Istio와 Kubernetes 네트워크 정책이 충돌하는 주요 원인, 디버깅 방법 및 해결책을 설명하겠습니다.🔹 1. Istio와 Kubernetes 네트워크 정책 충돌의 주요 원인  문제 유형  설명 Pod 간 통신 차단Kubernetes 네트워크 정책이 Istio의 트래픽 흐름을 차단Ingress 및 Egress 트래픽 제한 문제Istio Ingre..

728x90