kr dag openstack_기초소개(서종호)

47
오픈스택 기초 1

Upload: jongho-seo

Post on 15-Jul-2015

3.162 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Kr dag openstack_기초소개(서종호)

오픈스택 기초 1

Page 2: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

목차

1. 클라우드

2. 오픈스택

Page 3: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

1. 클라우드 - 개요

1.1 클라우드 컴퓨팅

1.3 서비스 유형

1.2 사용자 요구에 의한 필요 속성

1.4 서비스 운영 형태

서버, 스토리지, 네트워크, SW 등 ICT(정보통신기술) 자원을 필요

시 인터넷을 통해 서비스 형태로 이용하는 방식 탄력성 : 자원을 필요한 만큼 동적으로 확장/줄임

메저드(Measured) : (언제/얼마나) 사용량 모니터 > 과금 활용

셀프 : 관리자 개입 없이 사용자가 원할 때 자원 신청하여 바로 사용

리소스 폴링 : 자원을 가상화 하여 중앙 집중 관리하기 때문에, 개별

사용자에게 멀티테넌시(Multi-Tenacy)방식으로 독립적 자원 제공

IaaS :Intrastructure As A Service, 인프

자 자원(ex. 리눅스, 윈도우 서버) 제공

PaaS : Platform As A Service, 개발에 필

요한 환경을 서비스 형태로 제공

SaaS : Software As A Service, 사용자가

원하는 소프트웨어를 임대/제공

퍼블릭 : 불특정 다수를 대상으로 하는 서비스로 여러 서비스 사용자

가 이용

프라이빗 : 기업 및 기관 내부에 클라우드 서비스 환경을 구성하여 내

부자에게 제한적으로 서비스를 제공

하이브리드 : “퍼블릭 + 프라이빗”, 공유를 원하지 않는 일부 데이

터 및 서비스에 대해 프라이빗 정책을 설정하여 서비스 제공

Page 4: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

1. 클라우드 - 사례

1.5 해외 클라우드 서비스 제공

1.7 국내 클라우드 서비스 제공

1.6 AWS 사용 사례 (쿠키런)

1.8 오픈스택 Use Cases

아마존 웹 서비스 (AWS) : 2014 가트너 선정 넘사벽 1위

마이크로소프트 애저 (Azure)

IBM 소프트레이어 (SoftLayer)

구글 클라우드 플랫폼

랙스페이스 (Rackspace) : 오픈스택 아키텍쳐 사용

출시 직후(가입자 9만원), 출시 후 일주일(120만명 돌파)

KT ucloud biz: 카카오톡 Top 100위 중 30% ucloud 에서 운용

SKT Tcloud biz

LG CNS Cloud

KINX IXcloud : 오픈스택 기반 클라우드 제공(사설, 공용)

월마트 : 대형유통업체, 10만코어 규모 오픈스택 환경 구축 사용중,

작년말 쇼핑시즌 월마트닷컴 미국 서비스 트래픽을 처리했음.

페이팔 : 이베이 자회사이며 세계 최대규모 온라인결제서비스. 2013

년 1만대의 가상서버를 오픈스택 환경 구축 사용중, 확대 예정

야후, 인텔, 디즈니(스피드), BBVA가 오픈스택으로 구축 운영중

국내 : 다음카카오, KINX, KBS

Page 5: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

1. 클라우드 – 핵심 서비스

1.9 스토리지

1.11 네트워킹

1.10 서버

1.12 그외

스토리지 서비스 : 사용자의 데이터를 인터넷에 존재하는 스토리지

에 저장, 삭제, 공유 등을 할 수 있도록 제공

컴퓨트 서비스 : 사용자가 원하는 운영체제가 탑재되어 있는 컴퓨터

혹은 서버를 인터넷상에서 접근하여 사용할 수 있도록 제공

네트워킹 서비스 : 사용자가 사용하는 자원을 인터넷을 통한 연결 기

능 제공, VPN 접속 기능 제공, L4 기능 제공, 방화벽 기능 제공 등

관리, 모니터링, 인증, 빌링, 대쉬보드, 지원 서비스 등

Page 6: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

1. 클라우드 – 오픈소스 형 클아우드 플랫폼

1.13 오픈스택

1.15 유칼립투스

1.14 오픈네뷸랴

1.16 클라우드스택

IaaS 형태의 클라우드 컴퓨팅 오프소스 프로젝트. 비영리 단체인

OpenStack Foundation 에서 유지,보수 하고 있으며, 아파치 라이

센스하에 배포.

2008년 TP1 릴리즈로 시작, 현재는 C21Labs에서 운영 및 유지보수

하고 있으며, 2012년 10월 부터는 상업용 제품만 유지보수

미국 UC 산타바바라 대학에서 소스 프로젝트 시작, 현재는

Eucalyptus systems 회사에서 관리, AWS와 뛰어난 호환성 제공

미국 Cloud.com 개발, 현재 Apache 재단에 인수됨

GUI 관리 콘솔, 멀티 하이퍼바이저, SW방화벽, L4 제공

Page 7: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

2. 오픈스택 - 개요

2.1 태어난날

2.3 최초 버전(Austin)

2.2 릴리즈 (주기:6개월)

2.4 현재 버전(Juno)

2010년 7월 Rackspace사와 미국 항공우주국이 오픈스택

(OpenStack) 오픈소스 프로젝트를 시작.API로 서비스 연동.

단순히 컴퓨트/오브젝트 파일 스토로지/이미지 관리 서비스 만 존재 다양한 서비스 추가 : 데이터베이스 서비스(Trobe), 데이터 프로세

싱(Sahara)

Series Date Kilo 2015-04-30

Juno 2014-10-16

Icehouse 2014-04-17

Havana 2013-10-17

Grizzly 2013-04-04

Folsom 2012-09-27

Essex 2012-04-05

Diablo 2011-09-22

Cactus 2011-04-15

Bexar 2011-02-03

Austin 2010-10-21

Page 8: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

2. 오픈스택 - 서비스

2.5.1 Compute (Nova)

2.5.3 Storage(Swift, Cinder)

2.5.2 Networking (Neutron)

2.5.4 Identity Service (Keystone)

Nova 는 Hypervisor 를 관리하는 API, Instance(VM) 생성 관리,

Hypervisor 는 호스트 컴퓨터에서 다수의 운영 체제(operating system)를 동시에 실

행하기 위한 논리적 플랫폼(platform)

클라우드 스토리지 서비스 - 스토리지 및 스토리지 API 를 제공

블록 스토리지 : Cinder, 정형성 저장 적합(고정필드, 엑셀 등)

오브젝트 스토리지 : Swift, 비정형성 저장 적합(이미지 등), 고유

URI을 갖고 API로 제어(직접 동시 접근 가능), 저장공간 제약 없음

파일 스토리지 : (예정) Manila, NFS & CIFS 공유 파일 서비스

그외 - Ceph의 RDB, RADIOS : 분산 스토리지 오픈 소스 서비스

사용자 및 서비스에 인증 서비스 제공

현재, 오픈스택 망간 연동을 위한 ‘Keystone + Keystone 연합’

논의 진행 중

Instance 간 통신을 위한 네트워킹 환경 제공 목적(API)

Nova (API)

Page 9: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

2. 오픈스택 - 서비스

2.5.5 Image Service (Glance)

2.5.7 Orchestration (Heat)

2.5.6 Dashboard (Horizon)

2.5.8 Telemetry (Ceilometer)

인스턴스 을 위한 Image(OS) 제공 서비스

다양한 하이퍼바이저에서 사용 가능한 Image 관리

템블릿 기반에 오케스트레이션 기능 제공 : 프로비저닝 자동화 등 IT 자원의 모니터링 기능 제공 : 사용량, 성능 측정, 통계 확인

오픈스택 대시보드 서비스이며, 웹으로 자원 관리 가능.

Page 10: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

2. 오픈스택 - 서비스

2.5.9 Database Service (Trove)

2.5.11 지원 : Database (MySQL)

2.5.10 Data Processing (Sahara)

2.5.12 지원 : Message Broker (RabbitMQ)

데이터베이스 서비스(DBaaS), 관계형 데이터베이스 기능 활용 가능

지원 DB : Mysql, NoSQL, In-memory DB

오픈스택에서 정보 저장을 위해서 필요한 SQL DB : MySQL, MariaDB, PostgreSQL

오픈스택 플랫폼 동작을 위한 지원 서비스

오픈스택에서 동작 조정과 서비스간 정보/상태 전달 위해서 필요한 메시지 브로커 : RabbitMQ, Qpid, ZeroMQ

오픈스택 플랫폼 동작을 위한 지원 서비스

하둡, Spark 같은 데이터 중심 App 클러스터 제공 프로젝트

Analyrtics As A Service (AaaS)

Page 11: Kr dag openstack_기초소개(서종호)

오픈스택 기초 2

Page 12: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

목차

1. Architecture Summary

2. Basic environment

3. 첫만남

4. 서버 생성

5. 더 배우자

# 별첨 - 아키텍쳐

Page 13: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

1. Architecture Summary

1.1 Conceptual Diagram – IaaS, 확장 용이, APIs

http://docs.openstack.org/training-guides/content/module001-intro-openstack.html

MySQL Database

RabbitMQ

Page 14: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

1. Architecture Summary

1.2 Logical Diagram – End User, All Service 인증, APIs

Page 15: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

2. Basic environment

2.0 설치 준비 (1 Node)

1 Node All-in-one

(All Service) OpenStack or

DevStack

VMnet0 (bridge)

인터넷

eth0

2.0 설치 준비 (2 Node) Nova-network

1 Node All-in-one

(All Service) OpenStack or

DevStack

VMnet8 (NAT)

인터넷

eth1 eth0

VMnet0 (bridge)

http://sola99.tistory.com/244

Page 16: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

2. Basic environment

2.1 (3Node) Architecture Neutron 2.2 Lab Test 환경(VMware Workstation)

Node 설명

Controller 인증/이미지/관리(컴퓨트/네트워킹), 대쉬보드, DB, message broker, NTP, + (옵션)

Network 네트워크 플로그인(Layer 2/3 agent, NAT/DHCP), 내/외부 연결

Compute 컴퓨트를 위한 하이버바이저, 네트워크(L2 agent), + (옵션)

Controller

Network

Compute

eth0 eth0 eth0 eth1 eth2 eth1

VMnet8 (NAT)

VMnet0 (bridge)

VMnet1 (host-only)

인터넷

VMware Workstation – Virtual Network Editor

http://sola99.tistory.com/203

Page 17: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

2. Basic environment

2.3 HomePC Spec (최소)

VMnet8

VMnet1

VMnet0

2.4 HomePC Example Architecture

Neutron 사용을 위한 최소한의 구성 : 3Node(가상머신 3대로 구

성), 각각 vNIC(가상 NIC 구현을 위한 VMnet 총 3개 사용)

CPU : 2 Core (4Core 권장)

RAM : 8GB (16GB 권장)

Hypervisor : VMware Workstation 9/10 or ESXi(vSphere) 5.5

NIC : 1개

Storage : Disk 1개 (가상머신 전용 Disk 1개 권장)

Node(VM) CPU Mem Storage Eth1 (MgMt) VMnet0

Eth2 (Tunnel) VMnet1

Eth3 (Ext) VMnet8

Controller 1 2GB 80G 10.0.0.11 -

Network 1 1GB 80G 10.0.0.21 10.0.1.21 192.168.18.21

Compute 1 2GB 80G 10.0.0.31 10.0.1.31

Node Name 설명

1 Controller 인증/이미지/관리(컴퓨트/네트워킹), 네트워크플로그인, 대쉬보드, Message Broker, NTP

2 Network 네트워크 플로그인(Layer 2/3 agent, NAT/DHCP), 내/외부 연결

3 Compute 컴퓨트를 위한 하이버바이저, 네트워크(L2 agent)

Node 간단 설명

VMware Workstation 에 설치되는 VM(가상머신) 정보

Page 18: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

2. Basic environment : VMwareWorkstation Networking

2.5 Networking Components 2.7 Virtual Switches Type - Bridged

Host PC의 IP와 동일 대역으로 외부와 통신 가능한 타입, 일반적으로 VMnet0 사용하며, Host PC에 NIC가 여러 개 일 경우 지정 가능

Virtual Switches : VM간 통신을 위한 가상 스위치 기능,

VMnetY(Y=0~9), 타입(Bridged, NAT, Host-only)

Virtual Network Adapters : VM의 가상 NIC, 최대 10개 가능

Virtual DHCP Server : 특정 VMnetY에 DHCP 로 IP할당 가능

NAT Device : Host PC의 IP로 NAT 처리되어 외부 통신 가능 192.168.10.11

192.168.10.12

2.6 Virtual Switches Type - NAT 2.8 Virtual Switches Type – Host Only

보통 VMnet8에 할당된 사설 IP 대역에 가상의 NAT Device를 통해(Gateway IP로 설정) 외부 통신 가능. 1개의 VMnet만 설정 가능

일반적으로 VM과 Host 간 통신 가능한 사설 IP 네트워크 대역

Host PC IP

192.168.10.11

NAT device

192.168.18.2

192.168.18.12(GW .2)

192.168.11.1

192.168.11.12

Page 19: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

3. 첫 만남

3.1 Dashboard – Horizon Service

사용자가 웹 기반으로 다양한 IT 자원 사용

가능한 셀프 포털 서비스(Horizon)

이제 로그인 해보자

그러고 보니 사용자에 대한 인증이 필요

Page 20: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

3. 첫 만남

3.2 Identity Service – Keystone - 인증

보라~ 아무나 접근 할 수 없다~

여기 있는 사용자만 대쉬보드에 접근 가능하

즉 인증(ID/PW , ID/API Key, Token)이

필요하다

이 인증 서비스를 Keystone 이 제공

그런디 이중 cinder 요런 애들이 머지?

Page 21: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

3. 첫 만남

3.3 Identity Service – Keystone - 인증

사용자 뿐 아니라

서비스간 서로 연동이 필요하니

서비스도 Keystone 을 통해 인증 서비스 제

공 받는다~

사용자 서비스1

(cinder)

인증

서비스N (등등)

Page 22: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

3. 첫 만남

3.4 Identity Service – Keystone - Role

자~ 요번은 admin 계정과 demo 계정(일

반 유저)의 차이

즉 사용자 권한에 따른 IT 자원 접근 및 시스

템 접근 제어가 있는 것이다

즉 Role(역활)이 존재

admin 계정 demo 계정

Page 23: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

3. 첫 만남

3.5 Identity Service – Keystone - Role

사용자 생성 시에 역활을 지정 할 수가 있다

역활에 대한 권한 역시 수정 가능

하지만 난 아직 못 해봄 ㅎ

=> 그런디 여기 프로젝트라고 보임, 이건 머

지?

Page 24: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

3. 첫 만남

3.6 Identity Service – Keystone – Project(Tenant)

옛날에 Project 라고 하는 것이 최근에는

Tenant 라는 용어로 부르며, Tenant 는 쉽

게 큰 아파트에 개별 분리 된 세대이다.

즉 각 집에 방, 화장실, 머 분리된 공간을 제

공하며, 공통서비스는 Tenant 라고 해도 공

유해서 지원 받을 수 있는 개념

Tenant 별로 Quota(평 수 제한)가능

사용자는 최소 1개 이상 Tenant에 소속됨

101호 (10평)

102호 (20평)

공통서비스 (인증, 모니터링 등)

103호 (15평)

Page 25: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

3. 첫 만남

3.7 Dashboard – Horizon – API 연동

대시보드(Horizon) 이놈이 어떻게 각각 서비스를 동작 시킬까?

먼가 명령을 내려야 되고, 정상 동작했는지 결과 확인 해서 GUI로 표출해야 한다

이놈이 바로 API 이닷

Object Storage

Image Service

Compute Service

Block Storage

Networking Service

Page 26: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

3. 첫 만남

3.8 API 란

응용프로그램 |

GUI 표현 운영체제

응용프로그램과 운영체제는 미리

정해진 API로 서로 통신

즉 API는 상대방과 통신하기 위해 미리 짜여

진 규약

집을 지는 다고 가정 시 손으로 집을 짓는 것

보다는 망치(도구 = API)를 사용 시 휠씬 빨

리 집을 만들 수 있다

프로그램을 개발 시 API를 사용 시 훨씬 빨

리 개발 완료가 가능하다

Page 27: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

4. 자 그럼 이제 서버를 생성해볼까?

4.1 Compute Service – Nova – Instance(VM) 가상머신 생성

(1)공개키등록 CPU, Memory

CD-ROM (설치 이미지)

NIC(IP, Networking, 보안그룹)

(옵션) Key – OS Login 시

가상 스위치(Neutron)

사용자 (Secret Key) (Public Key)

사용자정보DB (Public Key)

(2)VM에 입력

(3)Secret key 인증 저성능 서버

Flavor

스토리지(Block Volume) 가상디스크

New Instance(VM)

Page 28: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

4. 자 그럼 이제 서버를 생성해볼까?

4.2 Compute Service – Nova – Flavor

Flavor 은 가상머신 성능별 Template

Page 29: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

4. 자 그럼 이제 서버를 생성해볼까?

4.3 Compute Service – Nova – Image Server (Glance)

PC에 OS를 설치하기 위해서 CD-ROM 에

설치 Disk 를 넣는 것 처럼 설치 이미지 카탈

로그 서비스를 Glance 서비스 > 뒷편 5.1

에서 소개

Page 30: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

4. 자 그럼 이제 서버를 생성해볼까?

4.4 Compute Service – Nova – Instance(VM) 접근 시 인증

4.1에서 보았던 Key 를 사용한 Instance

SSH 접근 시 해당 key 가지고 접근

키 페어 아래에 시큐리티 그룹은 해당

Instance(VM) 당 접근 시 보안 정책(추

후 설명)

Key 생성

Page 31: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

4. 자 그럼 이제 서버를 생성해볼까?

4.5 Compute Service – Nova – Networking

VM이 연결되는 가상 네트워크를 선택,

생성 이후 네트워크 토폴로지에서 확인,

기존 Nova-network 는 기능적 제약으로

현재는 Networking(Neutron) 권장

Page 32: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

4. 자 그럼 이제 서버를 생성해볼까?

4.6 Compute Service – Nova – Instance 확인 - novncproxy

정상적인 Instance(VM) 생성 확인됨,

왼쪽 ping 10.1.0.1 은 가상라우터의 IP 임

Instance(VM)에 기본적으로 DHCP로 IP

자동 할당됨,

브라우저에 Token 확인(접근 가능, 인증)

웹브라우저에서 Instance 접근(내부 VNC)

Page 33: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

4. 자 그럼 이제 서버를 생성해볼까?

4.7 Compute Service – Nova – 지원 Hypervisor

Group 종류 특징

A Libvirt (qemu/KVM on x86), docker(Juno) Driver Full 지원

B Hyper-V, VMware, XenServer 6.2 Middle 지원

C Baremetal, docker, Xen via libvirt, LXC via libvirt 곧 지원 안됨, risk 있음

https://wiki.openstack.org/wiki/HypervisorSupportMatrix https://wiki.openstack.org/wiki/HypervisorSupportMatrix/DeprecationPlan

Page 34: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

5. 더 배워보자~

5.1 Image Service - Glance

VM에게 설치 시 필요한 이미지 제공,

해당 이미지는 Storage adapter 를 통하여

다양한 Storage(Local, Remote)에 저장,

오른쪽 상단에 다양한 이미지 포맷 지원

Glance 지원 이미지

Cirros Fedora 19: 32-bit / 64 bit (more info) Fedora 18: 32-bit / 64-bit CentOS 6.5 images Ubuntu cloud images OpenSuse cloud images RHEL 7 image (Requires RHEL subscription) RHEL 6 image (Requires RHEL subscription) Windows Server 2012 test image

Page 35: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

5. 더 배워보자~

5.2 Block Storage - Cinder

Cinder 는 Instance(VM)에 추가되는 하드

디스크를 제공해주며, 다양한 스토리지(드

라이버 지원)를 Cinder 에 저장 공간으로

사용할 수 있음,Volume 경우 VM과 연결해

제 되더라도 삭제 하지 않을 경우 남아 있음

Instance1

Volume1

연결

Instance1

Volume1

연결해제

Instance2

Volume1

연결

Page 37: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

5. 더 배워보자~

5.4 Telemetry module - Ceilometer

다양한 IT 자원의 사용량으로 빌링(과금)이 중요하다. 이외에 Ceilometer 를 통하여 성

능 리포트, 장애처리, 성능 예측, 최적화, 빅데이터에 활용

Page 38: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

5. 더 배워보자~

5.5 Orchestration service – Heat

Orchestration service 는 template-

based orchestration (그룹별 자원 구분

사용 기능)을 제공.

고급 기능인 instance high availability,

instance auto-scaling, and nested

stacks 기능을 제공.

Puppet 와 Chef 연동 가능. AWS CloudFormation

TOSCA : Topology and Orchestration Specification for Cloud Applications

Page 39: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

5. 더 배워보자~

5.6 DBaaS 5.7 LBaaS

DB 서버를 서비스 개념으로 제공

지원 : Mysql, Mongo, Cassandra, Redis

HAProxy는 오픈소스 로드 밸런서로 L4,L7 기능 및 로드 밸런서 기능을 제공함

http://www.slideshare.net/shakhat/openstack-lbaas-presentation

Page 40: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

5. 더 배워보자~

5.8 VPNaaS 5.9 XaaS (Any Service)

이외 다양한 기술/솔루션을 서비스 형태로 제공

Page 41: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

별첨) OpenStack API Interfaces

OpenStack API Interfaces

https://speakerdeck.com/leewin12/rest-api-seolgye RESTful API(한글) http://www.youtube.com/watch?v=C87rTWUGYp4 OpenStack REST Client http://docs.openstack.org/ko_KR/api/quick-start/content/index.html (한글)

Dashboard : Web 기반 GUI 로 요청

CLI client : Linux CLI 형태로 직접 요청

REST Client : 웹 브라우저 기반에서 요청

cURL : 명령줄로 HTTP 형태로 요청

$ curl -i -X GET http://166.78.21.23:35357/v2.0/tenants -H

"User-Agent: python-keystoneclient" -H "X-Auth-Token: token"

python : python sdk를 통해 REST 요청

Other : ???

Page 42: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

별첨) Messaging and Queue

Messaging and Queues

메시지 큐는 비동기적으로 대큐모의 메시지를 안정적으로 전송하는 데 사용되며, 클라우드 통합 관리 도구에서는 백엔드 시스템에 대한 사용자의 요청(주로 API 호출)을 비동기적으로, 순차적으로 처리하는 동시성 제어 용도로도 사용된다. 표준 포멧 메시지를 교환하며, 다양한 프로그래밍 언어를 지원(프로토콜 독립적)인 AMQP중 가장 많이 사용하는 것이 RabbitMQ 임.

다수의 Compute Node(‘Nova’) 및 Network Node(Neutron’), Storage Node(‘cinder’)는 “PRC over AMQP”를 사용하여 RPC 호출/확인

http://killins.egloos.com/3025514 AMQP 설명(한글)

Page 43: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

별첨) Identity Service - Keystone

3.1 Keystone Logical Architecture 3.2 Keystone Verify

Keystone : 사용자 및 API에 대한 인증 및 권한 설정 서비스를 제공

사용자 별 토큰(임시 사용) 검증 및 관리 서비스 이용 가능한 서비스 정보를 제공하는 카탈로그 서비스 규칙 기반의 권한 설정 기능을 제공하는 서비스(Tenant, User, Role) 사용자에 대한 인증 서비스

Keystone Concepts

User : 사용자, 1개 이상의 Tenant 에 소속, 로그인 시 토큰(Token) 획득 자격 : ID+PW, ID+API Key, Identity Service 로 부터 인증을 통해 생성된 Token Tenant : 독립적인 자원의 그룹, 공유 서비스 사용 가능 Service : 사용자가 접근 가능한 1개 이상의 endpoint 를 제공하는 것 Endpoint : 네트워크 접근 주소, 보통 URL Role : User이 특정 tenant에 대하여 어떤 operation들을 실행이 가능한지를 정의

keystone tenant-list keystone user-list

keystone role-list keystone service-list

keystone endpint-list , keystone catalog(스샷은 없음)

대쉬보드에서 확인

Page 44: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

별첨) Image Service - Glance

4.1 Glance Logical Architecture 4.2 Glance Verify Glance 기능

Image Service 는 Virtual Disk Images 의 등록 역활 사용자는 Image를 추가하거나 SnapShot 생성 가능 해당 Image 를 storage adapter 통해 저장 가능

Glance Concepts

glance-api : 이미지 발견,등록,회수 API 호출 허용 glance-registry : 이미지의 metadata를 등록,처리 database : 이미지의 메타데이터를 저장 Storage Adapter : 이미지를 다양한 곳에 저장

Storage Adapter

Swift FileSystem

Cinder

HTTP

S3 RBO

Glance 지원 이미지

Cirros Fedora 19: 32-bit / 64 bit (more info) Fedora 18: 32-bit / 64-bit CentOS 6.5 images Ubuntu cloud images OpenSuse cloud images RHEL 7 image (Requires RHEL subscription) RHEL 6 image (Requires RHEL subscription) Windows Server 2012 test image

glance image-list

대쉬보드에서 확인

Page 45: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

별첨) Compute Service - Nova

Nova Logical Architecture 구성요소 설명

API nova-api 서비스 : 사용자의 API 호출에 응답, Compute API, 아마존 EC2 API, Admin API를 지원

nova-api-metadata 서비스 : Instance 의 metadata 요청에 응답, 보통 Multi-host mode with nova-network 환경에서 서비스 됨

Compute core nova-compute process : Hypervisor APIs 를 통해 Instance 를 생성하고 종료하는 daemon (ex, XenAPI for XenServer, libvirt for KVM or QEMU, VMware API for VMware), Queue에서 작업을 수락하고 API로 명령을 내리며, DB에 업데이트 함

nova-scheduler process : Queue 로 부터 받은 요청을 어떤 compute 서버를 run 할 것 인지 스케줄

nova-conductor module : nova-compute 와 database 간에 상호 작용 연계, nova-compute 가 직접 DB를 access 하는 일을 대신 처리해서 부하를 분산(?), 하지만 compute any node에 꼭 설치는 필요 없음(?)

Networking for VMs

nova-network worker daemon : Queue 로 부터 network 작업을 허용, 이를 통해 bridging 인터페이스와 iptables rules 를 변경

nova-dhcpbridge script : dhcp-script 인 dnsmasq DB로 IP를 할당 기록 관리함

# 현재 위 2가지 기능은 Networking Service 에서 제공함

Console Interface nova-consoleauth daemon : console proxies(nova-novncproxy, nova-xvpnvncproxy) 사용 시 인증 token 부여

nova-novncproxy daemon : VNC 연결로 Instance 접근을 위한 Proxy, browser-based novnc clients 제공

nova-xvpnvncproxy daemon : VNC 연결로 Instance 접근을 위한 Proxy, Java client 지원

nova-cert daemon : x.509 인증서를 관리

Image management (EC2 scenario)

nova-objectstore daemon : Image Service 에 Images 등록 시 S3 Interface 제공, 주로 설치 시 euca2ools 사용,

euca2ools client : cloud resource 관리를 위한 명령어 체계

CLI client 와 other interface

nova client : tenant administrator 또는 end user 가 CLI 적용

nova-manage client : cloud administrators 가 CLI 적용

그외 구성요소 The queue : daemon 사이에 messages 전달, 보통 RabbitMQ로 구현

SQL database : cloud infra 상태 저장, 보통 instance type 과 가용 network, project(현황)

Page 46: Kr dag openstack_기초소개(서종호)

http://sola99.tistory.com

별첨) Compute Service - Nova

Nova VM Provisioning 5.2 Nova Supported Hypervisors and Bare Metal

https://wiki.openstack.org/wiki/HypervisorSupportMatrix https://wiki.openstack.org/wiki/HypervisorSupportMatrix/DeprecationPlan

Group 종류 특징

A Libvirt (qemu/KVM on x86), docker(Juno) Driver Full 지원

B Hyper-V, VMware, XenServer 6.2 Middle 지원

C Baremetal, docker, Xen via libvirt, LXC via libvirt

곧 지원 안됨, risk 있음

Libvirt : 원격 또는 로컬 리눅스 서버를 대상으로 다양한 가상화 작업을 제공해주는 관리 툴킷

Libvirt : 원격 또는 로컬 리눅스 서버를 대상으로 다양한 가상화 작업을 제공해주는 관리 툴킷

http://www.iamroot.org/xe/Hypervisor_3_KVM/72349 http://www.linux-kvm.org/page/FAQ

Page 47: Kr dag openstack_기초소개(서종호)