Openstack初识

OpenStack


IaaS云栈,CloudOS; 


私有云
公有云
混合云


IaaS (OpenStack, CloudStack)、PaaS(Docker, Openshift)、SaaS
DBaaS、FWaaS


按需提供VM


Openstack的组件:
Compute: 代码名Nova,管理VM的整个生命周期,主要职责包括启动、调度VMs; 
Networking:代码名Netron(早期叫Quantum,独立之前为nova-netwroking);为Openstack提供NCaaS的功能;插件化设计,支持众多流行的网络管理插件;
Object Storage: 代码名swift;分布式存储,基于RESTful的API实现非结构化数据对象的存储及检索;
Block Storage:代码名为Cinder(早期由Nova提供,代码为nova-storate),为VMs提供持久的块存储能力;
Identity: 代码为Keystone;为Openstack中的所有服务提供了认证、授权以及端点编录目录;
Image: 代码名Glance,用于存储和检索磁盘映像文件;
Dashboard: 代码名为Horizon,WebGUI; 
Telemetry: 代码名为Ceilometer,用于实现监控和计量服务的实现;
Orachestration: 代码名为Heat,用于多组件联动;
Database:代码为Trove,提供DBaaS服务的实现;
Data processing:代码为sahara,用于在OpenStack中实现Hadoop的管理;




OpenStack安装配置:


Identity: 主要有两个功能
用户管理:认证和授权
认证方式有两种:
token
账号和密码
服务目录:所有可用服务的信息库,包含其API endpoint路径


几个核心术语:
User, Role, Tanent, Service, Endpoint, Token


epel6 icehouse 安装源:https://repos.fedorapeople.org/repos/openstack/openstack-icehouse/


管理工具:keystone-manager
客户端程序:keystone


Image Service:
代码名:Glance,用于在OpenStack中注册、发现及获取VM映像文件;
VM的映像文件存储于何处?
普通文件系统、对象存储系统(swift)、S3存储,以及HTTP服务上;




磁盘映像文件:
(1) 制作
Oz(KVM)
VMBuilder(KVM, XEN)
VeeWee(KVM)
imagefactory
(2) 获取别人制作模板
CirrOS
Ubuntu
Fedora
OpenSUSE
Rackspace云映像文件生成器


OpenStack中的磁盘映像文件要满足以下要求:
(1) 支持由Openstack获取其元数据信息;
(2) 支持对映像文件的大小进行调整;


推荐书籍:《奇点临近》,《乌合之众》


回顾:
Keystone: Identity Service
认证、授权和服务编录
认证方式:
token
credential: 账号密码
Glance:Image Service
存储、查询及获取
glance-registry


storage adapter:
FileSystem: /var/lib/glance/images
Swift


OpenStack:


Compute Service
代码为Nova


Supporting Service: 
AMQP: Advanced Messaging Queue Protocol
Apache Qpid(5672/tcp), RabbitMQ, ZeroMQ
Database


组件:
API:
nova-api, nova-api-metadata
Compute Core:
nova-compute, nova-scheduler, nova-conductor
Network for VMs:
nova-network, nova-dhcpagent
Console Interface:
nova-consoleauth, nova-novncproxy, nova-xvncporxy, nova-cert
Command line and other interfaces:
nova, nova-manage


Compute服务的角色:
管理角色
hypervisor


安装qpid:
# yum install qpid-cpp-server


编辑配置文件,设置"auth=no"


# service qpidd start


注意:配置compute节点时,额外需要在[DEFAULT]配置段设定的参数:

vif_plugging_timeout=10
vif_plugging_is_fatal=false




Network Service:
代码为:Neutron,早期叫Quantum


有两种配置机制:
legacy network
Neutron
Neutron Server:controller
Network Node: 
Compute Nodes: Computes


功能:
OVS, l3(netns), dhcpagent, NAT, LBaaS, FWaaS, IPSec VPN
Networking API
network, subnet, port


Network: 隔离的2层网络,类似于VLAN;
Subnet: 有着关联配置状态的3层网络,或者说是由Ipv4或ipv6定义的地址块形成的网络;
Port: 将主机连入网络设备的连接接口;


插件:
plug-in agent: netutron-*-agent
dhcp agent
l3 agent
l2 agent


OpenStack中物理网络连接架构:
管理网络(management network):
数据网络(data network):
外部网络(external network):
API网络


Tenant network: tenant内部使用的网络;
Flat: 所有VMs在同一个网络中,不支持VLAN及其它网络隔离机制;
Local: 所有的VMs位于本地Compute节点,且与external网络隔离;
VLAN:通过使用VLAN的IDs创建多个providers或tenant网络;
VxLAN和GRE:
provider network: 不专属于某tenant,为各tenant提供通信承载的网络;


DashBoard: 
Python Django 
Web Framework


注意事项:
1、Neutron的配置文件中要把auth_uri换成identity_uri; 
2、各配置文件属组应该为相应的服务的运行者用户身份,否则其将无法访问导致服务启动失败;


Block Storage Service
代码名:Cinder


组件:
cinder-api
cinder-volume
cinder-scheduler


部署工具:
fuel: mirantis
devstack

你可能感兴趣的:(Linux运维之道,openstack)