클라우드 및 DevOps로의 전환을 위한 RedHat OpenShift
웨비나 시청 후 메모한 내용입니다.
May 07, 2024
유투브에 Openshift 관련 웨비나 자료가 있어서 정리하였음. 2021년 자료지만 Openshift의 개념을 잡는데는 충분해보임
대표적인 클라우드 서비스 형태
- IaaS
- PaaS
- SaaS
MSA아키텍처
최대한 서비스를 구성하는 요소들을 쪼개서 독립적으로 동작할 수 있게끔
릴리즈 단축, 서비스 고가용성, 뛰어난 복구 능력, 높은 확장성, 손쉬운 배포
컨테이너 관리 플랫폼의 필요성
하나의 컨테이너를 AWS, GCP, Azure 등 올릴때.
현대의 컨테이너는 하나의 컨테이너 일 수 없다.
메일발송 시스템을 올릴때 MSA 아키텍쳐로 볼때
- 주소록
- 로그인
- 발송
- 로그인
- 첨부파일
등등 여러 서비스(컨테이너)가 필요하다.
즉 하나의 어플리케이션에 수십개의 컨테이너가 문제없이 돌아가야 정상적인 운영이 가능하다.
이때 많은 사람들이 오픈소스 기반의 쿠버네티스를 사용한다.
그러나 실제 엔터프라이즈 환경에서 쿠버네티스를 운영할때는 네트워크, 레지스트리, 자동화. 보안, 텔레메트리.. 등등 많은것들을 고려해야한다.
이 많은 요소들을 수동으로 구성하기는 매우 힘들다.
레드햇 오픈시프트 컨테이너 플랫폼.
이런 쿠버네티스 관련 요소들을 수월하게 운영할 수 있는 플랫폼
기본 아키텍쳐
- 인스트럭처 : AWS , VM, openstack 등
- OS : Red Hat Core OS
리눅스 환경에서 컨테이너 운영에 필요한 요소들만 포함하여 경량화된 OS
- 쿠버네티스
- 오퍼레이터
- 각자 다른 서드파티 밴더와 협력해서 개발. 관리. 설치. 성능 튜닝 툴 등이 Red hat에서 인증한 벤더들로 구성
- 예를 들어 mongoDB를 설치한다고 하면, 이때 DB를 올리기 위해 필요한 환경적인 기능들을 제공해준다. 이 오퍼레이터를 통해 설치할 수 있다.
- 서비스들 (젠킨스, tekton, elasticsearch, kibana 등등.. )
OCP 구성 요소
- 클러스터
- 마스터노드(etcd, 쿠버엔진, 최소한의 인프라서비스)
- 워커노드 (실제 어플리케이션, 어플리케이션을 운영하기 위한 구성요소( dns, 레지스트리, 모니터링 툴)
- 컨테이너 이미지와 이미지 레지스트리
- 바이너리(image)와 런타임(container) 관계라고 생각할 수 있다.
- 컨테이너 이미지
- Dockerfile
- S2I 빌더 이미지
이미지를 잘 관리. 이미지를 레포지토리 형태로 모아놓고, 이미지 레지스트리(저장소)에 버전관리.
- 레지스트리 : 카탈로그, Nexus, JFrog, Red Hat Quay 등
엔터프라이즈 수준의 높은 신뢰성을 갖고있다.
OCP에서 어플리케이션을 서비스하는 과정
- BuildConfig
- DockerFile,
이미지를 어떻게 빌드할 것인가?
- DeploymentConfig
이미지를 어떻게 배포할 것인가?
- Replication Controller
- Pods & Service
- Route
OpenShift 로깅 & 모니터링
로깅 데이터들이 종속된 하드웨어 스토리지에 의존을 하게 된다.
컨테이너 환경의 경우 하드웨어 종속되어있는것이 아니기때문에 ( + MSA 아키텍쳐이기때문에 로그도 흩어져 있다)
[로그]
- 로그 스트림
- 로그 적재
- 로그 저장
- 로그 대시보드
- fluentd (로그 적재)
- elasticsearch (수집된 로그 저장)
- kibana (로그 시각화)
[매트릭] - (모니터링)
- 매트릭? 리소스의 상태값. 일반적으로 숫자. 시간 베이스
(로깅데이터는 문자열 기반 데이터)
- openshift API가 디스커버리 라는 과정을 통해서 metric을 pull 하는 방식으로 가져온다.
- Prometheus (시계열 DB의 속성을 갖고있음)
- Grafana (시각화)
OCP 기타 구성 요소
- 이미지 레지스트리
- OpenShift Container Storage
- 오브젝트 스토리지 , PVC 등등 대응가능
- 오픈시프트 전용 스토리지.
- OpenShift Virtualizaion
KVM 기반의 워크로드를 Openshift 내에서 사용가능 (가상화 솔루션을 운영하듯이)
모범 구축 사례
OpenShift 설치
- 많은 사용자들이 은근 가장 어려워함.
- 설치 관리자 프로비저닝 인프라(인스톨러 기반)
- AWS
- GCP
- 베어메탈 서버
- VMWare VSphere
- Azure
- 사용자 프로비저닝 인프라
- 마스터노드 3대
- 워커노드 2대 이상
(3년전 자료이며 현제 기본 구성 스펙은 홈페이지를 참고하면 될거같다)
OpenShift 구축 모범사례 아키텍쳐
Share article