SlideShare a Scribd company logo
1 of 15
OpenStack Orchestration
Jeremy Jeon
Index
• Orchestration?
• HOT (Heat Orchestration Template)
• How to execute?
• Practice
• Single Instance
• Load balancing
• Auto Scaling
• Opinion
“Orchestration”
1. 관현악 편곡(법); 악기 편성법; 관현악 조곡
2. 통합, 결집, 편성; 조직화
VM
Load
Balancer
DB
WAS Network
Storage
Heat
Heat Orchestration
VM
Load
Balancer
DB
WAS Network
Storage
Heat
오케스트레이션 내용을 정의한 것을 템플릿
템플릿에 정의된 리소스들의 모음을 스택(Stack)
Orchestration Document (YAML) Version
Orchestration Document (YAML) Description
구성하고자 하는 Orchestration에 필요한
파라미터 값들
구성하고자 하는 Orchestration 내용 정의
오케스트레이션이 끝나고 리턴할 데이터 정의
YAML (YAML Ain’t Markup Language)
데이터 표현을 중심으로 한 가벼운 마크업 언어
공백문자를 이용한 들여쓰기로 구조체 구분
콜론(:) 기호를 이용하여 키:값 구분
2013-05-23
~ Icehouse
2014-10-16
~ Juno
2015-04-30
~ Kilo
2015-10-15
~ Liberty
2016-04-08
~ Mitaka
Heat Template Version
• 각 버전별로 지원되는 Heat 함수 및 AWS CloudFormation 함수가 조금씩 다름
Environment files
Orchestration Templates
Custom Types
Using Custom Type
1
2
3
How to execute? (OpenStack Heat)
Horizon Web UI
CLI (Command line interface)
How to execute?
(CloudFormation)
Practice
Opinion
“Orchestration은 Cloud의 꽃이다”
References
• http://docs.openstack.org/developer/heat/template_guide/hot_spec.html
• http://docs.openstack.org/developer/heat/template_guide/
• http://docs.openstack.org/developer/heat/template_guide/hot_guide.html
감사합니다

More Related Content

What's hot

AWS를 통한 신뢰성 높은 지속적 배포 및 통합(CD/CI) 사례 - AWS Summit Seoul 2017
AWS를 통한 신뢰성 높은 지속적 배포 및 통합(CD/CI) 사례 - AWS Summit Seoul 2017AWS를 통한 신뢰성 높은 지속적 배포 및 통합(CD/CI) 사례 - AWS Summit Seoul 2017
AWS를 통한 신뢰성 높은 지속적 배포 및 통합(CD/CI) 사례 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
Amazon Web Services Korea
 
Airflow introduce
Airflow introduceAirflow introduce
Airflow introduce
t lc
 

What's hot (20)

AWS의 하둡 관련 서비스 - EMR/S3
AWS의 하둡 관련 서비스 - EMR/S3AWS의 하둡 관련 서비스 - EMR/S3
AWS의 하둡 관련 서비스 - EMR/S3
 
Source To URL Without Dockerfile
Source To URL Without DockerfileSource To URL Without Dockerfile
Source To URL Without Dockerfile
 
Krnet2018 kakao container cloud dkos
Krnet2018 kakao container cloud dkosKrnet2018 kakao container cloud dkos
Krnet2018 kakao container cloud dkos
 
게임업계 IT 관리자를 위한 7가지 유용한 팁 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
게임업계 IT 관리자를 위한 7가지 유용한 팁 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming게임업계 IT 관리자를 위한 7가지 유용한 팁 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
게임업계 IT 관리자를 위한 7가지 유용한 팁 - 박선용 솔루션즈 아키텍트:: AWS Cloud Track 3 Gaming
 
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
20180726 AWS KRUG - RDS Aurora에 40억건 데이터 입력하기
 
Alluxio: Data Orchestration on Multi-Cloud
Alluxio: Data Orchestration on Multi-CloudAlluxio: Data Orchestration on Multi-Cloud
Alluxio: Data Orchestration on Multi-Cloud
 
Aws로 ci하기 안기욱
Aws로 ci하기 안기욱Aws로 ci하기 안기욱
Aws로 ci하기 안기욱
 
AWS 서버리스 신규 서비스 총정리 - 트랙2, Community Day 2018 re:Invent 특집
AWS 서버리스 신규 서비스 총정리 - 트랙2, Community Day 2018 re:Invent 특집AWS 서버리스 신규 서비스 총정리 - 트랙2, Community Day 2018 re:Invent 특집
AWS 서버리스 신규 서비스 총정리 - 트랙2, Community Day 2018 re:Invent 특집
 
AWS를 통한 신뢰성 높은 지속적 배포 및 통합(CD/CI) 사례 - AWS Summit Seoul 2017
AWS를 통한 신뢰성 높은 지속적 배포 및 통합(CD/CI) 사례 - AWS Summit Seoul 2017AWS를 통한 신뢰성 높은 지속적 배포 및 통합(CD/CI) 사례 - AWS Summit Seoul 2017
AWS를 통한 신뢰성 높은 지속적 배포 및 통합(CD/CI) 사례 - AWS Summit Seoul 2017
 
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
 
(OCI 탐험일지) 인스턴스 구성
(OCI 탐험일지) 인스턴스 구성(OCI 탐험일지) 인스턴스 구성
(OCI 탐험일지) 인스턴스 구성
 
스사모 테크톡 - Apache Flink 둘러보기
스사모 테크톡 - Apache Flink 둘러보기스사모 테크톡 - Apache Flink 둘러보기
스사모 테크톡 - Apache Flink 둘러보기
 
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
 
Linux one brief_edm_202002
Linux one brief_edm_202002Linux one brief_edm_202002
Linux one brief_edm_202002
 
넥슨레드 RF실과 함께할 개발자를 찾습니다
넥슨레드 RF실과 함께할 개발자를 찾습니다넥슨레드 RF실과 함께할 개발자를 찾습니다
넥슨레드 RF실과 함께할 개발자를 찾습니다
 
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
 
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
AWS CLOUD 2018- Amazon Aurora  신규 서비스 알아보기 (최유정 솔루션즈 아키텍트)
 
Airflow introduce
Airflow introduceAirflow introduce
Airflow introduce
 
An overview of kubernetes & (very) simple live demo
An overview of kubernetes & (very) simple live demoAn overview of kubernetes & (very) simple live demo
An overview of kubernetes & (very) simple live demo
 
Kubernetes
Kubernetes Kubernetes
Kubernetes
 

OpenStack Heat Orchestration

Editor's Notes

  1. 오케스트레이션이라는 단어 엄청 낯이 익은 단어일텐데요 음악에서 협연을 할 때 쓰이는 단어입니다. 실제 네이버 영어사전에서 검색하면 보시는 바와 같은 내용이 나오구요. 두번째 줄에 있는 뜻에 주목하시면 될 것 같습니다.
  2. 이해를 돕기 위해 오케스트라 구성도를 좀 가져와봤는데요 기본적으로 앞에 바이올린, 비올라, 첼로 구성을 앞에 가져가고 뒤에는 관악기, 그리고 타악기, 피아노로 쭉 구성하게 됩니다. 이때 연주하는 음악이나 지휘자의 음악을 해석하는 방식에 따라 각각의 요소, 즉, 악기들의 구성이 달라지는데요.
  3. 이런 방식으로 서비스를 하는데 필요한 모든 요소들을 정의하고 이를 바탕으로 환경을 구성하는 것을 클라우드에서도 똑같이 오케스트레이션이라고 합니다. Heat은 오픈스택 플랫폼에서 이 오케스트레이션을 담당하는 서비스이구요.
  4. 이 오케스트레이션의 내용을 정의한 것을 템플릿이라고 하고 이 템플릿에 정의된 리소스들의 모음을 스택이라고 합니다. 이는 아마존 웹서비스나 오픈스택에서도 동일하게 사용되는 용어입니다.
  5. 그럼 이 템플릿이 어떻게 구성되는지 한번 보시겠습니다. 먼저 오픈스택에서 이 템플릿파일은 YAML 파일로 정의되는데요 YAML파일의 특징은 보시는 바와 같습니다 (YAML 언급) 크게 히트 템플릿 버전, 그리고 템플릿 설명, 파라메터들, 리소스, 결과값으로 정의를 합니다. 히트 템플릿 버전은 연월일 형식으로 정의를 하는데 이 버전은 사용자가 막 정의하는게 아니라 몇개가 사전에 정의되어 있습니다. 바로 오픈스택 버전에 따라 사전에 정의 되어 있는되요. 이유는 오픈스택의 버전에 따라 히트에서 제공하는 함수가 조금씩 달라지기 때문입니다. 오픈스택의 버전에 따른 히트 템플릿 버전은 다음 페이지에서 설명을 하겠습니다. 다음 디스크립션에 템플릿에 대한 간단한 설명이 나오구요. 파라미터에서는 이 템플릿을 실행할 때 동적으로 받을 데이터값들입니다. 이 예제에서는 이미지 이름, Flavor 종류, 그리고 SSL 공개키, 인스턴스를 연결할 프라이빗 네트워크 입니다. 파라미터로 값을 넘겨주지 않으면 각각의 파라미터에 선언된 디폴트값으로 셋팅이 되게 돕니다. 다음 리소스에는 실질적으로 이 템플릿을 이용해 구성할 구성 요소들이 정의가 되는데요. 화면에서 보이는 템플릿파일은 싱글 인스턴스를 하나 그냥 띄워보는 예제이기 때문에 인스턴스만 정의되어 있습니다. 각각의 리소스는 처음 리소스에 대한 타입을 선언하구, 그 다음은 리소스에 필요한 파라미터를 전달하는 방식으로 정의합니다. 화면의 예제는 Nova의 Server 타입, VM이 정의되어 있는 타입이구 인스턴스를 생성할 때 사용할 OS 이미지, Flavor, SSL키, 그리고 네트워크를 파라미터에서 전달받은 값으로 넘겨주고 있습니다. 마지막으로 아웃풋에서는 리소스들이 성공적으로 생성된 후 리턴할 데이터를 선언합니다. 여기서는 인스턴스의 IP 값을 리턴해주고 있네요. 리턴값이 왜 필요한지 의아하실 수 있는데 지금은 간단한 템플릿이여서 하나의 템플릿에서 끝나지만 실제로는 리소스의 내용이 너무 길어진다던지 아니면 재사용을 위해 구성요소를 별도의 템플릿파일로 떼서 커스텀 타입을 정의할 수 있는데요. 이때 각각의 커스텀타입이 실행이 완료되고 반한된 리턴값을 다른 리소스에서 사용할 때 사용되어 집니다.
  6. 오픈 스택 버전별로 정의된 Heat 템플릿 버전입니다. 잠깐 앞으로 돌아가서 예제를 보면 가장 하단의 get_attr 같은 부분이 Heat에서 제공해주는 함수인데요. 이부분이 버전별로 조금씩 달라지기 때문에 현재 오픈스택의 버전에 따라 화면과 같이 Heat 템플릿 버전도 맞춰서 적용해주어야 합니다.
  7. 다음으로 설명할 내용은 앞서 잠깐 언급했던 커스텀 타입들에 대한 내용인데요. 실제 오케스트레이션 구성에 필요한 내용이 정의 되어 있는 오케스트레이션 템플릿 파일들이 있고 lib 폴더 아래에 보시면 이 오케스트레이션 템플릿을 실행하는데 필요한 환경변수 파일과 따로 모듈화한 커스텀 타입들이 들어있습니다. env.yaml 파일 내에 커스텀 타입명들과 그리고 파일들의 위치가 정의되어있는데 오케스트레이션 템플릿은 이 환경 파일을 바탕으로 필요한 커스텀 타입들을 찾아 사용합니다. 세번째 항목은 리소스에서 커스텀 타입을 사용하는 부분이구요.
  8. Heat 오케스트레이션 템플릿은 Horizon 웹 UI나 CLI 를 통해서 실행할 수 있습니다. 다만 웹상에서는 environment 내용과 parameter 내용이 하단의 Environment Source를 통해 선언되어야 하는 반면 CLI 상에서는 environment와 parameter를 구별해서 정의해줄 수 있습니다. 두번째 CLI 스크린샷을 보시면 Heat stack-create 를 통해 practice-autoscaling 이라는 스택을 생성하구요. -f 옵션으로 템플릿 파일 위치를 그리고 –e 파일로 Environment 파일의 위치, 마지막으로 –P 옵션을 이용해 파라미터를 넘겨주고 있습니다.
  9. Heat 오케스트레이션 템플릿은 Horizon 웹 UI나 CLI 를 통해서 실행할 수 있습니다. 다만 웹상에서는 environment 내용과 parameter 내용이 하단의 Environment Source를 통해 선언되어야 하는 반면 CLI 상에서는 environment와 parameter를 구별해서 정의해줄 수 있습니다. 두번째 CLI 스크린샷을 보시면 Heat stack-create 를 통해 practice-autoscaling 이라는 스택을 생성하구요. -f 옵션으로 템플릿 파일 위치를 그리고 –e 파일로 Environment 파일의 위치, 마지막으로 –P 옵션을 이용해 파라미터를 넘겨주고 있습니다.
  10. 실제 제가 작성한 템플릿 파일들을 한번 보시겠습니다. 싱글 인스턴스 생성과 로드 밸런싱, 그리고 오토 스케일링 세개의 예제파일을 보시겠습니다.