Docker & OpenShift 3 락플레이스 미들웨어기술본부 양희선.

Slides:



Advertisements
Similar presentations
CI(Continuous Integration) 이학성. C ontinuous I ntegration? 2 지속적으로 품질관리 를 적용하는 과정 개발자가 기존 코드의 수정 작업 을 시작할 때, 코드 베이스의복사본을 받아서 작업을 시작하면서 코드의 변경.
Advertisements

스마트폰 화면에서 안드로이드 마켓을 클릭하여 접속합니다. [그림 1-1] 안드로이드 전용 어플리케이션 설치 방법 1. 굿바이 학교폭력 Mobile App 설치 안드로이드폰 설치 방법 마켓에서 검색 아이콘을 클릭 하여 검색창을 활성화 합니다. 굿바이 학교폭력 어플명을 입력.
1 08 시스템 구성도 고려사항 * 웹 서버 클러스터 구성  클러스터 구축은 ㈜ 클루닉스의 Encluster 로 구축 (KT 인증,IT 인증 획득, 실제 클러스터 구축 사이트 200 여곳 )  웹 서버 클러스터는 Dynamic, Static, Image.
Korea Virtual Payment 모바일 안전결제 (ISP) 서비스 모델 - iPhone 한국버추얼페이먼트㈜ 기술연구소
ReadyNAS Surveillance for x86 platform (Version ) NETGEAR.
2008 년 11 월 20 일 실습.  실험제목 ◦ 데이터베이스 커넥션 풀  목표 ◦ 데이터베이스 커넥션 풀의 사용.
1 넷스팟 MAC ID 설정 방법 ( 서울캠퍼스 기준 ) 각종 스마트폰의 WiFi 를 이용시 각종 스마트폰의 WiFi 를 이용시 MAC ID 설정을 하는 방법 입니다. 아이폰의 경우는 별도의 설정없이 바로 사용이 가능하오니, 사용이 어려울 경우, 고객센터로 문의하시면 됩니다.
.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
갤럭시S6 마시멜로 업데이트 및 루팅 안내 2016/05/10 SPIRE TECHNOLOGY INC.
앱인벤터 기초과정 (1차시) ㈜헬로앱스 강사: 김영준 목원대학교 겸임교수.
2016 유성환 Hybrid MOBILE.
엑셀리포트를 이용한 날짜별 리포트 자동 저장 방법
Chapter 10장 솔라리스 자원 관리 및 프로젝트 관리 Solaris2. 프로젝트 관리
Docker & OpenShift 3 락플레이스 미들웨어기술본부 양희선 안녕하세요. 저는 락플레이스의 양희선이라고 합니다.
OpenShift 3 Overview 락플레이스 미들웨어기술본부 양희선 안녕하세요. 저는 락플레이스의 양희선이라고 합니다.
KyungPook National University
4강. Servlet 맛보기 Servlet 문서 작성 하기 web.xml에 서블릿 맵핑 어노테이션을 이용한 서블릿 맵핑
12장. 웹 서버의 설치와 운영.
Chapter 6. 리눅스 백도어 황 선 환.
SAS Foundation Client 9.4 설치 가이드
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
2. JSP의 환경설정 제 2장 JSP의 환경설정 웹 애플리케이션과 디렉토리 구성 JDK 설치하기 JSP Container
Linux/UNIX Programming
Taylor & Francis Mobile 서비스 이용안내
ANSYS17.2 Student 제품 무료 다운로드
UNIT 06 JTAG Debugger 로봇 SW 교육원 조용수.
5장 Mysql 데이터베이스 한빛미디어(주).
Mysql Install on Azure
Android 시리즈 H2O SIM Card 데이터 사용 설정 방법
Root Filesystem Porting
Visual Basic .NET 처음 사용하기.
Root Filesystem Porting
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
18강. 데이터 베이스 - II JDBC 살펴보기 Statement객체 살펴보기 Lecturer Kim Myoung-Ho
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
WinCE Device Driver 실습 #3
WinCE Device Driver 실습 #2
S-Link 사용자 매뉴얼.
Sungkyunkwan University OS Project Dongkun Shin
6강. Servlet 본격적으로 살펴보기-II
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
5장 Mysql 데이터베이스 한빛미디어(주).
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
2장 JSP 개발 환경 설정 이장에서 배울 내용 : JSP 페이지를 작성하기 위한 개발환경을 설정하고, 웹 어플리케이션 개발을 위해 반드시 이해하여야 할 웹 어플리케이션 폴더 구조에 대해 학습한다. 또한 요청된 JSP 페이지가 어떠한 처리과정을 거쳐 응답이 이루어지는가에.
Android studio로 Application 만들기.
Grade Server Team14. Attention Seeker
웹 어플리케이션 보안 2016년 2학기 3. Mongo db.
3강. JSP 맛보기 JSP 문서 작성 하기 JSP 아키텍처 Lecturer Kim Myoung-Ho Nickname 블스
15강. 예외 페이지 예외 페이지의 필요성 page 지시자를 이용한 예외 처리 web.xml파일을 이용한 예외 처리
Java의 정석 제 5 장 배 열 Java 정석 남궁성 강의 의
영상처리 실습 인공지능연구실.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
[그림 1-1] 안드로이드 전용 어플리케이션 설치 방법
Chapter 34. Advanced Web Page Options
WebtoB - Jeus 연동.
14강. 세션 세션이란? 세션 문법 Lecturer Kim Myoung-Ho Nickname 블스
( Windows Service Application Debugging )
디버깅 관련 옵션 실습해보기 발표 : 2008년 5월 19일 2분반 정 훈 승
STS 에서 웹 서버 설치 방법.
KISTI Supercomputing Center 명훈주
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
IPC 펌웨어 업그레이드 방법 안내 ** 반드시 IPC를 NVR POE 포트 연결 전에 작업 하시기 바랍니다. IPC를 NVR POE 포트에 연결 하실 경우 IP 대역폭을 마추셔야 하는 작업이 필요합니다. **
Web Server Install.
Red Hat OpenShift Container Platform
15강_액티비티 액티비티란? 새로운 액티비티로 전환 생명주기 화면방향(Orientation)
Docker Study 6~7.
Platform Builder 사용법.
K PaaS-TA 앱 운영.
Presentation transcript:

Docker & OpenShift 3 락플레이스 미들웨어기술본부 양희선

Contents 어플리케이션생성 Openshift 리소스 구조 Docker Image 및 Container 개요 배포 및 롤백 서비스 확장( 오토스케일링)

1. Docker Image 및 Container 개요

Docker Image App code, runtime, system tools, system libraries 실행에 필요한 모든 것을 포함하여 Docker Format의 파일로 생성 App code, runtime, system tools, system libraries Image Container Container Container Docker Build Docker Run Docker에는 이미지라는 개념이 있습니다. Docker는 소프트웨어 실행에 필요한 모든 파일 Code, Runtime실행파일, System Tool, System Library 등을 포함하여 하나의 파일로 만듭니다. 이것이 이미지 입니다. Apache의 경우 컴파일된 바이너리파일과 OS의 APR Library 파일, 그리고 Openssl 파일 등을 포함하여 이미지를 만들고, Tomcat의 경우 Tomcat 바이너리 파일과 JRE를 포함하여 이미지를 만들면 됩니다. Docker에서 이 이미지를 프로세스로 실행한 상태가 Container입니다. 이를 통해서 하나의 호스트 내부에 독립된 VM 같은 실행환경인 컨테이너를 만들수가 있습니다. 컨테이너는 기본적으로 172로 시작하는 내부 IP를 할당 받고 포트도 독립적으로 사용할 수 있습니다.

Dockerfile을 이용하여 HTTPD 이미지 생성 [root@master ~]# cat Dockerfile FROM docker.io/centos USER root RUN yum clean all \ && yum repolist \ && yum -y install httpd \ && yum clean all EXPOSE 80 CMD ["/usr/sbin/apachectl","-k","start","-D","FOREGROUND"] [root@master ~]# docker build -t myhttpd . 베이스 이미지 RPM 을 이용하여 HTTPD설치 사용할 포트 실행할 파일 이미지 생성

Image Push & Download 생성된 이미지를 Image Registry 에 Push한다. Openshift의 ImageStream에는 이미지의 위치가 저장되어 있으며 필요 시 Image Registry로부터 이미지를 받아갈 수 있다. Docker Image Registry User Docker Image Push myhttpd:2.4 Openshift ImageStream myhttpd:2.4

2. 어플리케이션생성 어플리케이션 생성 어플리케이션 작동구조

Application 생성 등록된 이미지 선택 어플리케이션 명 (고유하게 부여) 등록된 이미지를 이용하여 Openshift에서 어플리케이션을 생성 등록된 이미지 선택 어플리케이션 명 (고유하게 부여)

어플리케이션 작동구조 Openshift web.rockplace.co.kr 172.30.35.131:80 내부DNS HAProxy 52.78.245.72:80 Route (내부 Service 위치 확인) 172.30.35.131:80 Openshift Node web.rockplace.co.kr VIP 172.30.35.131:80 Service (Load Balancing) Apache Container/Pod: 10.0.10.11:80 Apache Container/Pod: 10.0.10.11:80 Pod (Container)

3. Openshift 리소스 구조

Container Management by Openshift Route: web web.rockplace.co.kr 외부로부터의 진입점 service: web 172.30.176.102 Cluster IP (VIP)를 통한 Loadbalancing Image Pod 실제 어플리케이션 Container가 담긴 Pod 지정된 개수의 Pod가 잘 돌고 있는지… ReplicationController DeploymentConfig 몇 개의 Pod를 만들지… 어떻게 Pod를 배포 할지… 이 페이지는 각 컴포넌트별 역할에 대한 관점입니다. 오픈쉬프트 내에서 이미지가 Pod로 만들어 지는데 이것은 내부적으로 DeploymentConfig에 의해서 만들어지는 것입니다. DeploymentConfig 최초 생성시 몇 개의 Pod를 만들지 그리고 어떻게 Rebuild를 할지를 결정하고 레플리케이션Controller 가 지정된 개수 만큼의 Pod가 잘 돌고 있는지를 감시하고 Service는 내부 Pod들에 대한 연결을 담당합니다. 그리고 마지막으로 route는 외부로 부터의 진입점 역할을 합니다. 오픈쉬프트에서는 하나의 이미지로부터 앱을 만들면 이러한 구조가 자동으로 생성이 됩니다.

Openshift Resources 구조 Route 접속 주체 별로 User생성 Application 그룹 또는 Resource 제한단위 개별 Application Service User Project Application Pod Project 별 Resource 제한 가능 (CPU, Memory 포함) User 단위로 접속 User별 권한부여 Deployment Config BuildConfig

Build, Deployment, Pod 현재 실행중인 Pod 14번째 배포 이미지 사용중 Route Node로 배포된 내역 Service Application Pod Deployment Config 소스 빌드 내역(Master) BuildConfig

4. 배포 및 롤백 Deployment Rollback

Deployment 배포할 Image 배포 방법 Deployment는 이미지를 Node로 배포하여 실행시키는 것을 말한다. Image Stream Tag: myproject/ncis:latest Image가 변경되면 자동으로 배포: yes 설정이 바뀌면 자동으로 배포: yes Strategy Type: Rolling Max Num Unavailable Pods: 25% ( ¼ 씩 Rolling배포) Replicas: 4 (동시에 유지할 Pod 개수)

Rollback Rollback은 기존에 배포됐던 특정 시점으로 어플리케이션을 다시 배포하는 것을 말한다. Openshift는 기존 Deployment 이미지를 그대로 유지하고 있으므로 쉽게 Rollback이 가능하다. 배포 내역

5. 서비스 확장 Manual Scale-Out Resource Limits Auto-Scaler

Manual Scale-out 실행될 Pod의 개수를 화살표로 조정할 수 있다.

Resource Limit 컨테이너가 최대로 사용할 수 있는 CPU와 Memory 를 지정할 수 있다.

Auto-Scaler 지정된 CPU 사용율에 따라 Pod의 개수가 자동으로 증가 또는 감소하게 설정가능하다.

HTTPD Application

감사합니다 midware@rockplace.co.kr