RHOCP(Red Hat Openshift Container Platform)은 사내 배포 또는 사설 클라우드 배포용으로 설계된 클라우드 컴퓨팅 PaaS(Platform-as-a-Service) 솔루션이다.
Red Hat 에서 제공하는 오픈소스 기반의 PaaS로 애플리케이션 개발, 배포, 테스트 및 관리의 평의성을 제공한다.
또한 다중 언어 및 애플리케이션 프레임워크 개발 툴과 자동 확장등의 기능을 제공한다.
RHOCP는 사용자 계정 및 인증, DNS 등을 관리하는 마스터(Master)를 통해 다양한 애플리케이션, 프레임워크 및 DB 등의 컨테이너 이미지가 구성되고, 개발자들이 사용하는 멀티테넌시 영역(Container)이 구동되는 노드들을 관리 및 제어한다.
Openshift Master
사용자 로그인, 애플리케이션 관리, 도메인 생성 등 모든 Openshift 의 동작을 관리하는 호스트
API/Authentication(API 서버)
사용자의 인증 및 CLI(Command Line Interface), REST API 처리
ETCD(ETCD 저장소)
Openshift 정보를 저장하는 데이터 저장소(KEY/VALUE)
BUILD
어플리케이션 소스를 빌드(Builder Image + 소스)하여 애플리케이션 이미지를 생성
Deployment
빌드 과정에서 생성된 이미지를 스케줄러에 요청하여 POD를 배포
Schedular
프로젝트의 POD 요청 정보를 처리하여 적절한 노드에 할당.
Replication Controller
POD 의 Lifecycle 을 관리
예) POD가 Down 된 경우, Replica 개수 만큼 새로운 POD를 자동으로 배포
Replica(스케일 정보)
프로젝트에서 POD의 확장/축소 정보로 유지되어야 할 POD의 개수 정보
Openshift Node
실제 물리적인 서버 또는 VM(Virtual Machine)으로 구성되는 호스트
POD
하나의 도커 이미지를 실행하기 위한 자원 컨테이너
논리적인 자원들(CPU, Memory)이 Resource Limits 나 Quota 설정으로 할당되어 개발자와 사용자들이 사용하는 논리적인 영역
Docker Image
개발 언어, 웹 프레임워크 및 CI툴 등의 애플리케이션 플랫폼을 이미지 형태로 패키징
Service
프로젝트 서비스는 관련된 POD들의 정보를 통해 Load Balanced 제공
Route
서비스를 외부에 노출시켜 특정 서비스로 호출이 되게 하는 역할
Registry
프로젝트의 어플리케이션 소스가 빌드된 후 이미지가 저장되는 저장소
Bulider Image
프로젝트 빌드에 사용될 베이스 도커 이미지