Container
단일 컨트롤 호스트상에서 여러 개의 고립된 리눅스 시스템 들을 실행하기 위한 “OS 레벨 가상화” 방법이다. 응용프로 그램의 종속성과 함께 응용프
로그램 자체를 캡슐화한 형태로 일반적인 VM과 같이 OS의 격리된 인스턴스 형태로 제공
01 OpenShift 소개
APP Process
Isolated Env.
Docker
5.
Docker
Docker는 리눅스 컨테이너기술을 기반으로 하는 오픈 소스 가상화 플랫폼으로 오픈소스 커뮤니티 프로젝트로 기술 개발을 지원
01 OpenShift 소개
App 1
Bins/Libs
Docker Engine
Host OS
Infra Structure
Containerized Applications
App 2
Bins/Libs
App 3
Bins/Libs
App 4
Bins/Libs
Host OS
Infra Structure
Virtual Machine
App 1
Guest OS
Hypervisor
App 2
Guest OS
App 3
Guest OS
Kubernetes
What is Kubernetes?
01 OpenShift 소개
▪ Service discovery and load balancing
▪ Storage orchestration
▪ Automated rollouts and rollbacks
▪ Automatic bin packing
▪ Self-healing
▪ Secret and configuration management
[참고] kubernetes.io
8.
Worker Node3
Worker Node2
Kubernetes
KubernetesArchitecture
01 OpenShift 소개
kubectl
Kubernetes Master
Worker Node1
kubelet
Container Runtime
Kube-proxy
Pod
container
Controller
manager
scheduler
API
Server
etcd
Persistent
storage
Container
registry
9.
Openshift
01 OpenShift 소개
“글로벌Best 컨테이너 기술” “업계 최고의 컨테이너 관리 기술”
▪ 세계 컨테이너 기술의 표준 (OCI 선정)
▪ Docker와 완벽한 호환성
▪ 격리 기술을 통한 가장 높은 보안성 제공
▪ 구글에서 개발되고 사용하고 있는 Orchestration 기술
▪ 구글과 협력하여 지속적인 프로젝트 발전에 기여
▪ 실제 환경에서 가장 많은 Container를 Handling하며 기 안정화됨
Openshift
Architecture
01 OpenShift 소개
RedHat OpenShift Container Platform은 기존 및 컨테이너 기반의 애플리케이션을 물리적 인프라, 가상 인프라, 퍼블릭 클라우드 인프라에 긴밀하게
개발, 배포 및 관리하도록 돕는 Docker 표준을 기반으로 한 애플리케이션 플랫폼입니다.
Openshift CI/CD 구성도
Openshift4CI/CD 구성 솔루션
03 Openshift CI/CD 데모
Persistent
Volume(NFS)
GitLab
내부 시스템
Openshift Cluster System 설명
⚫ GitLab서버는 내부시스템에
docker로 기동
⚫ 데이터 저장용 NFS 구성하여
Persistent Volume 생성
⚫ CI/CD를 구성하는 솔루션들은
Openshift내에 구성하여
컨테이너로 서비스
⚫ WAS용도의 JBossEAP7 구성하여
git 소스 반영하여 배포
CoreOS
Worker 노드
시나리오 수행 #9
index.html파일 변경(제목, 위도, 경도변경)후 push
03 Openshift CI/CD 데모
[참고 github : https://github.com/gshipley/mlbparks ]
45.
시나리오 수행 #10
변경된소스로 서비스확인(브라우져 호출)
03 Openshift CI/CD 데모
기존 변경
46.
롤백
Openshift에서 제공하는 rollback기능으로 기존이미지로 변경
03 Openshift CI/CD 데모
변경 기존
# oc rollout latest dc/mlbparks-app
deploymentconfig.apps.openshift.io/mlbparks-app rolled out
• 특정 deploy 버전으로 가기위해 버전명 명시하여 실행
• oc rollout undo dc/mlbparks-app --to-revision=8