DevOps/Kubernetes 4

Kubernetes Master(Node)에서 Pod 스케줄링 방지하기

Kubernetes에서 Master Node(Control Plane)는 클러스터의 중심 역할을 수행합니다. 통상적으로 이 노드에는 일반 워크로드(Pod)를 배치하지 않지만, 특별한 설정이 없다면 스케줄될 수 있습니다. 이 포스트에서는 Master Node에서 일반 Pod가 실행되지 않도록 설정하는 방법을 안내합니다.🧱 핵심 개념: TaintKubernetes는 특정 노드에 "Taint"(오염값)를 부여해, 조건을 만족하지 않는 Pod가 해당 노드에 스케줄되지 않도록 합니다.Master Node는 아래와 같은 Taint가 기본적으로 설정되어 있습니다:kubectl describe node 예시:Taints: node-role.kubernetes.io/control-plane:NoSchedule이 설정이..

DevOps/Kubernetes 2025.04.09

Kubernetes CNI 비교: Calico vs Flannel - 당신의 클러스터에 더 적합한 선택은?

Kubernetes 클러스터를 구성할 때 가장 먼저 마주하게 되는 선택 중 하나는 어떤 네트워크 플러그인을 사용할 것인가입니다.바로 이 지점에서 많은 개발자와 운영자들이 고민하게 됩니다.그중에서도 가장 많이 사용되는 CNI(Container Network Interface) 플러그인은 Calico와 Flannel입니다.하지만 이 둘은 단순히 기능의 차이만 있는 것이 아니라, 철학, 성능, 확장성, 보안 정책 적용 방식에서도 꽤나 다른 노선을 택하고 있습니다.이 글에서는 두 CNI의 개념, 작동 방식, 실무 사용성까지 상세히 비교하며, 여러분의 클러스터에 어떤 선택이 더 적합할지 고민해보면 좋겠습니다.🧠 먼저, CNI란?Kubernetes는 기본적으로 Pod 네트워킹 기능을 직접 제공하지 않습니다.따라서..

DevOps/Kubernetes 2025.04.06

Kubernetes 환경에서 InfluxDB를 자동화된 방식으로 배포하기

이 글에서는 Kubernetes 클러스터에서 InfluxDB를 NFS 기반 퍼시스턴트 스토리지를 활용하여 자동화된 방식으로 배포하고 초기 설정까지 완료하는 방법을 다룹니다. 특히 NFS 서버를 활용해 데이터를 외부에 안전하게 저장하는 구성하는 것이 핵심입니다~!📌 기본 구성 정보NFS Server: 192.168.0.99스토리지 경로: /mnt/influxdb📁 1. PersistentVolume & PersistentVolumeClaim 구성InfluxDB 데이터를 저장할 볼륨을 NFS를 통해 구성합니다.apiVersion: v1kind: PersistentVolumemetadata: name: db-influxdb-pv labels: type: nfsspec: capacity: s..

DevOps/Kubernetes 2025.04.05

Ubuntu 환경에서 Kubernetes 설치 및 클러스터 구성 가이드

서비스가 확장되다 보면 자연스럽게 분산 시스템에 대한 고민이 시작되고, Kubernetes(쿠버네티스) 같은 오케스트레이션 도구에 대한 필요성을 느끼게 됩니다. 이 글에서는 Ubuntu 환경에서 Kubernetes를 설치하고 클러스터를 구성하는 전체 과정을 정리합니다.🧰 사전 준비: 하드웨어 및 시스템 요구사항Kubernetes 공식 문서 기준, 노드별 권장 사양은 다음과 같습니다.마스터 노드 권장 사양CPU: 멀티코어RAM: 8GB 이상스토리지: SSD 또는 NVMe네트워크: 기가비트 이더넷 이상워커 노드 권장 사양CPU: 멀티코어RAM: 4GB 이상운영 체제는 Ubuntu 20.04 LTS 이상을 권장합니다.🔥 1. 방화벽 설정 및 필수 패키지 설치sudo apt updatesudo apt ins..

DevOps/Kubernetes 2025.04.04