OpenStack之通用组件介绍

  • python相关
  1. 现在的OpenStack还是基于python2.7版本开发的( Juno版本已经不支持python2.6)
  2. OpenStack Liberty版本才开始支持python3
  3. 检查操作系统默认python版本的命令:
python -v
  1. pip是一个安装和管理python包的工具
    4.1 配置国内pip镜像源方法:
vi ~/.pip/pip.conf
[global]
index-url = http://pypi.douban.com/simple

4.2. 重用的pip命令:

pip install Package          #安装
pip show --file Package      #查看详细信息
pip uninstall Package        #卸载

4.3. 安装特定版本的package,通过使用==,>=,<=,>,<来指定一个版本号,例如:

pip install 'Markdown<2.0'
  • REST
  1. REST是一种架构风格,其核心是面向资源
  2. 基于http协议
  3. http协议里面,有4个表示操作方式的动作:GET、POST、PUT、 DELETE,其中GET是用来获取资源,POST是用来创建资源,PUT是用来更新或者创建资源,DELETE用来删除资源
  • WSGI
  1. WSGI的全称是Web Server Gateway Interface,这是一个规范,描述web server如何与web application交互、web application如何处理请求
  2. WSGI包含Server,Middleware,Application。WSGI server接受客户请求,传递给Middleware,Middleware根据相关配置路由给WSGI application处理
  • Paste Deployment
  1. Paste Deployment(简称PD)是一个WSGI工具包
  2. 基于PD的应用配置文件,内容被分为多个段(section),PD只关心带有前缀的段,比如[app:main]或者[filter:errors]
  3. 一个section的内容是以键=值来标示的。在段的定义中,有以下几类:
    3.1. [app:main] 定义WSGI应用,main标示只有一个应用,有多个应用的话main改为应用名字
    3.2. [server:main] 定义WSGI的一个server
    3.3. [composite:xxx] 标示需要将一个请求调度定向(dispatched)多多个应用上
    3.4. [filter:] 定义“过滤器”,将应用进一步封装
    3.5. [DEFAULT] 定义一些默认变量的值
  • MariaDB
  1. MariaDB是一个采用Maria存储引擎的MySQL分支版本
  2. MariaDB完全兼容MySQL,包括API和客户端协议
    3.OpenStack的核心项目Keystone,Cinder,Glance,Neutron,Nova等均使用到它来存放相关持久数据
  3. 常见操作
create database keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone';
GTANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone';
  • RabbitMQ
  1. Message Queue(MQ)定义是:
    MQ是消费者=生产者模型的一个典型代表,一端往消息队列中不断写入消息,而另一端可以读取或者订阅队列中到的消息
  2. RabbitMQ是一个由erlang开发的基于AMQP协议(Advanced Message Queue Protocol)的开源实现。通常用于应用程序之间或者程序不同组件之间通过消息来进行集成。主要名词解释:
    交换器(Exchange),它是发送消息的实体
    队列(Queue),它是接受消息的实体
    绑定器(Bind),将交换器和队列连接起来,并且封装消息的路由消息
  3. OpenStack中模块Cinder、Neutron、Nova等项目的内部组件之间的通信是通过AMQP协议实现,消息由RabbitMQ作为中间件转发

你可能感兴趣的:(OpenStack之通用组件介绍)