Skip to main content
공개소프트웨어
오픈스택 입문 & 파헤치기
Ocata / Pike
[공개소프트웨어 오픈스택 입문 & 파헤치기]
클라우드 컴퓨팅과 공개 소프트웨어
최영락, 오픈스택 한국 커뮤니티 3기 대표
Ocata / Pike
Agenda
• 클라우드 컴퓨팅 소개
• 클라우드 컴퓨팅 관련 용어
• 클라우드 컴퓨팅 분야 공개 소프트웨어
클라우드 컴퓨팅: 개념
대형 전력회사에서 전기를 받아쓰듯이 중앙집중화 된 대형 데이터센터에서 서비스를 받고, 소프트
웨어 프로그램들도 인터넷 망을 통해서 자유롭게 빌려 쓴다. IT 자원을 구매하거나 소유할 필요 없
이, 필요한 만큼 사용료를 주고 쓰는 개념이 바로 “클라우드컴퓨팅” 이다.
- 세계적 IT 미래학자 니컬러스 카
클라우드 컴퓨팅: 배경 및 필요성
클라우드 컴퓨팅: 경제성
• 실제 자원 활용률: 5%~20%
• 특정 시점에서만 활용률이 높음
- 스포츠 시즌: 영상 스트리밍
- 쇼핑 시즌: 초콜릿 쇼핑몰
(예: 발렌타인데이/빼빼로데이)
클라우드 컴퓨팅: 관련 용어
Cloud Council, “Cloud Computing Use Cases White Paper’
클라우드 컴퓨팅: 제공 유형에 따른 분류
Iaa
S
인프라 제공 서비스
프로세싱 파워, 서버, 네트워크, 가상화 및 OS와 같은 기본적인 컴퓨팅 자원을
제공하는 클라우드 서비스
Paa
S
플랫폼 제공 서비스
클라우드 컴퓨팅 환경을 통해 어플리케이션 개발 플랫폼을 제공하는 서비스.
단말을 위한 API를 제공하거나 다양한 이기종 간의 단말에서의 개발 환경을 제
공
Saa
S
소프트웨어 제공 서비스
별도의 전용 소프트웨어를 제공하여 소비자가 단지 어플리케이션만을 사용하
고 어플리케이션이 실행되는 운영체제, 하드웨어 또는 네트워크 인프라는 제
어하지 않는 클라우드 서비스
클라우드 컴퓨팅: 사용 유형에 따른 분류
Public
공용 클라우드
제3의 회사 (예: Amazon AWS, Microsoft Azure, Google Cloud, KT
uCloud, NAVER Cloud, TOAST)에서 제공하는 클라우드를 인터넷으로
접속해 사용
Private
사설 클라우드
인터넷을 통하지 않고 사내 등에 직접 하드웨어 구입 후 클라우드를 구축
. 네트워크 속도, 보안 및 법적인 문제에 따라 사용하는 경우가 많음
Hybrid
하이브리드 클라우드
공용 클라우드와 사설 클라우드의 적절한 조합
클라우드 컴퓨팅: 데이터센터
• 해외 & 국내 데이터센터
클라우드 컴퓨팅: 클라우드와 가상화
서버 가상화 vs. 네트워크 가
상화
• 서버 가상화는 매우 빠르게 성장하여 클라우드를 이루는 기반 기술이 되었습니다
✓ 하이퍼바이저: VMware ESXi, Citrix XenServer, Microsoft Hyper-V, …
✓ 하드웨어 지원: Intel VT/VT-x, AMD-v
• 네트워크 가상화를 통해 가상화된 서버 자원을 묶어 독립적인 네트워크로 사용합
니다
클라우드 컴퓨팅: 컨테이너 & 베어베탈
• 가상 머신은 하이퍼바이저 위에서 별도의 운영체제와 함께 동작합니다
• 컨테이너는 공통된 운영체제 (커널)를 기반으로 독립적으로 응용프로그램을 실행
합니다
• 베어베탈은 가상화 / 컨테이너 기반이 준비되어 있지 않은 물리 서버로, 베어메탈
에 가상화 / 컨테이너 서비스를 구축하여 클라우드 컴퓨팅 서비스를 만듭니다
클라우드 컴퓨팅: 프로그래머블 / 소프트웨어 정의 인프라
• 원하는 때 원하는 만큼 자원을 확장하거나 줄이는 과정을 수동이 아닌 프로그래밍
가능한 인프라 환경을 통해 자동으로 이루어집니다
• 인프라 전체를 소프트웨어 기반으로 제어하는 환경을 소프트웨어 정의 인프라 /
소프트웨어 정의 데이터센터 등 용어로 이야기하기도 합니다
CLOUD API
클라우드 컴퓨팅 관련 공개 소프트웨어
• 클라우드 컴퓨팅 구축
• 소프트웨어 기반 자동화
• 가상화 기술
• 가상 머신 운영체제 & 프로그램
• 모바일 클라우드 컴퓨팅
• 네트워크 관리
• …
클라우드 구축을 위한 공개 소프트웨어
OpenNebula
• 2008년 3월 기술 프리뷰 버전을 오픈소스로 릴리즈하면서 발전
• 현재는 OpenNebula Systems (이전 C12G Labs) 회사에서 운영 및 유지보수 중
• 2017년 7월 기준 버전 5.4.0으로, 3.8부터는 상업용 제품에 대해서만 유지보수 중
• 지원 하이퍼바이저: KVM, Xen, VMware ESXi, Hyper-V
• 라이선스: Apache License 2
Eucalyptus
• “Elastic Utility Computing Architecture for Linking Your Programs To Useful
Systems” 에 대한 약어
• 클라우드 컴퓨팅 시스템에 대한 활발한 연구와 커뮤니티를 조성하기 위해 미국
UC 산타바바라 대학에서 시작된 오픈소스 프로젝트
• 2014년 9월 휴렛펙커드 (HP)에서 인수
• 현재는 DXC Technology에서 유지보수
• 라이선스: BSD
CloudStack
• Cloud.com 사가 개발한 오픈소스 클라우드 환경 구축 소프트웨어
• GUI 기반 관리 콘솔, 멀티 하이퍼바이저, 소프트웨어 방화벽, 로드밸런서를 기본
제공
• 2011년 7월 Citrix Systems로 인수되었다가 2012년 4월 Apache 재단에 Donate
• 2017년 8월 기준 버전 번호: 4.10.0.0
• 라이선스: Apache License 2
OpenStack
• Python으로 구현된 클라우드 관리를 위한 오픈소스로, 활발한 커뮤니티 활동과
함께 발전 중
• 한국 커뮤니티: 오픈스택 활성화, 대시보드 & 문서 번역 활동 등
• 라이선스: Apache License 2
[공개소프트웨어 오픈스택 입문 & 파헤치기]
오픈스택 소개
최영락, 오픈스택 한국 커뮤니티 3기 대표
Ocata / Pike
Agenda
• OpenStack이란?
• OpenStack 역사 & 릴리즈
• OpenStack 구성 요소
• OpenStack과 하이브리드 클라우드
OpenStack (오픈스택)이란?
• 클라우드 환경에서 컴퓨팅 자원과 스토리지 인프라를 셋업하고 구동하기 위해
사용하는 오픈 소스 소프트웨어 프로젝트의 집합
OpenStack에 대한 다른 정의들
• OpenStack은 공용 (Public) 클라우드와 사설 (Private) 클라우드 구축을 가능하게
하는 오픈 소스 소프트웨어
• OpenStack은 서버, 스토리지, 네트워크들과 같은 자원들을 모두 모아, 이들을
제어하고 운영하기 위한 클라우드 Operating System
• OpenStack은 오픈 소스를 기반으로 클라우드를 구축하고 운용하고자 하는 오픈
소스 개발자, 회사, 사용자들이 주축이 되어 발전하는 커뮤니티
• IaaS 형태의 클라우드 컴퓨팅 오픈 소스 프로젝트로 컴퓨팅, 스토리지, 네트워킹
자원을 관리하는 여러 개의 하위 프로젝트들로 이루어짐
• …
• 빠른 글로벌 오픈 소스 커뮤니티 성장세
OpenStack의 성장
COMPANIES
TOTAL CONTRIBUTORS
AVERAGE MONTHLY
CONTRIBUTORS
CODE CONTRIBUTIONS
1,036 238 70,137
231
10,149
INDIVIDUAL MEMBERS
COUNTRIES
121
As of July 2013
[1] OpenStack Foundation, OpenStack 3rd Birthday Presentation, Jul 10 2013
[2] http://docs.openstack.org/ko_KR/upstream-training/workflow-metrics.html#2 (Oct 2015)
[3] OpenStack Foundation, OpenStack 6th Birthday Presentation, July 2016
(2015년 10월)
(2016년 7월)
• 코어 >= 5,000,000 개가 Production 환경에서 사용 중 (2017년 4월 통계)
• 전체 OpenStack 환경 중 2/3 (그 외: 개발용, QA용, PoC, …)
OpenStack: Production 환경
Source: User Survey, April 2017
OpenStack을 사용하는 곳
RETAIL/E-COMMERCE FINANCIAL TELECOM ACADEMIC/RESEARCH
ENERGY MANUFACTURING ENTERTAINMENT
+ 국내: KBS, 현대자동차, 카카오 등
OpenStack 역사
• OpenStack 핵심 컨트리뷰터
• 초기: Rackspace & NASA
• Rackspace: OpenStack의 Object Storage라고 하는 “Cloud Files”
부분 플랫폼을 개발하는 데 기여하기 시작
• NASA: 기존 "Nebula" 플랫폼을 발전시켜 컴퓨팅 자원 플랫폼을
개발하는 데 기여
• 2012년 5월: NASA와 OpenStack 관계 종료
• 2012년 9월: VMWare社가
OpenStack foundation에 가입
• 그리고, 많은 회원사 & 참여자
들이 참여하고 있음!
[1] http://www.wired.com/wiredenterprise/2012/04/openstack/
The library of the Rainbow Mansion
OpenStack 릴리즈
• 6개월 주기로 릴리즈 발표
• 릴리즈: 개발자 서밋 & 미팅에 맞추어 계획됨
• 2016년까지 OpenStack Summit에서 개발자 회의가
진행됨 (OpenStack Design Summit)
• 2017년부터 PTG (Project Team Gathering)이라는
이름으로 별도 개발자 행사 개최
• 기본적으로 업그레이드 버전업 미지원 (최근부터
지원하기 시작)
• 새로운 특징 및 핵심 기능들은 보통 1년을 주기로
많은 변화가 생김
릴리즈
이름
릴리즈
일자
포함된 컴포넌트
코드 이름
Austin 21 October 2010 Nova, Swift
Bexar 3 February 2011 Nova, Glance, Swift
Cactus 15 April 2011 Nova, Glance, Swift
Diablo
22 September
2011
Nova, Glance, Swift
Essex 5 April 2012 Nova, Glance, Swift, Horizon, Keystone
Folsom
27 September
2012
Nova, Glance, Swift, Horizon, Keystone,
Quantum, Cinder
Grizzly 4 April 2013
Nova, Glance, Swift, Horizon, Keystone,
Quantum, Cinder
Havana 17 October 2013
Nova, Glance, Swift, Horizon, Keystone,
Neutron, Cinder, Heat, Ceilometer
Icehouse 17 April 2014 + Trove
Juno 16 October 2014 + Sahara
Kilo 30 April 2015 + Ironic
Liberty 15 October 2015
+ Zaqar, Manila, Designate, Barbican,
Searchlight
Mitaka 7 April 2016 + Magnum
Newton 6 October 2016
+ >10 components
Ocata 22 February 2017
Pike 30 August 2018
Queens 28 February 2018
Rocky 2018년 8월 예정
OpenStack 릴리즈 이름
• 차후 Summit이 개최되는 장소와 관련된 지명 등을 중심으로 설문 후 법적 이슈가 없는
이름을 선택
• N: Austin 서밋이 개최된 근처에 Newton House가 있음
• O: Olimpic이 설문 1위였으나, Olympic과의 유사성 등으로 3위로 선정된 Barcelona 근처 해변
이름인 Ocata가 선정
OpenStack 구성 요소
Compute (컴퓨팅)
Storage (스토리지)
Network (네트워크)
Nova
Swift (Objects)
Glance (Images)
자원 종류
OpenStack
구성 요소 이름
(Quantum) Neutron
Cinder (Block)
Identity (인증) Keystone
OpenStack 구성 요소 ➔ (조금 더 쉽게 보면…)
• Nova
• Swift
• Glance
• Keystone
• Horizon
• Cinder
• Neutron
• Heat
• Ceilometer
• …
VM 인스턴스 관리
Object 스토리지
관리
VM 이미지 관리
통합 인증 관리
웹 관리 포털
Block
스토리지
관리
(가상) 네트워크 관리
템플릿
관리
Metering
관리
소프트웨어로 클라우드 인프라를 자동화하는 OpenStack
단일 플랫폼
가상 머신, 컨테이너,
베어 메탈
프로그래머블 인프라
Compute, 네트워킹,
스토리지를 관리하는
API 공통 집합
➔ “오픈” 소스, 디자인, 개발, 커뮤니티
개방형 인프라
새로운 기술: 커뮤니티 간 협력
Containers PaaS NFV Provisioning
테스트: 커뮤니케이션 & 피드백
OpenStack CI 테스트
OpenStack 서밋 & 포럼
PTG (Project Team Gathering)
OpenStack과 하이브리드 클라우드
https://www.slideshare.net/randybias/openstack-architected-like-aws-and-gcp
OpenStack과 하이브리드 클라우드
https://www.slideshare.net/daviddalisusanibarar/hybrid-cloud-aws-openstack-vmware
[공개소프트웨어 오픈스택 입문 & 파헤치기]
오픈스택을 설치하기 위한 시스템 준비
장태희, 오픈스택 한국 커뮤니티 3기 스터디 매니저
Ocata / Pike
Agenda
• 가상 서버 준비하기
• 우분투 서버 설치하기
• 네트워크 테스트 베드 준비하기
가상 서버 준비하기 – Hypervisor 설치 전 준비
➡CPU : 4 core 이상
➡Memory : 4GB 이상
➡Disk : 500GB
➡Memory : 8GB 이상 (single instance 이상의
경우 인스턴스 메모리 크기 x 인스턴스의 개수)
최소 사양 권장 사양
가상 서버 준비하기 – VirtualBox 설치
우분투 서버 설치하기 – 우분투 서버 다운로드
https://www.ubuntu.com/download/server
우분투 서버 설치하기 – VirtualBox에서 VM 생성
네트워크 테스트 베드 구성하기
인터넷
모뎀인터넷 공유기
(라우터)
무선 네트워크
유선 네트워크 출처 : 오픈스택을 다루는 기술 (장현정) - 길벗출판사
네트워크 구성도
인터넷
AP 192.168.0.1
Ubuntu 16.04 Server
HOST IP (enp0s3) 192.168.0.20
Nova
Nova-api
Nova-network
Nova-
compute
Cinder
KVM
Keystone
Glance
OpenStack
VM5
10.0.0.6
VM4
10.0.0.5
VM3
10.0.0.4
VM2
10.0.0.3
VM1
10.0.0.2
10.0.0.0/20 fixed IP 범위
로컬 네트워크 IP 영역
192.168.0.20
enp0s3
br100
VirtualBox를 이용한 오픈스택 설치
192.168.0.101
Fixed IP Range
10.0.0.0/20
Floating IP Range
192.168.0.128/28
출처 : 오픈스택을 다루는 기술 (장현정) - 길벗출판사
Installation Demo
[공개소프트웨어 오픈스택 입문 & 파헤치기]
DevStack으로 오픈스택 시작하기
장태희, 오픈스택 한국 커뮤니티 3기 스터디 매니저
Ocata / Pike
Agenda
• Devstack 소개
• Devstack 설치에 필요한 settings
• Devstack 설치해보기
DevStack이란?
- 복잡한 오픈스택 시스템을 자동으로 설치하여 어떻게 동작하는지 알기 위한 프로젝트
- 오픈스택을 처음 접하는 유저에게 추천
- 오픈스택의 프로젝트의 All-in-One 설치를 제공하며, 어떤 구성요소들이 있는지 확인할 수 있음
https://docs.openstack.org/devstack/latest/
DevStack설치를 위한 사전 준비
✓최신 버전의 Virtualbox (https://www.virtualbox.org/wiki/Downloads)
✓Intel : VT-d, VT-x / AMD : AMD-V를 지원하는 64비트 CPU
✓8GB 이상의 RAM
✓Ubuntu Server LTS 최신버전 VM에 설치 (https://www.ubuntu.com/download/server)
✓DevStack 프로젝트 repository (git://git.openstack.org/openstack-dev/devstack.git)
✓VM으로 DevStack Clone
✓local.conf 설정
DevStack 설치에 필요한 settings
✓cp devstack/samples ../
✓vim local.conf
[[local|localrc]]
ADMIN_PASSWORD=openstack
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
https://docs.openstack.org/devstack/latest/configuration.html
DevStack 설치
✓stack 유저 추가
$ sudo useradd –U –G sudo –s /bin/bash –m stack
$ echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
$ sudo passwd stack
$ sudo su – stack
✓DevStack 다운로드
$ git clone https://git.openstack.org/openstack-dev/devstack
$ cd devstack
DevStack 설치
✓sudo apt update && sudo apt dist-upgrade && sudo apt install git
✓local.conf 파일 생성하기
✓설치 시작
./stack.sh
Installation Demo
DevStack 설치 후 확인
DevStack 설치 후 주의사항
✓DevStack이 설치된 VM의 OS를 종료하지 말고 스냅샷을 만드십시오
✓DevStack을 VM 내에서 종료해야 할 경우 unstack.sh를 이용하십시오
✓github에서 DevStack을 Clone한 뒤 실행 전 branch를 버전에 맞게 checkout하여 주십시오
✓Virtualbox에서 32bit 옵션만 있는 경우 BIOS에서 Virtualization Technology 활성화와 Hyper-V가
꺼져 있는지 확인하여 주십시오
[공개소프트웨어 오픈스택 입문 & 파헤치기]
오픈스택 매뉴얼 설치: Newton 버전 (1)
신호철 & 최영락, 오픈스택 한국 커뮤니티 3기 운영진
Ocata / Pike
Agenda
• OpenStack Newton 버전 소개
• 한글 설치 가이드 소개
• 설치 개요
• 설치 과정 (1/2)
- 기본 환경 구성
- 인증 서비스 (Keystone) 구성
- 이미지 서비스 (Glance) 구성
- Compute 서비스 (Nova) 구성
OpenStack Newton 버전
• 2016년 10월 6일 출시
• OpenStack 14번째 릴리즈
• 2018년 기준, 실제
Production에서도 많이
사용하는 안정 버전
OpenStack 한글 설치 가이드 소개
• https://docs.openstack.org/ko_KR/ 에서 여러 릴리즈에 대한 설치 가이드 확인 가능
(또는 docs.openstack.org -> “More Releases & Languages” -> “한국어 (Korean)”
OpenStack Newton 설치 가이드
• 본 설치 과정은 Ubuntu 16.04에서 Newton 버전을 설치
: https://docs.openstack.org/newton/ko_KR/install-guide-ubuntu/
설치 개요
• 설치 과정 참고: http://bit.ly/openstack-newton-manual-steps
• 1편
- 기본 환경 구성 (VirtualBox 하드웨어 설정, hosts 설정, ping 테스트, chrony 설치)
- 인증 서비스 (Keystone), 이미지 서비스 (Glance), Compute 서비스 (Nova) 구성
• 2편
- 네트워킹 서비스 (Neutron), 대시보드 서비스 (Horizon),
블록 스토리지 서비스 (Cinder) 구성
기본 환경 구성 - VirtualBox 예시
• https://www.ubuntu.com/download 에서 Ubuntu Server 또는 Desktop iso 다운로드
• 가상 머신 2대 준비 & 설치
### Controller node
- network device 1: 호스트전용 네트워크 (enp0s3)
- network device 2: 브리지모드 (enp0s8)
- network device 3: NAT (enp0s9)
- disk : 20G ( OS용)
- HOST NAME : controller
### Compute node
- network device 1: 호스트전용 네트워크 (enp0s3)
- network device 2: 브리지모드 (enp0s8)
- network device 3: NAT (enp0s9)
- disk : 20G ( OS용 )
- disk 1 : 8G ( Block Storage service)
- disk 2 : 8G * 3ea ( Object Storage services )
- HOST NAME : compute
설치 Demo
• 참고 사항
- 설치 데모에서는 vi 편집기 사용을 가정하였습니다.
익숙하지 않은 경우, vi 대신 nano 편집기를 사용합니다.
: “vi /etc/network/interfaces” 대신 “nano /etc/network/interfaces” 사용
=> Ctrl+O: 파일 저장, Ctrl+X: 편집기 종료
- 언급하였던 http://bit.ly/openstack-newton-manual-steps 및
https://docs.openstack.org/newton/ko_KR/install-guide-ubuntu/ 문서를
참고하여 설치 과정을 자세히 확인할 수 있습니다.
- 다른 배포판 (CentOS, SUSE) 설치시, 배포판 특성에 따른 차이는 있으나,
전체적인 설치 과정은 동일합니다.
[공개소프트웨어 오픈스택 입문 & 파헤치기]
오픈스택 매뉴얼 설치: Newton 버전 (2)
신호철 & 최영락, 오픈스택 한국 커뮤니티 3기 운영진
Ocata / Pike
Agenda
• 설치 개요
• 설치 과정 (2/2)
- 네트워킹 서비스 (Neutron) 구성
- 대시보드 서비스 (Horizon) 구성
- 블록 스토리지 서비스 (Cinder) 구성
OpenStack Newton 설치 가이드
• 본 설치 과정은 Ubuntu 16.04에서 Newton 버전을 설치
: https://docs.openstack.org/newton/ko_KR/install-guide-ubuntu/
설치 개요
• 설치 과정 참고: http://bit.ly/openstack-newton-manual-steps
• 1편
- 기본 환경 구성 (VirtualBox 하드웨어 설정, hosts 설정, ping 테스트, chrony 설치)
- 인증 서비스 (Keystone), 이미지 서비스 (Glance), Compute 서비스 (Nova) 구성
• 2편
- 네트워킹 서비스 (Neutron), 대시보드 서비스 (Horizon),
블록 스토리지 서비스 (Cinder) 구성
설치 Demo
• 참고 사항
- 설치 데모에서는 vi 편집기 사용을 가정하였습니다.
익숙하지 않은 경우, vi 대신 nano 편집기를 사용합니다.
: “vi /etc/network/interfaces” 대신 “nano /etc/network/interfaces” 사용
=> Ctrl+O: 파일 저장, Ctrl+X: 편집기 종료
- 언급하였던 http://bit.ly/openstack-newton-manual-steps 및
https://docs.openstack.org/newton/ko_KR/install-guide-ubuntu/ 문서를
참고하여 설치 과정을 자세히 확인할 수 있습니다.
- 다른 배포판 (CentOS, SUSE) 설치시, 배포판 특성에 따른 차이는 있으나,
전체적인 설치 과정은 동일합니다.
[공개소프트웨어 오픈스택 입문 & 파헤치기]
오픈스택 사용하기 - Horizon 대시보드
신호철 & 최영락, 오픈스택 한국 커뮤니티 3기 운영진
Ocata / Pike
Agenda
• Horizon 대시보드란
• Horizon 대시보드 사용해보기
• 네트워크 생성
• 이미지 생성
• flavor 생성
• 인스턴스 생성
• 블록 스토리지 생성
• ssh 접속과 볼륨 연결 확인
Horizon 대시보드란
• 웹 대시보드를 통해 OpenStack 자원을 관리하는 프로젝트
• Python Django + Angular JS로 구현됨
Horizon 대시보드 변천사
(Essex)
Horizon 대시보드 변천사
(Havana)
Horizon 대시보드 변천사
(Queens)
Horizon 대시보드 사용해보기 – 주요 용어
• 사용자 (User)와 프로젝트 (Projects)
➢ 한 사용자는 여러 프로젝트에 속할 수 있습니다.
• 인스턴스 (Instance)
➢ OpenStack에서는 설치 환경 내에서 가상 머신이 실행 중인 대상을 이야기합니다.
• 인스턴스 유형 (Instance Type)
➢ OpenStack은 VirtualBox와 달리, 미리 인스턴스 유형을 지정하고 (CPU, 램, 디스크
용량 등), 해당 인스턴스 유형을 사용하도록 되어 있습니다.
• OpenStack에 있는 2가지 유형의 IP 주소
➢ Fixed IP: 인스턴스가 생성된 이후 종료될 때까지 변하지 않는 IP 주소 (관리용)
➢ Floating IP: 서비스를 위해 필요에 따라 인스턴스에 연결/해제하는 IP 주소 (서비스용)
Horizon 대시보드 사용해보기 – 네트워크 유형
• 프로바이더 네트워크
➢ 사용하는 환경 내에서
주어지는 라우터 등 네트워크
인프라를 사용하는 경우
➢ 다른 네트워크 장비와 같이
서비스를 구성하는 경우 보통
사용
• 셀프 서비스 네트워크
➢ OpenStack Neutron에서 가상
네트워크 라우터 등을 통해
네트워크를 연계하여 사용
Horizon 대시보드 사용해보기 – 살펴볼 과정
1. 외부 네트워크 생성: 물리 네트워크 인프라와 연계
2. 내부 네트워크 생성: 인스턴스가 사용할 가상 네트워크
3. 이미지 생성: 사용할 인스턴스 이미지 직접 등록
4. Flavor 생성: 인스턴스 유형을 미리 정하기
5. 인스턴스 생성: 1~4를 기반으로 인스턴스를 생성
6. 블록 스토리지 생성: 가상 디스크 추가 가능
7. ssh 접속과 볼륨 연결 확인: 인스턴스 접속
Internet
CPU 2개
램 4GB
네트워크
외부 네트워크 생성
provider 생성
1.관리자
2.네트워크
3.네트워크 생성
서브넷 생성
1.프로젝트
2.네트워크
3.서브넷 추가
네트워크
내부 네트워크 생성
demo 계정으로 접속
1.프로젝트
2.네트워크
3.네트워크 생성
4.라우터
5.라우터 생성
6.네트워크 토폴로지
이미지 올리기
순서
1. 관리자
2. 이미지
3. 이미지생성
4 이미지 이름
5. 이미지 설명
6. 이미지 소스 유형 파일 검색
7. 포맷
8. 이미지 생성
flavor
1. 관리자
2. Flavor
3. flavor 생성
인스턴스 생성
1. Compute
2. 인스턴스
3. 인스턴시작
4. 인스턴스 이름
5. 이미지 선택
6. flavoer 선택
7. 네트워크 선택
8. 보안그룹 선택
9. 키페어 생성
10. 인스턴스 시작
블록 스토리지 사용
1. Compute
2. 볼륨
3. 볼륨생성
4. 볼륨이름
5. 크기
6. 볼륨생성
ssh 접속과 볼륨 연결 확인
Cirros 접속 정보
USER ID : cirros
Password : cubswin:)
[공개소프트웨어 오픈스택 입문 & 파헤치기]
오픈스택 사용하기 - 명령어기반(CLI)
신호철 & 최영락, 오픈스택 한국 커뮤니티 3기 운영진
Ocata / Pike
Agenda
• OpenStack CLI 소개
• OpenStack CLI 활용하기
• 이미지 올리기
• 프로젝트 네트워크 생성
• 인스턴스 생성
• 블록 스토리지 사용
OpenStack CLI 소개
• CLI: Command-Line Interfaces
• OpenStack 각 구성 요소에 대한 API를 직접 호출하여 원하는 작업을 명령어로 수행
➢ 참고: OpenStack은 각 구성요소별로 API 제공
✓ Nova (Compute API): https://developer.openstack.org/api-ref/compute
✓ Neutron (Networking API): https://developer.openstack.org/api-ref/networking
✓ Keystone (Identity API): https://developer.openstack.org/api-ref/identity
✓ …
• 통합 CLI 툴 제작
➢ 이전에는 nova / neutron / keystone 등 따로 CLI 명령어를 사용해야 했음
➢ 현재 통합 클라이언트: openstackclient
(명령어: “openstack”)
OpenStack CLI 활용하기
• 참고 문서: 한글 OpenStack 설치 가이드
(URL: https://docs.openstack.org/ko_KR/install-guide )
• 데모는 Ocata 버전을 기준으로 하나, 차후 버전에서도 동일 방식으로 사용 가능
➢ 클라이언트 환경 스크립트
: https://docs.openstack.org/ocata/ko_KR/install-guide-ubuntu/keystone-openrc.html
(참고: DevStack 환경에서는 “source openrc [사용자명] [프로젝트명]”을 사용)
➢ 이미지 올리기
: https://docs.openstack.org/ocata/ko_KR/install-guide-ubuntu/glance-verify.html
➢ 인스턴스 생성 (네트워크, 볼륨 등 포함)
: https://docs.openstack.org/ocata/ko_KR/install-guide-ubuntu/launch-instance.html
이미지 올리기( glance service)
각종 OS 이미지 다운로드 URL : https://docs.openstack.org/image-guide/obtain-
images.html
이미지 업로드시 사용하는 CLI 명령어
openstack image create
옵션
--file cirros-0.3.5-x86_64-disk.img 파일 명을 지정
--disk-format qcow2 디스크 포맷 방식
--container-format bare 컨테이넛 포맷 방식
--public 모든 프로젝트가 공유가 할진거지 정의
디스크 포맷 방식에 종류 URL: https://docs.openstack.org/image-
guide/image-formats.html
4. 이미지 리스트 확인
프로젝트 네트워크 생성
1. 컨트롤러 노드에서 admin credential 을 소스로 하여 사용자 전용 CLI 명령에 대한 엑세스를 갖습니다.
2. 네트워크 생성
3. 네트워크 서브넷 생성
openstack subnet create --
network provider 
--allocation-pool
start=START_IP_ADDRESS,en
d=END_IP_ADDRESS 
--dns-nameserver
DNS_RESOLVER --gateway
PROVIDER_NETWORK_GATE
WAY 
--subnet-range
PROVIDER_NETWORK_CIDR
provider
프로젝트 네트워크 생성(self service)
1. 컨트롤러 노드에서 demo credential 을 소스로 하여 사용자 전용 CLI 명령에 대한 엑세스를 갖습니다.
2. 네트워크 생성
3. 네트워크에 서브넷 을 생성
openstack subnet create --network selfservice 
--dns-nameserver DNS_RESOLVER --gateway
SELFSERVICE_NETWORK_GATEWAY 
--subnet-range SELFSERVICE_NETWORK_CIDR
selfservice
프로젝트 네트워크 생성(self service)
라우터 생성
인스턴스 생성
가장 작은 디폴트 flavor는 인스턴스 당 512 MB 메모리를 소비합니
다.
4 GB보다 적은 메모리를 갖는 compute 노드 환경에서는, 인스턴스
당 64 MB만을 필요로 하는 m1.nano flavor로 생성할 것을 권장
테스트 목적으로 CirrOS 이미지를 해당 flavor로 사용합니다
flavor
인스턴스 생성
1. demo 프로젝트 credential을 소스로 사용
2. 키 패어를 생성하고 퍼블릭 키를 추가하세요:
ssh-keygen -q -N ""
openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey
3. 키 페어 추가 확인
openstack keypair list
키페어
인스턴스 생성
시큐리티 그룹 규칙 icmp ssh 룰 허용
인스턴스 생성
1.프로바이더 인스턴스 2. 셀프 서비스 네트워크 인스턴스
블록 스토리지
1. 볼륨을 인턴스에 연결
2. 볼륨 목록
3. SSH 상용하여 인스턴스에 엑세스 하고 /dev/vdb 블록 스토리지 장치에 대한 볼륨 검증 fdisk 명령어 사용
openstack server add volume INSTANCE_NAME VOLUME_NAME
openstack volume list
+--------------------------------------------+--------------+--------+------+-----------------------------------------------+
| ID | Display Name | Status | Size | Attached to |
+--------------------------------------------+--------------+--------+------+-----------------------------------------------+
| a1e8be72-a395-4a6f-8e07-856a57c39524 | volume1 | in-use | 1 | Attached to provider-instance on /dev/vdb |
+--------------------------------------------+--------------+--------+------+-----------------------------------------------+
블록 스토리지
[공개소프트웨어 오픈스택 입문 & 파헤치기]
오픈스택 공개 소프트웨어
- 오픈스택 Swift 소개 & 설치 -
오픈스택 한국 커뮤니티 3기 운영진
Ocata / Pike