20150818 jun lee_openstack kilo release 내용 분석

33
OpenStack Kilo Release 내용 분석 (Network 중심으로) 2015. 08. 18 ㈜파이오링크 SDN개발실 이준 ([email protected])

Upload: rootfs32

Post on 16-Apr-2017

981 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: 20150818 jun lee_openstack kilo release 내용 분석

OpenStack Kilo Release 내용 분석 (Network 중심으로)

2015. 08. 18

㈜파이오링크

SDN개발실 이준 ([email protected])

Page 2: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

Contents

Overview of OpenStack Kilo

OpenStack Kilo Release Notes

OpenStack Kilo: DVR supports VLANs

OpenStack Kilo: ML2 Hierarchical Port Binding

OpenStack Kilo: Port Security Support for the OVS ML2 Driver

OpenStack Kilo: IPv6 Improvements

OpenStack Kilo: VLAN Trunking Networks for NFV

OpenStack Kilo: Ironic

References

2

Page 3: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

Overview of OpenStack Kilo

3

Page 4: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

Overview of OpenStack Kilo

OpenStack !?

- 오픈소스 기반의 클라우드 플랫폼

- 6개월 주기로 차세대 버전을 공개 중

OpenStack Kilo !?

- OpenStack 의 11번째 공식 Release Version

4

Page 5: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

Overview of OpenStack Kilo

OpenStack Kilo 의 Release Naming

- OpenStack 각 버전의 Release Naming 규칙은 “알파벳 + 지명”으로 구성

- 알파벳은 해당 버전이 몇 번째로 출시된 것인지를 나타냄 (e.g. A: 1st Release, B: 2nd Release, K: 11th Release)

- 지명은 OpenStack Summit 개최되는 곳과 가까운 도시나 지역, 거리 등의 지명들을 후보로 받아 투표로 결정

5

Release Name Description

Austin Austin, Texas / The first design summit took place in Austin

Bexar San Antonio, Texas / San Antonio is located in Bexar country

Cactus Cactus is a city in Texas

Diablo Santa Clara, California / Diablo is a city in the bay area near Santa Clara

Essex Boston, Massachusetts / Essex is a city near Boston

Folsom San Francisco, California / Folsom is a city near San Francisco

Grizzly San Diego, California / Grizzly is an element of the state flag of California

Havana Portland, Oregon / Havana is an unincorporated community in Oregon

Icehouse Hong Kong/ Ice House is a street Hong Kong

Juno Atlanta, Georgia / Juno is a locality in Georgia

Page 6: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

Overview of OpenStack Kilo

OpenStack Kilo 의 Release Naming

6

Release Name Description

Kilo Paris, France / Paris (Sevres, actually, but that’s close enough) is home to Kilogram, the only remaining SI unit tied to artifact

Liberty Vancouver, British Columbia / Liberty is a village in the Canadian province of Saskatchewan

Mitaka Tokyo, Japan / Mitaka is a city located in Tokyo Metropolis, Japan

N* Austin, Texas

O* Barcelona, Spain

- 프랑스 파리에서 개최되는 OpenStack Summit 에 맞춰 K 로 시작하는 열한 번째 버전에 대한 이름 공모

- 그 결과 ‘킬로 (Kilo)’ 가 선정 됨 / 단위를 표현하는 킬로그램의 킬로 (Kilo) 를 의미 함

- 1 킬로그램은 킬로그램 국제 원기 (IPK) 의 무게와 같음

- 이 킬로그램 국제 원기는 백금과 이리듐의 합금으로 만들어져 있으며, 프랑스의 세브르 (Sevres)에 있는 국제도량

형총국에 보관되어 있음

- 위처럼 킬로 (Kilo) 는 세브르 에서 탄생 했지만 파리와 가깝기 때문에 OpenStack 의 이름으로 선정 되었음

Page 7: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

Overview of OpenStack Kilo

OpenStack Kilo Release Stats

7

Contributor Growth

1,494 contributors affiliated with 169 organizations contributed to Kilo

(http://activity.openstack.org)

Total Number of Features

394 new features in the Kilo integrated release and common libraries

(http://status.openstack.org/release)

Bugs Fixed 7,257 bugs fixed during the Kilo release cycle

(http://activity.openstack.org)

Top Companies Committing Code

Red Hat, HP, IBM, Mirantis, Rackspace, OpenStack Foundation, Yahoo,

NEC, Huawei and SUSE

(http://activity .openstack.org)

Translations 792,200 strings translated (transifex.com)

Drivers & Plugins

113 drivers and plugins supported across the compute, storage and networking

capabilities

(https://www.openstack.org/marketplace/drivers/)

Page 8: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

Overview of OpenStack Kilo

OpenStack Kilo Key Themes

8

Tightly Defined Core

Stability, Scale across core compute, storage and networking services

Defined common foundation for OpenStack Clouds

Interoperability Rigorous testing standards to ensure consistency across plugin options

Identity federation enables hybrid and multi-cloud use cases

Beyond Virtual Machines

Ironic delivers next generation of bare metal provisioning

Solid Platform to support existing workloads, and adopt emerging technologies like

containers, PaaS and NFV

Page 9: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

Overview of OpenStack Kilo

OpenStack Releases

9

Release Name Release Date Included Components

Austin Oct 12, 2010 Nova, Swift

Bexar Feb 3, 2011 Nova, Glance, Swift

Cactus Apr 15, 2011 Nova, Glance, Swift

Diablo Sep 22, 2011 Nova, Glance, Swift

Essex Apr 5, 2012 Nova, Glance, Swift, Horizon, Keystone

Folsom Sep 7, 2012 Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder

Grizzly Apr 4, 2013 Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder

Havana Oct 17, 2013 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer

Icehouse Apr 17, 2014 All above, Trove

Juno Oct 16, 2014 All above, Sahara

Kilo Apr 30, 2015 All above, Ironic

Liberty Oct 15, 2015 (Under Discussion)

OpenStack Kilo 는 Juno 버전을 기준으로 하위 프로젝트 들의 기능 개선 및 버그 수정을 진행 하였음

OpenStack Kilo 버전의 가장 큰 특징은 Ironic 프로젝트의 추가

Page 10: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

OpenStack Kilo Release Notes

10

Page 11: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

OpenStack Kilo Release Notes

Key Features of Neutron

- Subnet allocation feature allows creating subnets from a pre-defined pool of addresses instead of providing explicit

addresses.

• Support in python-neutron-client

• API documentation work is underway.

• Horizon support is tracked with neutron-subnet-allocation blueprint.

- DVR now supports VLANs in addition to VXLAN/GRE

- ML2 Hierarchical Port Binding

- New LBaaS Version 2 API (experimental)

- Port Security support for the OVS ML2 Driver

- Multiple Prefixes for IPv6 (tenant guest interfaces can now get multiple IPv6 addresses)

- IPv6 Router (allows guests to get global IPv6 addresses and talk to the world, without NAT)

- API extension for MTU Selection and Advertisement

- API extension to check for support of VLAN trunking networks for NFV

- New Plugins supported in Kilo include the following:

• A10 Networks LBaaS V2 Driver, Brocade LBaaS V2 Driver, Brocade ML2 driver for MLX and ICX switches, Brocade L3

routing plugin for MLX switch, Brocade Vyatta vRouter L3 Plugin, Brocade Vyatta vRouter Firewall Driver, Brocade

Vyatta vRouter VPN Driver, Cisco CSR VPNaaS Driver, Dragonflow SDN based Distributed Virtual Router L3 Plugin,

Freescale FWaaS Driver, Intel Mcafee NGFW FWaaS Driver, IPSEC Strongswan VPNaaS Driver

11

Page 12: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

OpenStack Kilo: DVR supports VLANs

12

Page 13: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

OpenStack Kilo: DVR Supports VLANs

DVR Supports VLANs

13

qrouter qrouter

Compute Node #01

VM

br-int

br-tun

Compute Node #02

VM

br-int

br-tun

(10.0.0.10) (20.0.0.20)

Juno 버전에서는 위 그림과 같이 DVR 구성 후 , East-West Routing 을 수행 할 경우 Tenant Network 를 반드시

VXLAN/NVGRE 중 하나만을 선택해야 했음 (VLAN 지원하지 않음)

Kilo 버전부터 Tenant Network 를 VLAN 설정 가능 하도록 기능 개선

(VLAN/VXLAN/NVGRE)

Page 14: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

OpenStack Kilo: ML2 Hierarchical Port Binding

14

Page 15: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

OpenStack Kilo: ML2 Hierarchical Port Binding

기존 ML2 Plugin 의 문제점

15

Compute Node Compute Node

ToR Switch

Core Switch

Compute Node Compute Node

ToR Switch

OVS OVS OVS OVS

VM VM VM VM VM VM VM VM

VXLAN VXLAN

VLAN VLAN VLAN VLAN

위 그림은 서로 다른 Type (VLAN, VXLAN, GRE )의 Network Segment 로 구성된 Hierarchical Network 를 의미 함

Core Switch 와 ToR Switch 는 VXLAN Segment, ToR Switch 와 Compute Node 는 VLAN Segment 도 구성

기존 ML2 Plugin 의 경우 위와 같은 Hierarchical Network 설정을 지원하지 않음

Kilo 버전 에서 위와 같은 Hierarchical Network 를 구성할 수 있도록 ML2 Hierarchical Port Binding 기능 추가

Page 16: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

OpenStack Kilo: ML2 Hierarchical Port Binding

ML2 Hierarchical Port Binding

16

Compute Node Compute Node

ToR Switch

Core Switch

Compute Node Compute Node

ToR Switch

OVS OVS OVS OVS

VM VM VM VM VM VM VM VM

VXLAN VXLAN

VLAN VLAN VLAN VLAN

Hierarchical Port Binding: Neutron 의 Port 가 Multiple Network Segment 와 Binding 가능하도록 하는 기능

Hierarchical Port Binding 기능을 통해 Tenant Network 를 다양한 Network Segment 조합으로 구성 가능 함

위와 같은 환경으로 구성할 경우 CPU 소모가 큰 VXLAN Encap/Decap 을 HW 에서 처리할 수 있음

OVS Mechanism Driver

HW-SW Mechanism Driver

Page 17: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

OpenStack Kilo: Port Security Support for the OVS ML2 Driver

17

Page 18: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

OpenStack Kilo: Port Security Support for the OVS ML2 Driver

Port Security Support for the OVS ML2 Driver

- OpenStack 의 VM 에 Network Function 이 실행 될 경우를 위한 개선 사항 (NFV 환경을 고려한 변화)

- OpenStack Neutron 에는 보안을 위한 Security Group 기능을 제공하고 있음

- Security Group 기능이란 특정 ip-rule 을 Neutron Port 에 적용하여 트래픽을 차단하는 기능

- OpenStack 의 Security Group 에는 ip spoofing 공격을 차단하기 위해, Neutron Port 에 속하지 않는 MAC, IP 주소

를 갖는 트래픽이 흐를 경우 이를 차단하는 Rule 이 Default 값으로 설정되어 있음

- OpenStack Juno 버전까지는 Security Group 적용을 전체 시스템 단위로 만 On/Off 할 수 있었음

- OpenStack Kilo 버전 부터는 Security Group 을 Neutron Port 단위로 On/Off 가능하도록 변경 됨

18

Page 19: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

OpenStack Kilo: Port Security Support for the OVS ML2 Driver

OpenStack Juno 버전에서 NFV 환경 구성

19

Compute Node

VM #01 VM #02 VM #03 VM #04

Host #01 Host #02 Router #01 Router #02

192.168.0.1/24 192.168.0.254/24 10.0.0.1/30 10.0.0.2/30 172.16.0.254/24 172.16.0.1/24

Security-Group on Security-Group off

X

위 그림은 OpenStack Juno 버전을 사용하여 NFV 환경을 구현 한 것을 의미 함

Router 기능 (Network Function) 이 VM 에 구현되어 있음

VM #01 (Host 1) 에서 VM #04 (Host 2) 로 패킷 전달 시 (e.g. Ping 172.16.0.1 at Host #01)

VM #01 에서 출발 한 패킷이 VM #02 로 전달될 경우, VM #02 의 Neutron port 에는 192.168.0.1 에 대한 정보가 없기

때문에 Security-Group 에 의해 패킷 전달이 차단 됨

Page 20: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

OpenStack Kilo: Port Security Support for the OVS ML2 Driver

OpenStack Juno 버전에서 NFV 환경 구성

20

Compute Node

VM #01 VM #02 VM #03 VM #04

Host #01 Host #02 Router #01 Router #02

192.168.0.1/24 192.168.0.254/24 10.0.0.1/30 10.0.0.2/30 172.16.0.254/24 172.16.0.1/24

Security-Group on Security-Group off

위 그림은 OpenStack Juno 버전을 사용하여 NFV 환경을 구현 한 것을 의미 함

Security-Group 기능을 비활성화 할 경우 VM #01 에서 VM #04 까지 패킷 전달이 가능 함

하지만 Security-Group 기능이 비활성화 되어 있기 때문에 VM #01, VM #04 가 IP Spoofing 공격에 취약함

Page 21: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

OpenStack Kilo: Port Security Support for the OVS ML2 Driver

OpenStack Kilo 버전에서 NFV 환경 구성

21

Compute Node

VM #01 VM #02 VM #03 VM #04

Host #01 Host #02 Router #01 Router #02

192.168.0.1/24 192.168.0.254/24 10.0.0.1/30 10.0.0.2/30 172.16.0.254/24 172.16.0.1/24

위 그림은 OpenStack Kilo 버전을 사용하여 NFV 환경을 구현 한 것을 의미 함

Security-Group 을 선별적으로 비활성화 가능

VM #01에서 VM #04 까지 패킷 전달 가능

VM #01, VM #04 에 Security-Group 이 적용되어 있기 때문에 IP Spoofing 공격으로 부터 보호 가능

Security-Group on Security-Group off

Page 22: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

OpenStack Kilo: IPv6 Improvements

22

Page 23: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

OpenStack Kilo: IPv6 Improvements

IPv6 관련 개선 사항

- Multiple Prefixes for IPv6

• OpenStack Juno 버전부터 IPv6 Network 설정 가능

• OpenStack Kilo 버전부터 IPv6 Network 생성 시, 해당 Network 에 Multiple Subnet 연결 가능

• Subnet 은 SLAAC (Stateless Address Auto Configuration), DHCPv6 Stateless 중 선택 가능하며 생성된

Subnet 으로 부터 Neutron Port 에 IP 할당 됨

- IPv6 Router

• OpenStack 의 VM 에 GUA (Global Unicast Address) 가 할당될 경우 Virtual Router 를 통해 East-West

Routing, North-South Routing 이 지원 가능 함

23

Page 24: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

OpenStack Kilo: VLAN Trunking Networks for NFV

24

Page 25: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

OpenStack Kilo: VLAN Trunking Networks for NFV

Tenant Network 로 VLAN Transparent Network 지원

- NFV 환경을 고려한 요구사항: (Requirement of NFV VMs that they talk over many separate L2 channels)

- Kilo 이전 버전의 OpenStack 의 경우 Tenant Network 로 Tagged Packet 이 전달되지 않았음

- Kilo 버전 부터는 Tenant Network 에 Tagged Packet 을 전달 할 수 있는 VLAN Transparent Network 구성이 가능

해졌으며, Neutron REST API 를 통해 제어 가능 (VLAN Transparent Network 설정, 조회, 해제 등)

- VLAN Tagging 을 통해 하나의 링크로 모두 다 통신 가능 (Flexibility 를 제공)

• VLAN 의 수가 증가하더라도, Neutron-Port 수는 고정

25

Compute Node

VM #01 VM #02

Compute Node

VM #03 VM #04

vlan 10 vlan 20 vlan 10 vlan 20

Packet Packet

Page 26: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

OpenStack Ironic

26

Page 27: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

OpenStack Ironic

OpenStack Ironic

- OpenStack Bare Metal Provisioning Service

- Kilo 버전 부터 포함된 OpenStack 의 신규 프로젝트

- 가상 머신(VM) 이 아닌 물리적 HW 자원에 직접 접근할 수 있게 해주는 Provisioning 기술

- Ironic 을 통해 Physical Server 를 마치 가상 머신 처럼 손쉽게 Provisioning 이 가능 함

- 아래 그림은 OpenStack Nova 와 OpenStack Ironic 의 Concept 을 의미 함

27

OpenStack Nova OpenStack Ironic

Nova

Hypervisor

VM VM VM

Nova

Ironic

Baremetal Baremetal Baremetal

Request VM

Deploy

Request Baremetal

Deploy

Page 28: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

OpenStack Ironic

Logical Architecture (VM Provisioning)

28

Logical Architecture (Baremetal Provisioning)

Baremetal Provisioning 을 위해 추가 됨

Page 29: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

OpenStack Ironic

Bare Metal Provision 을 위한 핵심 기술

- PXE (Pre-boot eXecution Environment): Network Interface 를 이용해 컴퓨터를 부팅할 수 있게 해주는 환경

- NBP (Network Bootstrap Program): GRUB, LILO 와 같은 부트로더, 네트워크 부팅 시 사용, OS Kernel 을 Memory

에 적재 함

- IPMI (Intelligent Platform Management Interface): 서버를 위한 관리 인터페이스로 원격지나 로컬서버의 상태를 파

악하고 제어할 수 있는 기능을 제공

- DHCP (Dynamic Host Configuration Protocol): 호스트 IP 구성 관리를 단순화하는 IP 표준

- TFTP (Trival File Transfer Protocol): FTP 와 비슷한 파일전송 프로토콜, 매우 간단하기 때문에 부트로더와 같은 작

은 크기의 프로그램에서 수행 가능, 네트워크 부팅 시 주로 사용

- iSCSI (Internet Small Computer System Interface): 컴퓨팅 환경에서 데이터 스토리지 시설을 이어주는 IP 기반의

스토리지 네트워킹 표준

29

Page 30: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

OpenStack Ironic

PXE Deploy Process

30

Page 31: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

References

31

Page 32: 20150818 jun lee_openstack kilo release 내용 분석

© PIOLINK, Inc. SDN No.1

References

What’s new OpenStack kilo

https://wiki.openstack.org/wiki/Release_Naming

https://wiki.openstack.org/wiki/ReleaseNotes/Kilo

http://specs.openstack.org/openstack/neutron-specs/specs/juno/neutron-ovs-dvr.html

https://specs.openstack.org/openstack/neutron-specs/specs/kilo/ml2-hierarchical-port-binding.html

http://specs.openstack.org/openstack/neutron-specs/specs/kilo/ml2-ovs-portsecurity.html

http://specs.openstack.org/openstack/neutron-specs/specs/kilo/multiple-ipv6-prefixes.html

https://wiki.openstack.org/wiki/Neutron/IPv6

http://specs.openstack.org/openstack/neutron-specs/specs/kilo/nfv-vlan-trunks.html

https://redhatstackblog.redhat.com/2015/05/11/whats-coming-in-openstack-networking-for-the-kilo-release/

32

Page 33: 20150818 jun lee_openstack kilo release 내용 분석

감사합니다. ㈜파이오링크

서울시 금천구 가산디지털2로 98

(가산동 550-1) IT캐슬 1동 401호

TEL: 02-2025-6900

FAX: 02-2025-6901

www.PIOLINK.com

33