본문 바로가기
Study/Artificial Intelligence

OpenShift 기본 개념 간단 정리

by uiydlop 2025. 12. 11.

 

우리가 개발한 AI 서비스를 온프레미스 환경에서 안정적으로 운영하고 GPU 자원을 효율적으로 사용하기 위해,

전체 인프라의 기반으로 OpenShift를 도입함

본격적으로 구축 과정에 들어가기 전에, 이번 글에서는 OpenShift가 어떤 플랫폼인지, 그리고 왜 내부 클라우드처럼 동작할 수 있는지 핵심 개념부터 간단히 정리해봄


 

 

OpenShift : GPU 서버를 “회사 내부 클라우드”처럼 만들어주는 플랫폼

  • 쿠버네티스(Kubernetes)를 기반으로 한 엔터프라이즈 플랫폼
  • 단순히 컨테이너를 띄우는 수준을 넘어서, 네트워크·스토리지·보안·모니터링·UI·자동복구까지 완성된 패키지를 제공
  • 개발자가 복잡한 서버 관리 대신, 바로 모델 실행·파이프라인 개발·GPU 활용에 집중할 수 있게 해 줌

  ➡️ 즉, 오픈쉬프트는 GPU가 장착된 서버를 "내부 프라이빗 클라우드 + 자동화된 개발 운영 환경"으로 만들어주는 플랫폼

 


Pod - 가장 작은 실행 단위

  • OpenShift(=Kubernetes)에서 실제로 애플리케이션이 실행되는 최소 단위
  • 파드 내부에는 1개 이상의 컨테이너가 실행 가능
  # 파드 목록 확인

  $ oc get pods

특징:

  • 파드는 언제든 만들어지고 삭제됨 (일시적 프로세스 개념)


Namespace - 리소스를 구분하는 "프로젝트 공간"

  • 여러 프로젝트를 논리적으로 분리하기 위한 격리 공간
  • 프로젝트마다 다른 파드, 서비스, 네트워크 정책을 가짐
  # 네임스페이스 목록 확인

  $ oc get namespaces
  $ oc get projects

 


Deployment - 파드를 자동 복구/확장하며 관리하는 컨트롤

  • 파드를 원하는 개수(replicas)만큼 유지하며 자동으로 관리
 replicas: 3

 → 동일한 Pod를 3개 실행하고 장애 발생 시 자동 복구

특징:

  • 파드가 죽으면 자동으로 새로 생성됨 (Self-healing)
  • replicas 설정으로 수평 확장 가능

Service - Pod 접근을 위한 네트워크 관리

  • Pod는 IP가 고정되지 않기 때문에, 외부 또는 내부 트래픽을 안정적으로 연결하기 위해 필요
  • 서비스는 특정 포트를 열고 뒤에 있는 Pod로 트래픽을 전달
  <서비스 타입>

 ✔ ClusterIP (기본)
 : 내부 네트워크에서만 접근 가능, 외부에서는 직접 접근 불가➡️ 백엔드 서비스 내부 통신에 사용됨

 ✔ NodePort
 : 노드(서버)의 특정 포트를 외부로 열어 접근 가능 ➡️ 개발/테스트용으로 종종 사용됨

 ✔ LoadBalancer
 : 클라우드(AWS/GCP 등)의 외부 LB를 자동 연결, 외부에서 접근해야 하는 서비스에 사용 ➡️ 프론트엔드, API 서버에 적합

 


PV/PVC – 데이터를 지속적으로 보관하기 위한 스토리지

 
PV (Persistent Volume)
 : 실제 스토리지 지원(물리적 저장소)

 ✔ PVC (Persistent Volume Claim)
 : 파드가 "나 이만큼 저장소 필요해!" 라고 요청하는 것, PVC가 PV를 바인딩 하여 사용 가능해짐

 

➡️ Pod는 일회용이므로 데이터는 반드시 PV/PVC에 저장해야 함 !


■ 요약

 

'Study > Artificial Intelligence' 카테고리의 다른 글

OpenShift 개발 환경 구조  (0) 2025.12.11

댓글