openstack 101

22
OpenStack 101 朱荣泽 2013.10.20

Upload: zhu-rongze

Post on 29-Nov-2014

1.437 views

Category:

Technology


5 download

DESCRIPTION

OpenStack overview

TRANSCRIPT

Page 1: OpenStack 101

OpenStack 101 朱荣泽

2013.10.20

Page 2: OpenStack 101

Contents

1.  OpenStack简介 � 2.  OpenStack架构 � 3.  OpenStack部署 � 

Page 3: OpenStack 101

Contents

1.  OpenStack简介 � 2.  OpenStack架构 � 3.  OpenStack部署 � 

�  价值 � �  生态圈 � �  成功的原因 � 

Page 4: OpenStack 101

1. � OpenStack简介 � > � 价值 � 开源云平台 � •  用于创建私有云和公有云的开源软件 � 

-  扩展性 � -  弹性 � -  多租户 � 

•  资源管理 � –  计算资源 � –  网络资源 � –  存储资源 � 

•  按需分配 � 

Page 5: OpenStack 101

1. � OpenStack简介 � > � 生态圈 � 

云平台的Linux � 

Top 3 网络设备厂商

Top 3 Linux厂商

Top 3 存储厂商

公有云厂商

Top 3 虚拟化厂商

Top 3 服务器厂商

私有云

Page 6: OpenStack 101

1. � OpenStack简介 � > � 成功的原因 � 

1.  OpenStack � Community � and �  � Foundation �  � 2.  OpenStack � Infrastructure � Team � –  Massive � Effort � -> � Improved � Quality � –  Gated � Commits � –  Code � Reviews � & � Continuous � –  Integration � 

3.  Oslo � project(openstack-common) � 

Page 7: OpenStack 101

Contents

1.  OpenStack简介 � 2.  OpenStack架构 � 3.  OpenStack部署 � 

�  核心组件 � �  逻辑架构 � �  工作流 � �  RESTful/RPC/Plugin � �  组件分析 � 

Page 8: OpenStack 101

2. � OpenStack架构 � > � 核心组件 � 

OpenStack服务 对应的AWS服务

虚拟机 Nova EC2

虚拟块存储 Cinder EBS

虚拟网络 Neutron VPC

对象存储 Swift S3

权限认证 Keystone

镜像管理 Glance VM Import/Export

控制面板 Horizon Console

Page 9: OpenStack 101

2. � OpenStack架构 � > � 逻辑架构 � 

Page 10: OpenStack 101

2. � OpenStack架构 � > � 工作流 � 

Page 11: OpenStack 101

2. � OpenStack架构 � > � RESTful/RPC/Plugin � 

•  OpenStack � public � API � is � a � RESTful � API � –  REST  stands  for  Representatinal  State  Transfer  –  REST  is  a  stateless  client/server  protocol  with  a  uniform  interface  

for  accessing  the  object  model  –  OpenStack  RESTful  API  is  implemented  using  HTTP  GET/PUT/POST/DELETE  in  

combination  with  JSON  for  data  

•  RPC(message � queue) � •  Plugin � 

Page 12: OpenStack 101

OpenStack �  � Identity � Service � 

2. � OpenStack架构 � > � 组件分析 � > � Keystone � 

OpenStack � Service � 

Keystone � API � 

Token � Backend � 

Catalog � Backend � 

Policy � Backend � 

Identity � Backend � 

DB,KVS, � memcache � 

KVS,SQL, � templated � 

ACLs,rules, � Custom � 

KVS,PAM,SQL,LDAP � 

REST

Data � Model �  � •  User:  has  account  credentials,  is  

associated  with  one  or  more  tenants  •  Tenant(Projects):  unit  of  ownership  in  

OpenStack,  contains  one  or  more  users  •  Role:  a  first-­‐class  piece  of  metadata  

associated  with  many  user-­‐tenant  pairs  •  Token:  identifying  credential  

associated  with  a  user  or  user  and  tenant  

•  Rule:  describes  a  set  of  requirements  for  performing  an  action  

Page 13: OpenStack 101

2. � OpenStack架构 � > � 组件分析 � > � Nova � nova-api � 

Queue � 

DB

nova-conductor � 

nova-scheduler � 

nova-computer � 

nova-computer � 

nova-computer � ….

KVM

VM

VM

XEN

VM

VM

VMWare

VM

VM

…. 算法 描述 行为

Chance �  选择一台正常节点 �  随机 � 

Simple �  选择一台虚拟机数量最少的几点 �  负载均衡 � 

Filter �  在所有满足过滤条件的节点中选择一台最适合的节点。 � Affinity/availability � zone/core/ram/json/io/computer � capabilities/image � properties � 

自定义的过滤条件 � 

Page 14: OpenStack 101

2. � OpenStack架构 � > � 组件分析 � > � Cinder � Ephemeral � Storage �  Block � Storage �  Object � Storage � 

用于 �  运行OS �  给虚拟机增加额外的持久存储 �  存储各种类型的文件 � 

访问方式 �  文件系统(Qemu支持的接口) �  块设备(比如 � /dev/sdc) �  REST � API � 

如何访问 �  VM �  VM �  anywhere � 

管理方式 �  OpenStack � Compute(Nova) �  OpenStack � Block � Storage(Cinder) �  OpenStack � Object � Storage(Swift) � 

数据持久性 �  VM被删除 �  volume被用户删除 �  对象被用户删除 � 

大小 �  由管理员配置flavors �  由用户指定 �  由管理员设置 � 

用例 �  10GB � root � disk, � 30GB � second � disk �  1TB � disk �  10GB网盘 � 

•  iSCSI � •  Fibre � Channel � •  SAN � •  EMC � VNX/VMAX � •  NetAPP � •  IBM � Storwize/XIV � •  HUAWEI � •  HP � 3PAR �  � 

•  NFS(volumes � as � sparse � files) � •  GlusterFS � •  Ceph � RBD � •  LVM � •  … � 

Page 15: OpenStack 101

2. � OpenStack架构 � > � 组件分析 � > � Neutron � 

•  Network � •  Subnet � •  Port � •  Router � 

Page 16: OpenStack 101

2. � OpenStack架构 � > � 组件分析 � > � Neutron � 

Plugins � •  Linux � Bridge � •  OpenVSwitch � •  Nicira � NVP � •  Cisco � •  Ryu � OpenFlow �  � controller � 

•  NEC � ProgrammableFlow � Controller � 

Page 17: OpenStack 101

2. � OpenStack架构 � > � 组件分析 � > � Glance � 

OpenStack � Image � Service � 

nova-compute � 

Glance API

Registry � Server � 

Store � Adapter � 

Glance � Database � 

Swift �  S3 �  Filesystem � 

REST

RBD �  Cinder � 

REST

Page 18: OpenStack 101

Contents

1.  OpenStack简介 � 2.  OpenStack架构 � 3.  OpenStack部署 � 

�  自动化部署 � �  HA � �  集群扩展 � 

Page 19: OpenStack 101

3. � OpenStack部署 � > � 自动化部署 � 

•  Devstack � •  Puppet � •  Chef � •  Packstack � •  Fuel � •  UnitedStack � OS � 

Page 20: OpenStack 101

3. � OpenStack部署 � > � HA � 

•  API � service � •  Compute � service � •  Scheduler � service � •  Message � queue � service � •  Database � service � 

client

Vip: 10.0.0.10

haproxy1

mysql1

rabbitmq1

keystone1

nova-api1

scheduler1

haproxy1

mysql1

rabbitmq1

keystone1

nova-api1

scheduler1

Keepalived � 

Controller1 Controller2

Page 21: OpenStack 101

3. � OpenStack部署 � > � 集群扩展 � 

•  Keystone � •  Glance � •  Message � queue � •  database � 

n Region � n Cell � n Availability � zone � n Host � aggregates �  � 

Page 22: OpenStack 101

THX