inblog logo
|
jongcloud
    Technical Simple memo

    클라우드 및 DevOps로의 전환을 위한 RedHat OpenShift

    웨비나 시청 후 메모한 내용입니다.
    jongcloud's avatar
    jongcloud
    May 07, 2024
    클라우드 및 DevOps로의 전환을 위한  RedHat OpenShift
    Contents
    대표적인 클라우드 서비스 형태MSA아키텍처컨테이너 관리 플랫폼의 필요성레드햇 오픈시프트 컨테이너 플랫폼. 기본 아키텍쳐 OCP 구성 요소OCP에서 어플리케이션을 서비스하는 과정OpenShift 로깅 & 모니터링OCP 기타 구성 요소모범 구축 사례OpenShift 설치

    유투브에 Openshift 관련 웨비나 자료가 있어서 정리하였음. 2021년 자료지만 Openshift의 개념을 잡는데는 충분해보임
    📎
    자료출처 https://www.youtube.com/watch?v=OxAhxizK_bw

    대표적인 클라우드 서비스 형태

    • IaaS
    • PaaS
    • SaaS
     

    MSA아키텍처

    최대한 서비스를 구성하는 요소들을 쪼개서 독립적으로 동작할 수 있게끔
    릴리즈 단축, 서비스 고가용성, 뛰어난 복구 능력, 높은 확장성, 손쉬운 배포
     

    컨테이너 관리 플랫폼의 필요성

    하나의 컨테이너를 AWS, GCP, Azure 등 올릴때.
    현대의 컨테이너는 하나의 컨테이너 일 수 없다.
    메일발송 시스템을 올릴때 MSA 아키텍쳐로 볼때
    • 주소록
    • 로그인
    • 발송
    • 로그인
    • 첨부파일
    등등 여러 서비스(컨테이너)가 필요하다.
    즉 하나의 어플리케이션에 수십개의 컨테이너가 문제없이 돌아가야 정상적인 운영이 가능하다.
     
    이때 많은 사람들이 오픈소스 기반의 쿠버네티스를 사용한다.
    그러나 실제 엔터프라이즈 환경에서 쿠버네티스를 운영할때는 네트워크, 레지스트리, 자동화. 보안, 텔레메트리.. 등등 많은것들을 고려해야한다.
     
    이 많은 요소들을 수동으로 구성하기는 매우 힘들다.
     

    레드햇 오픈시프트 컨테이너 플랫폼.

    이런 쿠버네티스 관련 요소들을 수월하게 운영할 수 있는 플랫폼
     

    기본 아키텍쳐

    notion image
    1. 인스트럭처 : AWS , VM, openstack 등
    1. OS : Red Hat Core OS
      1. 리눅스 환경에서 컨테이너 운영에 필요한 요소들만 포함하여 경량화된 OS
    1. 쿠버네티스
    1. 오퍼레이터
      1. notion image
        • 각자 다른 서드파티 밴더와 협력해서 개발. 관리. 설치. 성능 튜닝 툴 등이 Red hat에서 인증한 벤더들로 구성
        • 예를 들어 mongoDB를 설치한다고 하면, 이때 DB를 올리기 위해 필요한 환경적인 기능들을 제공해준다. 이 오퍼레이터를 통해 설치할 수 있다.
    1. 서비스들 (젠킨스, tekton, elasticsearch, kibana 등등.. )
     

    OCP 구성 요소

    • 클러스터
      • 마스터노드(etcd, 쿠버엔진, 최소한의 인프라서비스)
      • 워커노드 (실제 어플리케이션, 어플리케이션을 운영하기 위한 구성요소( dns, 레지스트리, 모니터링 툴)
    • 컨테이너 이미지와 이미지 레지스트리
      • 바이너리(image)와 런타임(container) 관계라고 생각할 수 있다.
      • 컨테이너 이미지
      • Dockerfile
      • S2I 빌더 이미지
    이미지를 잘 관리. 이미지를 레포지토리 형태로 모아놓고, 이미지 레지스트리(저장소)에 버전관리.
    • 레지스트리 : 카탈로그, Nexus, JFrog, Red Hat Quay 등
    엔터프라이즈 수준의 높은 신뢰성을 갖고있다.
     

    OCP에서 어플리케이션을 서비스하는 과정

    1. BuildConfig
      1. notion image
        이미지를 어떻게 빌드할 것인가?
        • DockerFile,
         
    1. DeploymentConfig
      1. notion image
        이미지를 어떻게 배포할 것인가?
         
    1. Replication Controller
      1. notion image
         
    1. Pods & Service
      1. notion image
         
    1. Route
      1. notion image
     

    OpenShift 로깅 & 모니터링

    로깅 데이터들이 종속된 하드웨어 스토리지에 의존을 하게 된다.
    컨테이너 환경의 경우 하드웨어 종속되어있는것이 아니기때문에 ( + MSA 아키텍쳐이기때문에 로그도 흩어져 있다)
     
    [로그]
    1. 로그 스트림
    1. 로그 적재
    1. 로그 저장
    1. 로그 대시보드
     
    • fluentd (로그 적재)
    • elasticsearch (수집된 로그 저장)
    • kibana (로그 시각화)
     
    [매트릭] - (모니터링)
    notion image
    • 매트릭? 리소스의 상태값. 일반적으로 숫자. 시간 베이스
      • (로깅데이터는 문자열 기반 데이터)
    • openshift API가 디스커버리 라는 과정을 통해서 metric을 pull 하는 방식으로 가져온다.
    • Prometheus (시계열 DB의 속성을 갖고있음)
    • Grafana (시각화)
     

    OCP 기타 구성 요소

    1. 이미지 레지스트리
        • OpenShift Container Storage
          • 오브젝트 스토리지 , PVC 등등 대응가능
          • 오픈시프트 전용 스토리지.
    1. OpenShift Virtualizaion
      1. KVM 기반의 워크로드를 Openshift 내에서 사용가능 (가상화 솔루션을 운영하듯이)
     

    모범 구축 사례


    OpenShift 설치

    notion image
    • 많은 사용자들이 은근 가장 어려워함.
    • 설치 관리자 프로비저닝 인프라(인스톨러 기반)
      • AWS
      • GCP
      • 베어메탈 서버
      • VMWare VSphere
      • Azure
    • 사용자 프로비저닝 인프라
    • 마스터노드 3대
    • 워커노드 2대 이상
    (3년전 자료이며 현제 기본 구성 스펙은 홈페이지를 참고하면 될거같다)
     

    OpenShift 구축 모범사례 아키텍쳐

    notion image
    notion image
    notion image
    notion image
    notion image
     
    Share article
    Contents
    대표적인 클라우드 서비스 형태MSA아키텍처컨테이너 관리 플랫폼의 필요성레드햇 오픈시프트 컨테이너 플랫폼. 기본 아키텍쳐 OCP 구성 요소OCP에서 어플리케이션을 서비스하는 과정OpenShift 로깅 & 모니터링OCP 기타 구성 요소모범 구축 사례OpenShift 설치

    jongcloud

    RSS·Powered by Inblog