Reference & Project

Case study

객관적 데이터로 풀어낸 노리시스템의 핵심 인사이트

MES 사례

#INFRA #Kubernetes #CICD #Observability

← 뒤로가기

Kubernetes 기반 MES 운영 인프라
안정성 · 유연성 · 신속성 · 가시성 확보

24/365 무중단 생산 운영을 위한 Kubernetes 기반 고가용성 아키텍처를 구축하고, 무중단 롤링 배포 및 전주기 옵저버빌리티를 구현했습니다.

배포 및 변경 관리

무중단 롤링 배포

서비스 중단 없는 점진적 교체 배포 및 즉각적인 무장애 롤백 지원

장애 대응 체계

Pod 단위 Self-Healing

프로세스 이상 감지 시 자동 재시작 및 장애 격리로 서비스 가용성 극대화

도입 배경 및 필요성

1. MES 중단은 곧 생산 중단

단일 서버(SPOF) 환경의 한계 — 특정 프로세스 장애가 전체 생산 라인 중단 및 실적 집계 지연으로 확산되며, 결함 격리 및 신속한 장애 복구에 구조적 한계가 존재했습니다.

2. 공정·설비 변경에 따른 신속한 배포 한계

라인 변경 및 신규 기능 반영 시 배포 다운타임이 불가피하여, 현장 요구사항에 대한 즉각적인 대응 속도가 저하되었습니다.

클라우드 네이티브(Cloud-Native) 도입 전략

가용성 · 확장성 · 관측 가능성을 개별 과제가 아닌 단일 운영 체계로 설계하여, 현장 요구사항의 시스템 반영 주기를 단축합니다.

가용성 극대화

서비스별 컨테이너 격리를 통한 장애 전파 차단 및 무중단 배포 기반의 업무 연속성 보장

운영 민첩성 확보

CI/CD 파이프라인 표준화와 자동 롤백 체계를 통해 공정 변경 요건을 리스크 없이 신속 반영

레퍼런스 아키텍처

클러스터 구성과 서비스 배치를 나타내는 아키텍처 구성도

Control Plane (HA × 3)
Node01
k8s Core
kube-vip
CoreDNS
Metrics Server
Node02
Gateway
Kube-vip
Envoy Gateway
Cert-Manager
Node03
모니터링 & CI/CD
Grafana, Prometheus
Loki, Tempo
Hubble UI
Alloy Gateway
Kubernetes Control Plane 공통
API Server (REST API)
Scheduler (Pod 노드 배치)
Controller Manager (리소스 상태 확인 및 구성)
Etcd (Cluster 상태 관리)
Worker Nodes (× 3)
Node04
Node05
MES System
OI
ADS
WSM
TC
Node06
Metabase (BI)
Harbor (Registry)
NoriTer (Dev Platform) — 인증/인가
Kafka (Message Bus)
Longhorn (Storage)
Alloy Collector (Daemon Set) — Log / Perf 수집
Database (× 2 · HA)
Node07
PostgreSQL
PgBouncer
Node08 · Standby (이중화)
PostgreSQL
PgBouncer
HIGH AVAILABILITY

DB 이중화

Primary–Standby 복제 구조와 자동 장애 조치(Failover)를 구성하여 데이터베이스 무중단 접속을 유지합니다. 애플리케이션은 PgBouncer를 경유하므로 접속 정보 변경 없이 전환됩니다.

SCALE OUT

노드 증설 유연성

워커 노드 스케일아웃 설계를 통해 시스템 다운타임 없이 트래픽 및 워크로드 증가에 유연하게 대응합니다. 애플리케이션 수정이나 재구성이 필요하지 않습니다.

REPLICATION

Primary–Standby 복제

운영 DB의 변경 사항을 대기 노드로 지속 전송하여 동일 상태를 유지

FAILOVER

무중단 전환

Primary 장애 감지 시 Standby 자동 승격 및 커넥션 풀의 신규 Primary 재연결

NODE SCALE

워커 노드 증설

노드 추가만으로 가용 자원이 확장되고 Pod 워크로드가 자동 재분산

AUTO SCALING

부하 기반 자동 확장

생산 부하 급증 시 Pod 리소스를 실시간 자동 증설하여 성능 저하 방지

4대 핵심 영역

Kubernetes 기반 운영 요구사항을 4대 핵심 영역으로 분류하여 구성합니다

STABILITY

안정성

다중 노드 고가용성, Self-Healing, Pod 격리로 단일 장애점(SPOF) 완전 배제

FLEXIBILITY

유연성

워크로드의 독립적 확장과 리소스 최적화로 다양한 제조 공정 환경에 유연하게 대응

SPEED

신속성

CI/CD 파이프라인 자동화 기반의 검증된 컨테이너 빌드 및 즉각적인 무중단 롤링 배포

VISIBILITY

가시성

메트릭·로그·분산 트레이싱을 연계한 풀스택 모니터링으로 장애 감지 및 원인 분석 시간 단축

CI/CD 파이프라인

소스 변경이 검증을 거쳐 운영에 반영되기까지의 자동화 흐름

PIPELINE FLOW
→ SCM

Git Repository

push · merge 트리거

→ CI

Build · Test

이미지 빌드 · 정적 분석

→ REGISTRY

Harbor

버전 태그 · 취약점 스캔

→ CD

Helm Deploy

Staging 검증 → 운영

KUBERNETES

Rolling Update

무중단 점진 교체

1

소스 커밋

형상관리 저장소에 배포 코드가 푸시되면 파이프라인 자동 트리거

2

빌드 · 이미지 생성

컨테이너 이미지 빌드 및 프라이빗 레지스트리(Harbor) 자동 등록

3

자동 검증

스테이징 배포 전 자동화 테스트를 통한 정적 분석 및 무결성 검증

4

무중단 배포

롤링 업데이트 기법으로 기존 서비스를 유지하며 신규 버전 점진 배포

5

모니터링 · 분석

배포 직후 트래픽 흐름 및 시스템 지표를 실시간 관제하여 이상 징후 감지

메시징 및 데이터 연계 아키텍처

Event Pipeline — Kafka Message Broker의 역할

EVENT PIPELINE
→ PRODUCER

설비 · 계측기

상태 · 실적 이벤트 발행

→ MESSAGE BROKER

Kafka Topic

버퍼링 · 디스크 영속화

→ CONSUMER

MES · Collector

자체 속도로 소비

STORE

PostgreSQL

생산 이력 · 센서 데이터

Zero Data Loss 소비 측 장애 시에도 메시지는 토픽에 남아 있으며, 복구 후 offset 기준으로 재처리됩니다.
ASYNC INTEGRATION

이벤트 기반 비동기 연계

설비 트래픽 급증 시 버퍼링 역할을 수행하여 시스템 과부하를 방지합니다. 발신 측과 수신 측의 처리 속도가 달라도 서로의 가동에 영향을 주지 않습니다.

ZERO DATA LOSS

데이터 영속성 및 무유실 재처리

메시지를 디스크에 영속 저장하여 유실을 방지(Zero Data Loss)하고, 장애 발생 시 offset 기준으로 데이터 재처리 파이프라인을 보장합니다.

서비스 가시성 체계

지표·로그·추적을 한 곳에 모아 장애 원인 구간을 좁힙니다

OBSERVABILITY STACK
WORKLOAD

MES Pods

애플리케이션 지표 · 로그

CLUSTER

Node · Container

kubelet · cAdvisor

NETWORK

Service Traffic

호출 경로 · 지연

수집 ▼
Alloy Collector DaemonSet · 전 노드 배치
선호별 저장 ▼
METRICS

Prometheus

LOGS

Loki

TRACES

Tempo

통합 조회 · 알림 ▼
Grafana 통합 대시보드 · 임계 알림 · 원인 구간 추적
STAGE 01

메트릭 수집

노드·컨테이너·애플리케이션 지표를 주기적으로 수집해 시계열로 축적합니다.

STAGE 02

로그 중앙화

분산된 컨테이너 로그를 한곳에 모아 조건별로 검색할 수 있게 합니다.

STAGE 03

분산 추적

요청이 서비스 사이를 이동한 경로와 구간별 소요 시간을 확인합니다.

STAGE 04

임계 알림

사전 정의한 조건을 넘어서면 담당자에게 즉시 통보되어 조치를 시작합니다.

주요 가치 및 기대 효과

01. 계획 정지 시간의 최소화

배포 및 정기 점검 시 발생하는 서비스 정지 시간을 제로화하여 생산 라인 가동률을 극대화합니다.

기존 수십 분 → 배포 다운타임 0분

02. 현장 변경에 대한 빠른 대응

표준화된 컨테이너 배포 프로세스를 통해 현장 이벤트 및 신규 기능 요구사항을 당일 반영합니다.

기존 며칠 소요 → 당일 즉각 반영

03. 장애 원인 추적의 단축

메트릭·로그·분산 트레이싱의 단일 뷰 통합 관제로 장애 감지 및 근본 원인(Root Cause) 분석 시간을 단축합니다.

기존 수동 추적 → MTTD · MTTR 60~70% 단축