Node.js 애플리케이션을 Kubernetes에 Ingress로 배포하는 전략

Kubernetes에 Node.js 백엔드 애플리케이션을 배포할 때, 단순히 서비스(Service)와 디플로이먼트(Deployment)만 구성해서는 외부에서 접근하기 어렵습니다. 특히 프로덕션 환경에서는 Ingress Controller를 활용해 도메인 기반 라우팅, TLS 인증서 연동, 접근 제어까지 구성하는 것이 일반적입니다. 이번 글에서는 Helm으로 Ingress-NGINX를 설치하고, Node.js 애플리케이션을 Ingress 리소스를 통해 외부 노출하는 전략을 단계별로 소개합니다. 외부에서는 NGINX로 들어온 요청이 Kubernetes의 Ingress를 거쳐 NodePort에 연결되는 구조이며, … Read more

Kubernetes에서 Master Node에 Pod가 생성되지 않도록 설정하는 방법🚫

Kubernetes에서 Master Node(Control Plane)는 클러스터 제어를 담당하는 핵심 노드입니다. 일반적으로 Master Node에는 Pod를 배치하지 않지만, 설정에 따라 워커처럼 동작할 수 있습니다. 이 글에서는 Master(Node)에서 일반 워크로드가 실행되지 않도록 설정하는 방법을 소개합니다. 📌 기본 원리: Taint Kubernetes는 노드에 “taint(오염)”을 부여하고, 해당 taint를 허용하지 않는 일반 Pod는 해당 노드에 스케줄되지 않습니다. 기본적으로 Master Node에는 다음과 같은 taint가 … Read more

Helm 설치: Kubernetes 패키지 관리 도구

✨ Helm: Kubernetes 패키지 관리 도구 / Package Manager 설치 및 사용법 🎉 Helm은 Kubernetes 환경에서 애플리케이션 배포와 관리를 간편하게 만들어주는 패키지 관리자입니다.Helm is a powerful package manager for Kubernetes that helps you deploy and manage applications effortlessly.이번 글에서는 Helm의 기본 개념부터 설치 및 주요 사용법까지 단계별로 알아보겠습니다. 🚀 1. Helm이란? / What is Helm? … Read more

Kubernetes 네트워크 CNI 비교: Calico vs Flannel

Kubernetes 클러스터에서 Pod 간 네트워크 통신을 가능하게 해주는 CNI 플러그인 중 가장 널리 사용되는 Calico와 Flannel의 차이점에 대해 자세히 살펴봅니다. 🌐 Flannel: Simple, Lightweight ✅ 특징 🎯 적합한 상황 🔐 Calico: 고성능 + 보안 중심 ✅ 특징 🎯 적합한 상황 ⚖️ 비교표 항목 Flannel Calico 네트워크 방식 VXLAN (오버레이) BGP, IP-in-IP, eBPF 성능 보통 높음 … Read more

error execution phase check-etcd: etcd cluster is not healthy: failed to dial endpoint

error execution phase check-etcd: etcd cluster is not healthy: failed to dial endpoint  위 에러가 kubernetes에서 발생하면 기존 master node가 etcd에서 제거되지 않아 충돌하는 경우가 있다.그러므로 etcd member 제거를 진행한다. ETCD Pod 이름찾기 ETCD POD 이름을 찾기 위해 아래 명령어를 입력해 list를 출력한다. 그러면 etcd-{마스터노드명} 형태로된 pod 이름을 찾을 수 있다.정상 작동중인 master node의 etcd … Read more

Deploying InfluxDB on Kubernetes with NFS & Auto Setup

Kubernetes 환경에서 InfluxDB를 보다 안정적이고 자동화된 방식으로 운영하고자 할 때, NFS 기반 퍼시스턴트 스토리지를 활용하면 백업과 데이터 지속성이 향상됩니다. 이 문서에서는 Persistent Volume 구성부터 StatefulSet 배포, 초기 사용자 세팅까지 모든 단계를 다룹니다. 📦 1. Define PersistentVolume and PersistentVolumeClaim InfluxDB 데이터를 저장할 디스크를 NFS를 통해 연결합니다. 🧱 2. Deploy InfluxDB using StatefulSet InfluxDB를 컨테이너 형태로 배포하고 … Read more