RHOCP(Red Hat Openshift Container Platform)

김재현·2024년 2월 26일
0
post-thumbnail

RHOCP 란?

RHOCP(Red Hat Openshift Container Platform)은 사내 배포 또는 사설 클라우드 배포용으로 설계된 클라우드 컴퓨팅 PaaS(Platform-as-a-Service) 솔루션이다.
Red Hat 에서 제공하는 오픈소스 기반의 PaaS로 애플리케이션 개발, 배포, 테스트 및 관리의 평의성을 제공한다.
또한 다중 언어 및 애플리케이션 프레임워크 개발 툴과 자동 확장등의 기능을 제공한다.

RHOCP 주요 특징

  1. 벤더에 종속되지 않은 오픈소스 기반의 다양한 개발언어와 프레임워크
  2. 클라우드 환경 기반의 단순하고 유연한 개발과 배포
  3. 손쉬운 애플리케이션 배치 및 자동 확장(Auto-Scale)을 통한 운영 편의성
  4. 멀티테넌시, 공유, 셀프서비스, 유연셩, 실시간 버전 관리 등의 기능
  5. SELinux를 적용하여 멀티테넌시 사이의 완벽한 격리 및 보안
  6. 컨테이너 서비스를 위한 DNS 내장 및 서브 도메인 관리
  7. 개발자들을 위한 셀프 서비스와 자동화된 운영으로 DevOps 용이
  8. 이미지 형태로 애플리케이션의 버전 관리(롤백 포함) 및 관리
  9. 외부 관리 시스템과의 연계를 위한 REST API 제공

주요 구성 요소

RHOCP는 사용자 계정 및 인증, DNS 등을 관리하는 마스터(Master)를 통해 다양한 애플리케이션, 프레임워크 및 DB 등의 컨테이너 이미지가 구성되고, 개발자들이 사용하는 멀티테넌시 영역(Container)이 구동되는 노드들을 관리 및 제어한다.

  1. 마스터(Master)
  • 사용자 로그인, App 관리, 도메인 생성 등 모든 Openshift 의 동작을 관리하는 호스트
  • OAuth, etcd, Replication Controller, Scheduler, DNS 등의 Kubernetes 패키지 설치
  • REST API 제공으로 외부 관리 시스템과의 연계 가능
  1. 노드(Node)
  • 실제 물리적인 서버 또는 VM(Virtual machine)으로 구성되는 호스트
  • 이미지 기반 Docker 컨테이너들이 실제 배치되는 영역
  1. Pod/컨테이너(Container)
  • 하나의 Docker 이미지를 실행하기 위한 자원 컨테이너
  • 논리적인 자원들(CPU, Memory)이 Resource Limits 나 Quota 설정으로 할당되어 개발자와 사용자들이 사용하는 논리적인 영역
  1. 도커 이미지(Docker Image)
  • 개발 언어, 웹 프레임워크 및 CI툴 등의 애플리케이션 플랫폼을 이미지 형태로 패키징

Openshift 용어

1. Openshift Master

  1. Openshift Master
    사용자 로그인, 애플리케이션 관리, 도메인 생성 등 모든 Openshift 의 동작을 관리하는 호스트

  2. API/Authentication(API 서버)
    사용자의 인증 및 CLI(Command Line Interface), REST API 처리

  3. ETCD(ETCD 저장소)
    Openshift 정보를 저장하는 데이터 저장소(KEY/VALUE)

  4. BUILD
    어플리케이션 소스를 빌드(Builder Image + 소스)하여 애플리케이션 이미지를 생성

  5. Deployment
    빌드 과정에서 생성된 이미지를 스케줄러에 요청하여 POD를 배포

  6. Schedular
    프로젝트의 POD 요청 정보를 처리하여 적절한 노드에 할당.

  7. Replication Controller
    POD 의 Lifecycle 을 관리
    예) POD가 Down 된 경우, Replica 개수 만큼 새로운 POD를 자동으로 배포

  8. Replica(스케일 정보)
    프로젝트에서 POD의 확장/축소 정보로 유지되어야 할 POD의 개수 정보

2. Project

  1. Project(프로젝트)
    프로젝트 서비스가 실행되는 논리적 구성으로 자원 할당, 빌드, 배포 및 이미지의 관리 기준

3. Application

  1. Application(어플리케이션)
    프로젝트의 서비스 관련 POD, 서비스, 라우트 등의 관련 컴포넌트를 정의

4. Openshift Node

  1. Openshift Node
    실제 물리적인 서버 또는 VM(Virtual Machine)으로 구성되는 호스트

  2. POD
    하나의 도커 이미지를 실행하기 위한 자원 컨테이너
    논리적인 자원들(CPU, Memory)이 Resource Limits 나 Quota 설정으로 할당되어 개발자와 사용자들이 사용하는 논리적인 영역

  3. Docker Image
    개발 언어, 웹 프레임워크 및 CI툴 등의 애플리케이션 플랫폼을 이미지 형태로 패키징

  4. Service
    프로젝트 서비스는 관련된 POD들의 정보를 통해 Load Balanced 제공

  5. Route
    서비스를 외부에 노출시켜 특정 서비스로 호출이 되게 하는 역할

  6. Registry
    프로젝트의 어플리케이션 소스가 빌드된 후 이미지가 저장되는 저장소

  7. Bulider Image
    프로젝트 빌드에 사용될 베이스 도커 이미지

profile
Linux/Cluster/Infra Engineer

0개의 댓글