Kubernetes 228

📌 [DaemonSet 심화편 #13] DaemonSet의 이미지 Pull 전략: 이미지 캐시 관리와 정책 구성

1️⃣ 개요DaemonSet은 클러스터의 모든 노드에서 동일한 컨테이너 이미지를 풀링(pull)하고 실행하게 됩니다.이때 이미지가 변경되었을 때 자동으로 최신 버전을 반영하거나, 모든 노드에 동일한 이미지가 유지되도록 보장하려면이미지 Pull 정책(ImagePullPolicy)을 적절하게 구성하는 것이 중요합니다.이번 글에서는 DaemonSet에 설정 가능한 ImagePullPolicy의 종류와 적용 전략, 이미지 캐시 관리 방법을 소개합니다.2️⃣ ImagePullPolicy란? 정책 설명 사용 시점 Always항상 이미지 풀링 (캐시 무시):latest 태그 사용 시 권장IfNotPresent노드에 이미지가 없을 경우에만 풀링일반적인 운영 환경에서 사용Never절대 이미지 풀링하지 않음오프라인 환..

📌 [DaemonSet 심화편 #12] DaemonSet Pod에 Host PID/IPC/UTS 네임스페이스 공유 설정하기

1️⃣ 개요DaemonSet은 각 노드에 하나씩 Pod을 배포하기 때문에, 시스템 수준의 정보를 수집하거나 네임스페이스를 직접 공유해야 하는 경우에 유리합니다.이때 Pod의 네임스페이스 격리 기능을 해제하고, 호스트 네임스페이스(PID, IPC, UTS)를 공유하면노드 상의 프로세스, 네트워크, 호스트 이름 등에 접근할 수 있습니다.이번 글에서는 DaemonSet Pod에서 hostPID, hostIPC, hostUTS 설정을 통해 시스템 정보를 공유받는 방법을 정리합니다.2️⃣ Host 네임스페이스 공유란? 항목  설명 hostPID: true노드의 프로세스 ID 네임스페이스를 공유 (다른 프로세스 목록 접근 가능)hostIPC: true노드의 IPC(프로세스 간 통신) 네임스페이스 공유hostUTS..

📌 [DaemonSet 심화편 #11] DaemonSet Pod의 고가용성을 위한 Anti-Affinity 구성 전략

1️⃣ 개요DaemonSet은 클러스터의 모든 노드에 Pod를 하나씩 배포하는 구조입니다.그러나 클러스터 내에 스케줄링이 중복되거나, 특수한 노드 그룹 간 충돌을 방지하고 싶을 때,Pod 간 격리 또는 분산 전략을 설정하는 것이 필요합니다.이를 위한 대표적인 방법이 Pod Anti-Affinity 설정입니다.이번 글에서는 DaemonSet Pod가 특정 노드에 몰리지 않도록 설정하거나, 다른 워크로드와 격리하는 전략을 소개합니다.2️⃣ Affinity와 Anti-Affinity 기본 정리 유형 설명 대표 키 Node Affinity특정 노드에 배포를 유도하거나 제한nodeAffinityPod Affinity특정 Pod와 같은 노드에 배포되도록 설정podAffinityPod Anti-Affinity특정..

📌 [DaemonSet 심화편 #10] DaemonSet과 Lifecycle Hook: 시작 및 종료 시 작업 자동화

1️⃣ 개요DaemonSet은 노드마다 Pod을 자동으로 배포하는 구조이지만, 때로는 컨테이너가 시작되거나 종료될 때 추가 작업을 자동으로 수행해야 할 수 있습니다.예를 들어, 시작 시 노드 정보를 수집하거나 종료 전 로그를 전송하는 등의 작업이 이에 해당됩니다.이럴 때 유용한 기능이 바로 lifecycle 설정을 통한 Hook 구성입니다.이번 글에서는 DaemonSet에서 lifecycle 설정을 활용하여 Pod의 시작/종료 작업을 자동화하는 방법을 소개합니다.2️⃣ Kubernetes Lifecycle Hook이란? Hook 종류 트리거 시점 설명 postStart컨테이너가 시작된 직후주로 초기화 작업, 외부 알림, 준비 동작 수행preStop컨테이너가 종료되기 직전로그 정리, 연결 해제, 상태 ..

📌 [DaemonSet 심화편 #9] DaemonSet 리소스 관리: CPU와 메모리 제한 설정 전략

1️⃣ 개요DaemonSet은 클러스터의 모든 노드에서 하나씩 실행되는 구조이기 때문에, 리소스를 적절히 설정하지 않으면 전체 클러스터에 부담을 줄 수 있습니다.특히 노드 수가 많아질수록 전체 DaemonSet의 리소스 소비량도 선형 증가하게 되므로, CPU와 메모리의 요청(Request) 및 제한(Limit)을 명확히 설정하는 것이 중요합니다.이번 글에서는 DaemonSet 컨테이너의 리소스를 효율적으로 설정하는 방법과 구성 예시를 소개합니다.2️⃣ Kubernetes 리소스 관리 기본 용어 정리  항목 설명 Request컨테이너가 실행되기 위해 보장받아야 하는 최소 자원 (스케줄링 기준)Limit컨테이너가 사용할 수 있는 최대 자원 (초과 시 throttling 또는 종료 가능) 📌 요약 정리:R..

📌 [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장기 무응답 상태서비스는 살아있지만 응답이 없는 경우..

728x90