OpenStack入门介绍
虚拟化
虚拟化是一种具体的技术,指把实体资源虚拟化,按照对象可以分为计算机虚拟化,存储虚拟化,网络虚拟化等等,一个最大的好处就是提高硬件资源利用率
维基百科定义:在计算机技术中,虚拟化(技术)或虚拟技术(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等),予以抽象、转换后呈现出来并可供分割、组合为一个或多个电脑配置环境。由此,打破实体结构间的不可切割的障碍,使用户可以比原本的配置更好的方式来应用这些电脑硬件资源。这些资源的新虚拟部分是不受现有资源的架设方式,地域或物理配置所限制。一般所指的虚拟化资源包括计算能力和数据存储。
云计算
是一种业务模式,这一种业务模式的具体实现就是他会提供一个资源池,让使用者通过网络来根据它自身的业务需求来申请它需要的资源,满足它自身的计算要求
云计算三种类型
共有云
私有云
混合云
云计算业务模式
基础设施即服务
👇
平台即服务
👇
软件即服务
OpenStack
什么是OpenStack
可以管理整个数据中心的大量池(计算资源池,存储资源池,网络资源池)的云操作系统,管理员可以通过一个管理控制台来管理这些资源池
项目介绍
特点
OpenStack底层技术以及通用组件介绍
前景+
计算虚拟化
cpu特权级
x86
内核态与用户态
当程序运行在Ring3特权级上就叫用户态,反之运行在Ring0特权级别=就叫内核态
虚拟化管理程序
一种运作在基础物理服务器和操作系统之间的中间软件层,可以允许多个操作系统和应用共享硬件
hypervisor类型
半虚拟化
全虚拟化
libvirt
一套免费的,开源的支持Linux下的主流虚拟化管理程序的c函数库,其yi在KVM在内的各种虚拟化管理程序提供一套方便,可用的接口,像Linux平台默认的虚拟化管理工具virt-manager(图形化),virtsh(命令行模式)等等基本基于libvirt开发而成
网络虚拟化
osi七层模型
软件定义网络(SDN)
SDN定义
将网络的控制平面与数据转发平面进行分离,从而通过集中的控制器中的软件平台去实现可编程化控制底层硬件,实现对网络资源的灵活配置
SDN架构
-
应用层:包括各种不同的业务和应用
-
控制层:主要负责处理数据平面资源的编排,维护网络拓扑,状态信息
-
基础设施层:负责基于流表的数据处理,转发和状态收集
openvswitch
Open vSwitch(OVS)是运行在虚拟化平台上的虚拟交换机,其支持OpenFlow协议,也支持gre/vxlan/IPsec等隧道技术。在OVS之前,基于Linux的虚拟化平台比如KVM或Xen上,缺少一个功能丰富的虚拟交换机,因此OVS迅速崛起并开始在Xen/KVM中流行起来,并且应用于越来越多的开源项目,比如openstack neutron中的网络解决方案
概念
WSGI
官方定义是,the Python Web Server Gateway Interface。从名字就可以看出来,这东西是一个Gateway,也就是网关。网关的作用就是在协议之间进行转换
Paste Deployment -
Paste Deployment(简称PD)是一个WSGI工具包
-
基于PD的应用配置文件,内容被分为很多段,PD只关心带有前缀的段,比如【app:main】或者【filter:errors】
-
一个section的内容是以键=值来标识的#是一个注解